package okhttp3.n0.http2;

import g.a.a.a.a;
import io.netty.handler.codec.dns.DnsRecord;
import java.io.Closeable;
import java.io.IOException;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import kotlin.Metadata;
import kotlin.jvm.internal.o;
import okhttp3.n0.c;
import okhttp3.n0.http2.Hpack;
import okio.Buffer;
import okio.BufferedSink;

/* JADX INFO: renamed from: y.n0.j.p, reason: from Kotlin metadata */
/* JADX INFO: loaded from: classes2.dex */
@Metadata(d1 = {"\u0000\\\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\b\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0011\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0012\n\u0002\b\u0002\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0002\b\f\n\u0002\u0010\t\n\u0002\b\u0003\u0018\u0000 :2\u00020\u0001:\u0001:B\u0015\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005¢\u0006\u0002\u0010\u0006J\u000e\u0010\u0010\u001a\u00020\u00112\u0006\u0010\u0012\u001a\u00020\u0013J\b\u0010\u0014\u001a\u00020\u0011H\u0016J\u0006\u0010\u0015\u001a\u00020\u0011J(\u0010\u0016\u001a\u00020\u00112\u0006\u0010\u0017\u001a\u00020\u00052\u0006\u0010\u0018\u001a\u00020\u000f2\b\u0010\u0019\u001a\u0004\u0018\u00010\t2\u0006\u0010\u001a\u001a\u00020\u000fJ(\u0010\u001b\u001a\u00020\u00112\u0006\u0010\u0018\u001a\u00020\u000f2\u0006\u0010\u001c\u001a\u00020\u000f2\b\u0010\u001d\u001a\u0004\u0018\u00010\t2\u0006\u0010\u001a\u001a\u00020\u000fJ\u0006\u0010\u001e\u001a\u00020\u0011J&\u0010\u001f\u001a\u00020\u00112\u0006\u0010\u0018\u001a\u00020\u000f2\u0006\u0010 \u001a\u00020\u000f2\u0006\u0010!\u001a\u00020\u000f2\u0006\u0010\u001c\u001a\u00020\u000fJ\u001e\u0010\"\u001a\u00020\u00112\u0006\u0010#\u001a\u00020\u000f2\u0006\u0010$\u001a\u00020%2\u0006\u0010&\u001a\u00020'J$\u0010(\u001a\u00020\u00112\u0006\u0010\u0017\u001a\u00020\u00052\u0006\u0010\u0018\u001a\u00020\u000f2\f\u0010)\u001a\b\u0012\u0004\u0012\u00020+0*J\u0006\u0010,\u001a\u00020\u000fJ\u001e\u0010-\u001a\u00020\u00112\u0006\u0010.\u001a\u00020\u00052\u0006\u0010/\u001a\u00020\u000f2\u0006\u00100\u001a\u00020\u000fJ$\u00101\u001a\u00020\u00112\u0006\u0010\u0018\u001a\u00020\u000f2\u0006\u00102\u001a\u00020\u000f2\f\u00103\u001a\b\u0012\u0004\u0012\u00020+0*J\u0016\u00104\u001a\u00020\u00112\u0006\u0010\u0018\u001a\u00020\u000f2\u0006\u0010$\u001a\u00020%J\u000e\u00105\u001a\u00020\u00112\u0006\u00105\u001a\u00020\u0013J\u0016\u00106\u001a\u00020\u00112\u0006\u0010\u0018\u001a\u00020\u000f2\u0006\u00107\u001a\u000208J\u0018\u00109\u001a\u00020\u00112\u0006\u0010\u0018\u001a\u00020\u000f2\u0006\u0010\u001a\u001a\u000208H\u0002R\u000e\u0010\u0004\u001a\u00020\u0005X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0007\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\b\u001a\u00020\tX\u0082\u0004¢\u0006\u0002\n\u0000R\u0011\u0010\n\u001a\u00020\u000b¢\u0006\b\n\u0000\u001a\u0004\b\f\u0010\rR\u000e\u0010\u000e\u001a\u00020\u000fX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006;"}, d2 = {"Lokhttp3/internal/http2/Http2Writer;", "Ljava/io/Closeable;", "sink", "Lokio/BufferedSink;", "client", "", "(Lokio/BufferedSink;Z)V", "closed", "hpackBuffer", "Lokio/Buffer;", "hpackWriter", "Lokhttp3/internal/http2/Hpack$Writer;", "getHpackWriter", "()Lokhttp3/internal/http2/Hpack$Writer;", "maxFrameSize", "", "applyAndAckSettings", "", "peerSettings", "Lokhttp3/internal/http2/Settings;", "close", "connectionPreface", "data", "outFinished", "streamId", "source", "byteCount", "dataFrame", "flags", "buffer", "flush", "frameHeader", "length", "type", "goAway", "lastGoodStreamId", "errorCode", "Lokhttp3/internal/http2/ErrorCode;", "debugData", "", "headers", "headerBlock", "", "Lokhttp3/internal/http2/Header;", "maxDataLength", "ping", "ack", "payload1", "payload2", "pushPromise", "promisedStreamId", "requestHeaders", "rstStream", "settings", "windowUpdate", "windowSizeIncrement", "", "writeContinuationFrames", "Companion", "okhttp"}, k = 1, mv = {1, 6, 0}, xi = 48)
public final class Http2Writer implements Closeable {

    /* JADX INFO: renamed from: f, reason: collision with root package name */
    public static final Logger f10009f = Logger.getLogger(Http2.class.getName());

    /* JADX INFO: renamed from: m, reason: collision with root package name */
    public final BufferedSink f10010m;

    /* JADX INFO: renamed from: n, reason: collision with root package name */
    public final boolean f10011n;

    /* JADX INFO: renamed from: o, reason: collision with root package name */
    public final Buffer f10012o;

    /* JADX INFO: renamed from: p, reason: collision with root package name */
    public int f10013p;

    /* JADX INFO: renamed from: q, reason: collision with root package name */
    public boolean f10014q;

    /* JADX INFO: renamed from: r, reason: collision with root package name */
    public final Hpack.b f10015r;

    public Http2Writer(BufferedSink bufferedSink, boolean z2) {
        o.f(bufferedSink, "sink");
        this.f10010m = bufferedSink;
        this.f10011n = z2;
        Buffer buffer = new Buffer();
        this.f10012o = buffer;
        this.f10013p = 16384;
        this.f10015r = new Hpack.b(0, false, buffer, 3);
    }

    public final synchronized void a(Settings settings) {
        o.f(settings, "peerSettings");
        if (this.f10014q) {
            throw new IOException("closed");
        }
        int i2 = this.f10013p;
        int i3 = settings.a;
        if ((i3 & 32) != 0) {
            i2 = settings.f10021b[5];
        }
        this.f10013p = i2;
        int i4 = i3 & 2;
        if ((i4 != 0 ? settings.f10021b[1] : -1) != -1) {
            Hpack.b bVar = this.f10015r;
            int i5 = i4 != 0 ? settings.f10021b[1] : -1;
            bVar.a = i5;
            int iMin = Math.min(i5, 16384);
            int i6 = bVar.f9898f;
            if (i6 != iMin) {
                if (iMin < i6) {
                    bVar.f9896d = Math.min(bVar.f9896d, iMin);
                }
                bVar.f9897e = true;
                bVar.f9898f = iMin;
                int i7 = bVar.f9902j;
                if (iMin < i7) {
                    if (iMin == 0) {
                        bVar.a();
                    } else {
                        bVar.b(i7 - iMin);
                    }
                }
            }
        }
        d(0, 0, 4, 1);
        this.f10010m.flush();
    }

    public final synchronized void c(boolean z2, int i2, Buffer buffer, int i3) {
        if (this.f10014q) {
            throw new IOException("closed");
        }
        d(i2, i3, 0, z2 ? 1 : 0);
        if (i3 > 0) {
            BufferedSink bufferedSink = this.f10010m;
            o.c(buffer);
            bufferedSink.write(buffer, i3);
        }
    }

    @Override // java.io.Closeable, java.lang.AutoCloseable
    public synchronized void close() {
        this.f10014q = true;
        this.f10010m.close();
    }

    public final void d(int i2, int i3, int i4, int i5) {
        Logger logger = f10009f;
        if (logger.isLoggable(Level.FINE)) {
            logger.fine(Http2.a.b(false, i2, i3, i4, i5));
        }
        if (!(i3 <= this.f10013p)) {
            StringBuilder sbF = a.F("FRAME_SIZE_ERROR length > ");
            sbF.append(this.f10013p);
            sbF.append(": ");
            sbF.append(i3);
            throw new IllegalArgumentException(sbF.toString().toString());
        }
        if (!((Integer.MIN_VALUE & i2) == 0)) {
            throw new IllegalArgumentException(o.l("reserved bit set: ", Integer.valueOf(i2)).toString());
        }
        BufferedSink bufferedSink = this.f10010m;
        byte[] bArr = c.a;
        o.f(bufferedSink, "<this>");
        bufferedSink.writeByte((i3 >>> 16) & DnsRecord.CLASS_ANY);
        bufferedSink.writeByte((i3 >>> 8) & DnsRecord.CLASS_ANY);
        bufferedSink.writeByte(i3 & DnsRecord.CLASS_ANY);
        this.f10010m.writeByte(i4 & DnsRecord.CLASS_ANY);
        this.f10010m.writeByte(i5 & DnsRecord.CLASS_ANY);
        this.f10010m.writeInt(i2 & Integer.MAX_VALUE);
    }

    public final synchronized void e(int i2, ErrorCode errorCode, byte[] bArr) {
        o.f(errorCode, "errorCode");
        o.f(bArr, "debugData");
        if (this.f10014q) {
            throw new IOException("closed");
        }
        if (!(errorCode.B != -1)) {
            throw new IllegalArgumentException("errorCode.httpCode == -1".toString());
        }
        d(0, bArr.length + 8, 7, 0);
        this.f10010m.writeInt(i2);
        this.f10010m.writeInt(errorCode.B);
        if (!(bArr.length == 0)) {
            this.f10010m.write(bArr);
        }
        this.f10010m.flush();
    }

    public final synchronized void flush() {
        if (this.f10014q) {
            throw new IOException("closed");
        }
        this.f10010m.flush();
    }

    public final synchronized void g(boolean z2, int i2, List<Header> list) {
        o.f(list, "headerBlock");
        if (this.f10014q) {
            throw new IOException("closed");
        }
        this.f10015r.e(list);
        long j2 = this.f10012o.f10118m;
        long jMin = Math.min(this.f10013p, j2);
        int i3 = j2 == jMin ? 4 : 0;
        if (z2) {
            i3 |= 1;
        }
        d(i2, (int) jMin, 1, i3);
        this.f10010m.write(this.f10012o, jMin);
        if (j2 > jMin) {
            m(i2, j2 - jMin);
        }
    }

    public final synchronized void h(boolean z2, int i2, int i3) {
        if (this.f10014q) {
            throw new IOException("closed");
        }
        d(0, 8, 6, z2 ? 1 : 0);
        this.f10010m.writeInt(i2);
        this.f10010m.writeInt(i3);
        this.f10010m.flush();
    }

    public final synchronized void j(int i2, ErrorCode errorCode) {
        o.f(errorCode, "errorCode");
        if (this.f10014q) {
            throw new IOException("closed");
        }
        if (!(errorCode.B != -1)) {
            throw new IllegalArgumentException("Failed requirement.".toString());
        }
        d(i2, 4, 3, 0);
        this.f10010m.writeInt(errorCode.B);
        this.f10010m.flush();
    }

    public final synchronized void l(int i2, long j2) {
        if (this.f10014q) {
            throw new IOException("closed");
        }
        if (!(j2 != 0 && j2 <= 2147483647L)) {
            throw new IllegalArgumentException(o.l("windowSizeIncrement == 0 || windowSizeIncrement > 0x7fffffffL: ", Long.valueOf(j2)).toString());
        }
        d(i2, 4, 8, 0);
        this.f10010m.writeInt((int) j2);
        this.f10010m.flush();
    }

    public final void m(int i2, long j2) {
        while (j2 > 0) {
            long jMin = Math.min(this.f10013p, j2);
            j2 -= jMin;
            d(i2, (int) jMin, 9, j2 == 0 ? 4 : 0);
            this.f10010m.write(this.f10012o, jMin);
        }
    }
}
