package io.netty.handler.codec.stomp;

import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.AsciiHeadersEncoder;
import io.netty.handler.codec.MessageToMessageEncoder;
import io.netty.util.CharsetUtil;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

/* JADX INFO: loaded from: classes.dex */
public class StompSubframeEncoder extends MessageToMessageEncoder<StompSubframe> {
    private static ByteBuf encodeContent(StompContentSubframe stompContentSubframe, ChannelHandlerContext channelHandlerContext) {
        if (!(stompContentSubframe instanceof LastStompContentSubframe)) {
            return stompContentSubframe.content().retain();
        }
        ByteBuf byteBufBuffer = channelHandlerContext.alloc().buffer(stompContentSubframe.content().readableBytes() + 1);
        byteBufBuffer.writeBytes(stompContentSubframe.content());
        byteBufBuffer.writeByte(0);
        return byteBufBuffer;
    }

    private static ByteBuf encodeFrame(StompHeadersSubframe stompHeadersSubframe, ChannelHandlerContext channelHandlerContext) {
        ByteBuf byteBufBuffer = channelHandlerContext.alloc().buffer();
        byteBufBuffer.writeCharSequence(stompHeadersSubframe.command().toString(), CharsetUtil.US_ASCII);
        byteBufBuffer.writeByte(10);
        AsciiHeadersEncoder asciiHeadersEncoder = new AsciiHeadersEncoder(byteBufBuffer, AsciiHeadersEncoder.SeparatorType.COLON, AsciiHeadersEncoder.NewlineType.LF);
        Iterator<Map.Entry<CharSequence, CharSequence>> it = stompHeadersSubframe.headers().iterator();
        while (it.hasNext()) {
            asciiHeadersEncoder.encode(it.next());
        }
        byteBufBuffer.writeByte(10);
        return byteBufBuffer;
    }

    /* JADX INFO: renamed from: encode, reason: avoid collision after fix types in other method */
    public void encode2(ChannelHandlerContext channelHandlerContext, StompSubframe stompSubframe, List<Object> list) {
        ByteBuf byteBufEncodeFrame;
        StompContentSubframe stompContentSubframe;
        if (stompSubframe instanceof StompFrame) {
            StompFrame stompFrame = (StompFrame) stompSubframe;
            list.add(encodeFrame(stompFrame, channelHandlerContext));
            stompContentSubframe = stompFrame;
        } else if (stompSubframe instanceof StompHeadersSubframe) {
            byteBufEncodeFrame = encodeFrame((StompHeadersSubframe) stompSubframe, channelHandlerContext);
            list.add(byteBufEncodeFrame);
        } else if (!(stompSubframe instanceof StompContentSubframe)) {
            return;
        } else {
            stompContentSubframe = (StompContentSubframe) stompSubframe;
        }
        byteBufEncodeFrame = encodeContent(stompContentSubframe, channelHandlerContext);
        list.add(byteBufEncodeFrame);
    }

    @Override // io.netty.handler.codec.MessageToMessageEncoder
    public /* bridge */ /* synthetic */ void encode(ChannelHandlerContext channelHandlerContext, StompSubframe stompSubframe, List list) {
        encode2(channelHandlerContext, stompSubframe, (List<Object>) list);
    }
}
