final class okhttp3.internal.http2.Http2Writer implements java.io.Closeable
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: okhttp3.internal.http2.Http2Writer
super_class: java.lang.Object
{
private static final java.util.logging.Logger logger;
descriptor: Ljava/util/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final okio.BufferedSink sink;
descriptor: Lokio/BufferedSink;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean client;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final okio.Buffer hpackBuffer;
descriptor: Lokio/Buffer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int maxFrameSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean closed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
final okhttp3.internal.http2.Hpack$Writer hpackWriter;
descriptor: Lokhttp3/internal/http2/Hpack$Writer;
flags: (0x0010) ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lokhttp3/internal/http2/Http2;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
putstatic okhttp3.internal.http2.Http2Writer.logger:Ljava/util/logging/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(okio.BufferedSink, boolean);
descriptor: (Lokio/BufferedSink;Z)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
2: aload 0
iload 2
putfield okhttp3.internal.http2.Http2Writer.client:Z
3: aload 0
new okio.Buffer
dup
invokespecial okio.Buffer.<init>:()V
putfield okhttp3.internal.http2.Http2Writer.hpackBuffer:Lokio/Buffer;
4: aload 0
new okhttp3.internal.http2.Hpack$Writer
dup
aload 0
getfield okhttp3.internal.http2.Http2Writer.hpackBuffer:Lokio/Buffer;
invokespecial okhttp3.internal.http2.Hpack$Writer.<init>:(Lokio/Buffer;)V
putfield okhttp3.internal.http2.Http2Writer.hpackWriter:Lokhttp3/internal/http2/Hpack$Writer;
5: aload 0
sipush 16384
putfield okhttp3.internal.http2.Http2Writer.maxFrameSize:I
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lokhttp3/internal/http2/Http2Writer;
0 7 1 sink Lokio/BufferedSink;
0 7 2 client Z
MethodParameters:
Name Flags
sink
client
public synchronized void connectionPreface();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
getfield okhttp3.internal.http2.Http2Writer.closed:Z
ifeq 1
new java.io.IOException
dup
ldc "closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Http2Writer.client:Z
ifne 2
return
2: StackMap locals:
StackMap stack:
getstatic okhttp3.internal.http2.Http2Writer.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 4
3: getstatic okhttp3.internal.http2.Http2Writer.logger:Ljava/util/logging/Logger;
ldc ">> CONNECTION %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
getstatic okhttp3.internal.http2.Http2.CONNECTION_PREFACE:Lokio/ByteString;
invokevirtual okio.ByteString.hex:()Ljava/lang/String;
aastore
invokestatic okhttp3.internal.Util.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
getstatic okhttp3.internal.http2.Http2.CONNECTION_PREFACE:Lokio/ByteString;
invokevirtual okio.ByteString.toByteArray:()[B
invokeinterface okio.BufferedSink.write:([B)Lokio/BufferedSink;
pop
5: aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
invokeinterface okio.BufferedSink.flush:()V
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lokhttp3/internal/http2/Http2Writer;
Exceptions:
throws java.io.IOException
public synchronized void applyAndAckSettings(okhttp3.internal.http2.Settings);
descriptor: (Lokhttp3/internal/http2/Settings;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield okhttp3.internal.http2.Http2Writer.closed:Z
ifeq 1
new java.io.IOException
dup
ldc "closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
getfield okhttp3.internal.http2.Http2Writer.maxFrameSize:I
invokevirtual okhttp3.internal.http2.Settings.getMaxFrameSize:(I)I
putfield okhttp3.internal.http2.Http2Writer.maxFrameSize:I
2: aload 1
invokevirtual okhttp3.internal.http2.Settings.getHeaderTableSize:()I
iconst_m1
if_icmpeq 4
3: aload 0
getfield okhttp3.internal.http2.Http2Writer.hpackWriter:Lokhttp3/internal/http2/Hpack$Writer;
aload 1
invokevirtual okhttp3.internal.http2.Settings.getHeaderTableSize:()I
invokevirtual okhttp3.internal.http2.Hpack$Writer.setHeaderTableSizeSetting:(I)V
4: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 5: iconst_4
istore 3
start local 3 6: iconst_1
istore 4
start local 4 7: iconst_0
istore 5
start local 5 8: aload 0
iload 5
iload 2
iload 3
iload 4
invokevirtual okhttp3.internal.http2.Http2Writer.frameHeader:(IIBB)V
9: aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
invokeinterface okio.BufferedSink.flush:()V
10: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lokhttp3/internal/http2/Http2Writer;
0 11 1 peerSettings Lokhttp3/internal/http2/Settings;
5 11 2 length I
6 11 3 type B
7 11 4 flags B
8 11 5 streamId I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
peerSettings
public synchronized void pushPromise(int, int, java.util.List<okhttp3.internal.http2.Header>);
descriptor: (IILjava/util/List;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield okhttp3.internal.http2.Http2Writer.closed:Z
ifeq 1
new java.io.IOException
dup
ldc "closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Http2Writer.hpackWriter:Lokhttp3/internal/http2/Hpack$Writer;
aload 3
invokevirtual okhttp3.internal.http2.Hpack$Writer.writeHeaders:(Ljava/util/List;)V
2: aload 0
getfield okhttp3.internal.http2.Http2Writer.hpackBuffer:Lokio/Buffer;
invokevirtual okio.Buffer.size:()J
lstore 4
start local 4 3: aload 0
getfield okhttp3.internal.http2.Http2Writer.maxFrameSize:I
iconst_4
isub
i2l
lload 4
invokestatic java.lang.Math.min:(JJ)J
l2i
istore 6
start local 6 4: iconst_5
istore 7
start local 7 5: lload 4
iload 6
i2l
lcmp
ifne 6
iconst_4
goto 7
StackMap locals: long int int
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 8
start local 8 8: aload 0
iload 1
iload 6
iconst_4
iadd
iload 7
iload 8
invokevirtual okhttp3.internal.http2.Http2Writer.frameHeader:(IIBB)V
9: aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
iload 2
ldc 2147483647
iand
invokeinterface okio.BufferedSink.writeInt:(I)Lokio/BufferedSink;
pop
10: aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
aload 0
getfield okhttp3.internal.http2.Http2Writer.hpackBuffer:Lokio/Buffer;
iload 6
i2l
invokeinterface okio.BufferedSink.write:(Lokio/Buffer;J)V
11: lload 4
iload 6
i2l
lcmp
ifle 12
aload 0
iload 1
lload 4
iload 6
i2l
lsub
invokevirtual okhttp3.internal.http2.Http2Writer.writeContinuationFrames:(IJ)V
12: StackMap locals: int
StackMap stack:
return
end local 8 end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lokhttp3/internal/http2/Http2Writer;
0 13 1 streamId I
0 13 2 promisedStreamId I
0 13 3 requestHeaders Ljava/util/List<Lokhttp3/internal/http2/Header;>;
3 13 4 byteCount J
4 13 6 length I
5 13 7 type B
8 13 8 flags B
Exceptions:
throws java.io.IOException
Signature: (IILjava/util/List<Lokhttp3/internal/http2/Header;>;)V
MethodParameters:
Name Flags
streamId
promisedStreamId
requestHeaders
public synchronized void flush();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield okhttp3.internal.http2.Http2Writer.closed:Z
ifeq 1
new java.io.IOException
dup
ldc "closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
invokeinterface okio.BufferedSink.flush:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lokhttp3/internal/http2/Http2Writer;
Exceptions:
throws java.io.IOException
public synchronized void synStream(boolean, int, int, java.util.List<okhttp3.internal.http2.Header>);
descriptor: (ZIILjava/util/List;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield okhttp3.internal.http2.Http2Writer.closed:Z
ifeq 1
new java.io.IOException
dup
ldc "closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
aload 4
invokevirtual okhttp3.internal.http2.Http2Writer.headers:(ZILjava/util/List;)V
2: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lokhttp3/internal/http2/Http2Writer;
0 3 1 outFinished Z
0 3 2 streamId I
0 3 3 associatedStreamId I
0 3 4 headerBlock Ljava/util/List<Lokhttp3/internal/http2/Header;>;
Exceptions:
throws java.io.IOException
Signature: (ZIILjava/util/List<Lokhttp3/internal/http2/Header;>;)V
MethodParameters:
Name Flags
outFinished
streamId
associatedStreamId
headerBlock
public synchronized void synReply(boolean, int, java.util.List<okhttp3.internal.http2.Header>);
descriptor: (ZILjava/util/List;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield okhttp3.internal.http2.Http2Writer.closed:Z
ifeq 1
new java.io.IOException
dup
ldc "closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
aload 3
invokevirtual okhttp3.internal.http2.Http2Writer.headers:(ZILjava/util/List;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lokhttp3/internal/http2/Http2Writer;
0 3 1 outFinished Z
0 3 2 streamId I
0 3 3 headerBlock Ljava/util/List<Lokhttp3/internal/http2/Header;>;
Exceptions:
throws java.io.IOException
Signature: (ZILjava/util/List<Lokhttp3/internal/http2/Header;>;)V
MethodParameters:
Name Flags
outFinished
streamId
headerBlock
public synchronized void headers(int, java.util.List<okhttp3.internal.http2.Header>);
descriptor: (ILjava/util/List;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield okhttp3.internal.http2.Http2Writer.closed:Z
ifeq 1
new java.io.IOException
dup
ldc "closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
iconst_0
iload 1
aload 2
invokevirtual okhttp3.internal.http2.Http2Writer.headers:(ZILjava/util/List;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lokhttp3/internal/http2/Http2Writer;
0 3 1 streamId I
0 3 2 headerBlock Ljava/util/List<Lokhttp3/internal/http2/Header;>;
Exceptions:
throws java.io.IOException
Signature: (ILjava/util/List<Lokhttp3/internal/http2/Header;>;)V
MethodParameters:
Name Flags
streamId
headerBlock
public synchronized void rstStream(int, okhttp3.internal.http2.ErrorCode);
descriptor: (ILokhttp3/internal/http2/ErrorCode;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield okhttp3.internal.http2.Http2Writer.closed:Z
ifeq 1
new java.io.IOException
dup
ldc "closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 2
getfield okhttp3.internal.http2.ErrorCode.httpCode:I
iconst_m1
if_icmpne 2
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
iconst_4
istore 3
start local 3 3: iconst_3
istore 4
start local 4 4: iconst_0
istore 5
start local 5 5: aload 0
iload 1
iload 3
iload 4
iload 5
invokevirtual okhttp3.internal.http2.Http2Writer.frameHeader:(IIBB)V
6: aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
aload 2
getfield okhttp3.internal.http2.ErrorCode.httpCode:I
invokeinterface okio.BufferedSink.writeInt:(I)Lokio/BufferedSink;
pop
7: aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
invokeinterface okio.BufferedSink.flush:()V
8: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lokhttp3/internal/http2/Http2Writer;
0 9 1 streamId I
0 9 2 errorCode Lokhttp3/internal/http2/ErrorCode;
3 9 3 length I
4 9 4 type B
5 9 5 flags B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
streamId
errorCode
public int maxDataLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield okhttp3.internal.http2.Http2Writer.maxFrameSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lokhttp3/internal/http2/Http2Writer;
public synchronized void data(boolean, int, okio.Buffer, int);
descriptor: (ZILokio/Buffer;I)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield okhttp3.internal.http2.Http2Writer.closed:Z
ifeq 1
new java.io.IOException
dup
ldc "closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 2: iload 1
ifeq 3
iload 5
iconst_1
ior
i2b
istore 5
3: StackMap locals: int
StackMap stack:
aload 0
iload 2
iload 5
aload 3
iload 4
invokevirtual okhttp3.internal.http2.Http2Writer.dataFrame:(IBLokio/Buffer;I)V
4: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lokhttp3/internal/http2/Http2Writer;
0 5 1 outFinished Z
0 5 2 streamId I
0 5 3 source Lokio/Buffer;
0 5 4 byteCount I
2 5 5 flags B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
outFinished
streamId
source
byteCount
void dataFrame(int, byte, okio.Buffer, int);
descriptor: (IBLokio/Buffer;I)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: aload 0
iload 1
iload 4
iload 5
iload 2
invokevirtual okhttp3.internal.http2.Http2Writer.frameHeader:(IIBB)V
2: iload 4
ifle 4
3: aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
aload 3
iload 4
i2l
invokeinterface okio.BufferedSink.write:(Lokio/Buffer;J)V
4: StackMap locals: int
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lokhttp3/internal/http2/Http2Writer;
0 5 1 streamId I
0 5 2 flags B
0 5 3 buffer Lokio/Buffer;
0 5 4 byteCount I
1 5 5 type B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
streamId
flags
buffer
byteCount
public synchronized void settings(okhttp3.internal.http2.Settings);
descriptor: (Lokhttp3/internal/http2/Settings;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield okhttp3.internal.http2.Http2Writer.closed:Z
ifeq 1
new java.io.IOException
dup
ldc "closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual okhttp3.internal.http2.Settings.size:()I
bipush 6
imul
istore 2
start local 2 2: iconst_4
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: iconst_0
istore 5
start local 5 5: aload 0
iload 5
iload 2
iload 3
iload 4
invokevirtual okhttp3.internal.http2.Http2Writer.frameHeader:(IIBB)V
6: iconst_0
istore 6
start local 6 7: goto 18
8: StackMap locals: okhttp3.internal.http2.Http2Writer okhttp3.internal.http2.Settings int int int int int
StackMap stack:
aload 1
iload 6
invokevirtual okhttp3.internal.http2.Settings.isSet:(I)Z
ifne 9
goto 17
9: StackMap locals:
StackMap stack:
iload 6
istore 7
start local 7 10: iload 7
iconst_4
if_icmpne 13
11: iconst_3
istore 7
12: goto 15
StackMap locals: int
StackMap stack:
13: iload 7
bipush 7
if_icmpne 15
14: iconst_4
istore 7
15: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
iload 7
invokeinterface okio.BufferedSink.writeShort:(I)Lokio/BufferedSink;
pop
16: aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
aload 1
iload 6
invokevirtual okhttp3.internal.http2.Settings.get:(I)I
invokeinterface okio.BufferedSink.writeInt:(I)Lokio/BufferedSink;
pop
end local 7 17: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
18: iload 6
bipush 10
if_icmplt 8
end local 6 19: aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
invokeinterface okio.BufferedSink.flush:()V
20: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lokhttp3/internal/http2/Http2Writer;
0 21 1 settings Lokhttp3/internal/http2/Settings;
2 21 2 length I
3 21 3 type B
4 21 4 flags B
5 21 5 streamId I
7 19 6 i I
10 17 7 id I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
settings
public synchronized void ping(boolean, int, int);
descriptor: (ZII)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield okhttp3.internal.http2.Http2Writer.closed:Z
ifeq 1
new java.io.IOException
dup
ldc "closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
bipush 8
istore 4
start local 4 2: bipush 6
istore 5
start local 5 3: iload 1
ifeq 4
iconst_1
goto 5
StackMap locals: int int
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 6
start local 6 6: iconst_0
istore 7
start local 7 7: aload 0
iload 7
iload 4
iload 5
iload 6
invokevirtual okhttp3.internal.http2.Http2Writer.frameHeader:(IIBB)V
8: aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
iload 2
invokeinterface okio.BufferedSink.writeInt:(I)Lokio/BufferedSink;
pop
9: aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
iload 3
invokeinterface okio.BufferedSink.writeInt:(I)Lokio/BufferedSink;
pop
10: aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
invokeinterface okio.BufferedSink.flush:()V
11: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lokhttp3/internal/http2/Http2Writer;
0 12 1 ack Z
0 12 2 payload1 I
0 12 3 payload2 I
2 12 4 length I
3 12 5 type B
6 12 6 flags B
7 12 7 streamId I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ack
payload1
payload2
public synchronized void goAway(int, okhttp3.internal.http2.ErrorCode, byte[]);
descriptor: (ILokhttp3/internal/http2/ErrorCode;[B)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield okhttp3.internal.http2.Http2Writer.closed:Z
ifeq 1
new java.io.IOException
dup
ldc "closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 2
getfield okhttp3.internal.http2.ErrorCode.httpCode:I
iconst_m1
if_icmpne 2
ldc "errorCode.httpCode == -1"
iconst_0
anewarray java.lang.Object
invokestatic okhttp3.internal.http2.Http2.illegalArgument:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;
athrow
2: StackMap locals:
StackMap stack:
bipush 8
aload 3
arraylength
iadd
istore 4
start local 4 3: bipush 7
istore 5
start local 5 4: iconst_0
istore 6
start local 6 5: iconst_0
istore 7
start local 7 6: aload 0
iload 7
iload 4
iload 5
iload 6
invokevirtual okhttp3.internal.http2.Http2Writer.frameHeader:(IIBB)V
7: aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
iload 1
invokeinterface okio.BufferedSink.writeInt:(I)Lokio/BufferedSink;
pop
8: aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
aload 2
getfield okhttp3.internal.http2.ErrorCode.httpCode:I
invokeinterface okio.BufferedSink.writeInt:(I)Lokio/BufferedSink;
pop
9: aload 3
arraylength
ifle 11
10: aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
aload 3
invokeinterface okio.BufferedSink.write:([B)Lokio/BufferedSink;
pop
11: StackMap locals: okhttp3.internal.http2.Http2Writer int okhttp3.internal.http2.ErrorCode byte[] int int int int
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
invokeinterface okio.BufferedSink.flush:()V
12: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lokhttp3/internal/http2/Http2Writer;
0 13 1 lastGoodStreamId I
0 13 2 errorCode Lokhttp3/internal/http2/ErrorCode;
0 13 3 debugData [B
3 13 4 length I
4 13 5 type B
5 13 6 flags B
6 13 7 streamId I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
lastGoodStreamId
errorCode
debugData
public synchronized void windowUpdate(int, long);
descriptor: (IJ)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield okhttp3.internal.http2.Http2Writer.closed:Z
ifeq 1
new java.io.IOException
dup
ldc "closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
lload 2
lconst_0
lcmp
ifeq 2
lload 2
ldc 2147483647
lcmp
ifle 5
2: StackMap locals:
StackMap stack:
ldc "windowSizeIncrement == 0 || windowSizeIncrement > 0x7fffffffL: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
3: lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
4: invokestatic okhttp3.internal.http2.Http2.illegalArgument:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;
athrow
5: StackMap locals:
StackMap stack:
iconst_4
istore 4
start local 4 6: bipush 8
istore 5
start local 5 7: iconst_0
istore 6
start local 6 8: aload 0
iload 1
iload 4
iload 5
iload 6
invokevirtual okhttp3.internal.http2.Http2Writer.frameHeader:(IIBB)V
9: aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
lload 2
l2i
invokeinterface okio.BufferedSink.writeInt:(I)Lokio/BufferedSink;
pop
10: aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
invokeinterface okio.BufferedSink.flush:()V
11: return
end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lokhttp3/internal/http2/Http2Writer;
0 12 1 streamId I
0 12 2 windowSizeIncrement J
6 12 4 length I
7 12 5 type B
8 12 6 flags B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
streamId
windowSizeIncrement
public void (int, int, byte, byte);
descriptor: (IIBB)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic okhttp3.internal.http2.Http2Writer.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 1
getstatic okhttp3.internal.http2.Http2Writer.logger:Ljava/util/logging/Logger;
iconst_0
iload 1
iload 2
iload 3
iload 4
invokestatic okhttp3.internal.http2.Http2.frameLog:(ZIIBB)Ljava/lang/String;
invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
1: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield okhttp3.internal.http2.Http2Writer.maxFrameSize:I
if_icmple 3
2: ldc "FRAME_SIZE_ERROR length > %d: %d"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield okhttp3.internal.http2.Http2Writer.maxFrameSize:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic okhttp3.internal.http2.Http2.illegalArgument:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;
athrow
3: StackMap locals:
StackMap stack:
iload 1
ldc -2147483648
iand
ifeq 4
ldc "reserved bit set: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic okhttp3.internal.http2.Http2.illegalArgument:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
iload 2
invokestatic okhttp3.internal.http2.Http2Writer.writeMedium:(Lokio/BufferedSink;I)V
5: aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
iload 3
sipush 255
iand
invokeinterface okio.BufferedSink.writeByte:(I)Lokio/BufferedSink;
pop
6: aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
iload 4
sipush 255
iand
invokeinterface okio.BufferedSink.writeByte:(I)Lokio/BufferedSink;
pop
7: aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
iload 1
ldc 2147483647
iand
invokeinterface okio.BufferedSink.writeInt:(I)Lokio/BufferedSink;
pop
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lokhttp3/internal/http2/Http2Writer;
0 9 1 streamId I
0 9 2 length I
0 9 3 type B
0 9 4 flags B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
streamId
length
type
flags
public synchronized void close();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield okhttp3.internal.http2.Http2Writer.closed:Z
1: aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
invokeinterface okio.BufferedSink.close:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lokhttp3/internal/http2/Http2Writer;
Exceptions:
throws java.io.IOException
private static void writeMedium(okio.BufferedSink, int);
descriptor: (Lokio/BufferedSink;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
bipush 16
iushr
sipush 255
iand
invokeinterface okio.BufferedSink.writeByte:(I)Lokio/BufferedSink;
pop
1: aload 0
iload 1
bipush 8
iushr
sipush 255
iand
invokeinterface okio.BufferedSink.writeByte:(I)Lokio/BufferedSink;
pop
2: aload 0
iload 1
sipush 255
iand
invokeinterface okio.BufferedSink.writeByte:(I)Lokio/BufferedSink;
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 sink Lokio/BufferedSink;
0 4 1 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sink
i
private void writeContinuationFrames(int, long);
descriptor: (IJ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=5, args_size=3
start local 0 start local 1 start local 2 0: goto 7
1: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Http2Writer.maxFrameSize:I
i2l
lload 2
invokestatic java.lang.Math.min:(JJ)J
l2i
istore 4
start local 4 2: lload 2
iload 4
i2l
lsub
lstore 2
3: aload 0
iload 1
iload 4
bipush 9
lload 2
lconst_0
lcmp
ifne 4
iconst_4
goto 5
StackMap locals: okhttp3.internal.http2.Http2Writer int long int
StackMap stack: okhttp3.internal.http2.Http2Writer int int int
4: iconst_0
StackMap locals: okhttp3.internal.http2.Http2Writer int long int
StackMap stack: okhttp3.internal.http2.Http2Writer int int int int
5: invokevirtual okhttp3.internal.http2.Http2Writer.frameHeader:(IIBB)V
6: aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
aload 0
getfield okhttp3.internal.http2.Http2Writer.hpackBuffer:Lokio/Buffer;
iload 4
i2l
invokeinterface okio.BufferedSink.write:(Lokio/Buffer;J)V
end local 4 7: StackMap locals:
StackMap stack:
lload 2
lconst_0
lcmp
ifgt 1
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lokhttp3/internal/http2/Http2Writer;
0 9 1 streamId I
0 9 2 byteCount J
2 7 4 length I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
streamId
byteCount
void headers(boolean, int, java.util.List<okhttp3.internal.http2.Header>);
descriptor: (ZILjava/util/List;)V
flags: (0x0000)
Code:
stack=6, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield okhttp3.internal.http2.Http2Writer.closed:Z
ifeq 1
new java.io.IOException
dup
ldc "closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Http2Writer.hpackWriter:Lokhttp3/internal/http2/Hpack$Writer;
aload 3
invokevirtual okhttp3.internal.http2.Hpack$Writer.writeHeaders:(Ljava/util/List;)V
2: aload 0
getfield okhttp3.internal.http2.Http2Writer.hpackBuffer:Lokio/Buffer;
invokevirtual okio.Buffer.size:()J
lstore 4
start local 4 3: aload 0
getfield okhttp3.internal.http2.Http2Writer.maxFrameSize:I
i2l
lload 4
invokestatic java.lang.Math.min:(JJ)J
l2i
istore 6
start local 6 4: iconst_1
istore 7
start local 7 5: lload 4
iload 6
i2l
lcmp
ifne 6
iconst_4
goto 7
StackMap locals: long int int
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 8
start local 8 8: iload 1
ifeq 9
iload 8
iconst_1
ior
i2b
istore 8
9: StackMap locals: int
StackMap stack:
aload 0
iload 2
iload 6
iload 7
iload 8
invokevirtual okhttp3.internal.http2.Http2Writer.frameHeader:(IIBB)V
10: aload 0
getfield okhttp3.internal.http2.Http2Writer.sink:Lokio/BufferedSink;
aload 0
getfield okhttp3.internal.http2.Http2Writer.hpackBuffer:Lokio/Buffer;
iload 6
i2l
invokeinterface okio.BufferedSink.write:(Lokio/Buffer;J)V
11: lload 4
iload 6
i2l
lcmp
ifle 12
aload 0
iload 2
lload 4
iload 6
i2l
lsub
invokevirtual okhttp3.internal.http2.Http2Writer.writeContinuationFrames:(IJ)V
12: StackMap locals:
StackMap stack:
return
end local 8 end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lokhttp3/internal/http2/Http2Writer;
0 13 1 outFinished Z
0 13 2 streamId I
0 13 3 headerBlock Ljava/util/List<Lokhttp3/internal/http2/Header;>;
3 13 4 byteCount J
4 13 6 length I
5 13 7 type B
8 13 8 flags B
Exceptions:
throws java.io.IOException
Signature: (ZILjava/util/List<Lokhttp3/internal/http2/Header;>;)V
MethodParameters:
Name Flags
outFinished
streamId
headerBlock
}
SourceFile: "Http2Writer.java"
InnerClasses:
final Writer = okhttp3.internal.http2.Hpack$Writer of okhttp3.internal.http2.Hpack