package io.netty.handler.codec.spdy;

import io.netty.buffer.ByteBuf;
import io.netty.buffer.ByteBufAllocator;
import io.netty.handler.codec.dns.DnsRecord;
import java.nio.ByteOrder;
import java.util.Objects;
import java.util.Set;
import no.nordicsemi.android.dfu.DfuBaseService;

/* JADX INFO: loaded from: classes.dex */
public class SpdyFrameEncoder {
    private final int version;

    public SpdyFrameEncoder(SpdyVersion spdyVersion) {
        Objects.requireNonNull(spdyVersion, "spdyVersion");
        this.version = spdyVersion.getVersion();
    }

    private void writeControlFrameHeader(ByteBuf byteBuf, int i2, byte b2, int i3) {
        byteBuf.writeShort(this.version | DfuBaseService.ERROR_CONNECTION_STATE_MASK);
        byteBuf.writeShort(i2);
        byteBuf.writeByte(b2);
        byteBuf.writeMedium(i3);
    }

    public ByteBuf encodeDataFrame(ByteBufAllocator byteBufAllocator, int i2, boolean z2, ByteBuf byteBuf) {
        int i3 = byteBuf.readableBytes();
        ByteBuf byteBufOrder = byteBufAllocator.ioBuffer(i3 + 8).order(ByteOrder.BIG_ENDIAN);
        byteBufOrder.writeInt(i2 & Integer.MAX_VALUE);
        byteBufOrder.writeByte(z2 ? 1 : 0);
        byteBufOrder.writeMedium(i3);
        byteBufOrder.writeBytes(byteBuf, byteBuf.readerIndex(), i3);
        return byteBufOrder;
    }

    public ByteBuf encodeGoAwayFrame(ByteBufAllocator byteBufAllocator, int i2, int i3) {
        ByteBuf byteBufOrder = byteBufAllocator.ioBuffer(16).order(ByteOrder.BIG_ENDIAN);
        writeControlFrameHeader(byteBufOrder, 7, (byte) 0, 8);
        byteBufOrder.writeInt(i2);
        byteBufOrder.writeInt(i3);
        return byteBufOrder;
    }

    public ByteBuf encodeHeadersFrame(ByteBufAllocator byteBufAllocator, int i2, boolean z2, ByteBuf byteBuf) {
        int i3 = byteBuf.readableBytes();
        int i4 = i3 + 4;
        ByteBuf byteBufOrder = byteBufAllocator.ioBuffer(i4 + 8).order(ByteOrder.BIG_ENDIAN);
        writeControlFrameHeader(byteBufOrder, 8, z2 ? (byte) 1 : (byte) 0, i4);
        byteBufOrder.writeInt(i2);
        byteBufOrder.writeBytes(byteBuf, byteBuf.readerIndex(), i3);
        return byteBufOrder;
    }

    public ByteBuf encodePingFrame(ByteBufAllocator byteBufAllocator, int i2) {
        ByteBuf byteBufOrder = byteBufAllocator.ioBuffer(12).order(ByteOrder.BIG_ENDIAN);
        writeControlFrameHeader(byteBufOrder, 6, (byte) 0, 4);
        byteBufOrder.writeInt(i2);
        return byteBufOrder;
    }

    public ByteBuf encodeRstStreamFrame(ByteBufAllocator byteBufAllocator, int i2, int i3) {
        ByteBuf byteBufOrder = byteBufAllocator.ioBuffer(16).order(ByteOrder.BIG_ENDIAN);
        writeControlFrameHeader(byteBufOrder, 3, (byte) 0, 8);
        byteBufOrder.writeInt(i2);
        byteBufOrder.writeInt(i3);
        return byteBufOrder;
    }

    public ByteBuf encodeSettingsFrame(ByteBufAllocator byteBufAllocator, SpdySettingsFrame spdySettingsFrame) {
        Set<Integer> setIds = spdySettingsFrame.ids();
        int size = setIds.size();
        boolean zClearPreviouslyPersistedSettings = spdySettingsFrame.clearPreviouslyPersistedSettings();
        int i2 = (size * 8) + 4;
        ByteBuf byteBufOrder = byteBufAllocator.ioBuffer(i2 + 8).order(ByteOrder.BIG_ENDIAN);
        writeControlFrameHeader(byteBufOrder, 4, zClearPreviouslyPersistedSettings ? (byte) 1 : (byte) 0, i2);
        byteBufOrder.writeInt(size);
        for (Integer num : setIds) {
            byte b2 = spdySettingsFrame.isPersistValue(num.intValue()) ? (byte) 1 : (byte) 0;
            if (spdySettingsFrame.isPersisted(num.intValue())) {
                b2 = (byte) (b2 | 2);
            }
            byteBufOrder.writeByte(b2);
            byteBufOrder.writeMedium(num.intValue());
            byteBufOrder.writeInt(spdySettingsFrame.getValue(num.intValue()));
        }
        return byteBufOrder;
    }

    public ByteBuf encodeSynReplyFrame(ByteBufAllocator byteBufAllocator, int i2, boolean z2, ByteBuf byteBuf) {
        int i3 = byteBuf.readableBytes();
        int i4 = i3 + 4;
        ByteBuf byteBufOrder = byteBufAllocator.ioBuffer(i4 + 8).order(ByteOrder.BIG_ENDIAN);
        writeControlFrameHeader(byteBufOrder, 2, z2 ? (byte) 1 : (byte) 0, i4);
        byteBufOrder.writeInt(i2);
        byteBufOrder.writeBytes(byteBuf, byteBuf.readerIndex(), i3);
        return byteBufOrder;
    }

    /* JADX WARN: Multi-variable type inference failed */
    public ByteBuf encodeSynStreamFrame(ByteBufAllocator byteBufAllocator, int i2, int i3, byte b2, boolean z2, boolean z3, ByteBuf byteBuf) {
        int i4 = byteBuf.readableBytes();
        byte b3 = z2;
        if (z3) {
            b3 = (byte) (z2 | 2);
        }
        int i5 = i4 + 10;
        ByteBuf byteBufOrder = byteBufAllocator.ioBuffer(i5 + 8).order(ByteOrder.BIG_ENDIAN);
        writeControlFrameHeader(byteBufOrder, 1, b3, i5);
        byteBufOrder.writeInt(i2);
        byteBufOrder.writeInt(i3);
        byteBufOrder.writeShort((b2 & DnsRecord.CLASS_ANY) << 13);
        byteBufOrder.writeBytes(byteBuf, byteBuf.readerIndex(), i4);
        return byteBufOrder;
    }

    public ByteBuf encodeWindowUpdateFrame(ByteBufAllocator byteBufAllocator, int i2, int i3) {
        ByteBuf byteBufOrder = byteBufAllocator.ioBuffer(16).order(ByteOrder.BIG_ENDIAN);
        writeControlFrameHeader(byteBufOrder, 9, (byte) 0, 8);
        byteBufOrder.writeInt(i2);
        byteBufOrder.writeInt(i3);
        return byteBufOrder;
    }
}
