package io.netty.handler.codec.sctp;

import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.sctp.SctpMessage;
import io.netty.handler.codec.MessageToMessageDecoder;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

/* JADX INFO: loaded from: classes.dex */
public class SctpMessageCompletionHandler extends MessageToMessageDecoder<SctpMessage> {
    private final Map<Integer, ByteBuf> fragments = new HashMap();

    /* JADX INFO: renamed from: decode, reason: avoid collision after fix types in other method */
    public void decode2(ChannelHandlerContext channelHandlerContext, SctpMessage sctpMessage, List<Object> list) {
        ByteBuf byteBufContent = sctpMessage.content();
        int iProtocolIdentifier = sctpMessage.protocolIdentifier();
        int iStreamIdentifier = sctpMessage.streamIdentifier();
        boolean zIsComplete = sctpMessage.isComplete();
        boolean zIsUnordered = sctpMessage.isUnordered();
        ByteBuf byteBufRemove = this.fragments.remove(Integer.valueOf(iStreamIdentifier));
        if (byteBufRemove == null) {
            byteBufRemove = Unpooled.EMPTY_BUFFER;
        }
        if (zIsComplete && !byteBufRemove.isReadable()) {
            list.add(sctpMessage);
        } else if (!zIsComplete && byteBufRemove.isReadable()) {
            this.fragments.put(Integer.valueOf(iStreamIdentifier), Unpooled.wrappedBuffer(byteBufRemove, byteBufContent));
        } else if (zIsComplete && byteBufRemove.isReadable()) {
            list.add(new SctpMessage(iProtocolIdentifier, iStreamIdentifier, zIsUnordered, Unpooled.wrappedBuffer(byteBufRemove, byteBufContent)));
        } else {
            this.fragments.put(Integer.valueOf(iStreamIdentifier), byteBufContent);
        }
        byteBufContent.retain();
    }

    @Override // io.netty.handler.codec.MessageToMessageDecoder
    public /* bridge */ /* synthetic */ void decode(ChannelHandlerContext channelHandlerContext, SctpMessage sctpMessage, List list) {
        decode2(channelHandlerContext, sctpMessage, (List<Object>) list);
    }

    @Override // io.netty.channel.ChannelHandlerAdapter, io.netty.channel.ChannelHandler
    public void handlerRemoved(ChannelHandlerContext channelHandlerContext) {
        Iterator<ByteBuf> it = this.fragments.values().iterator();
        while (it.hasNext()) {
            it.next().release();
        }
        this.fragments.clear();
        super.handlerRemoved(channelHandlerContext);
    }
}
