class okhttp3.internal.http2.Http2Connection$ReaderRunnable extends okhttp3.internal.NamedRunnable implements okhttp3.internal.http2.Http2Reader$Handler
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: okhttp3.internal.http2.Http2Connection$ReaderRunnable
super_class: okhttp3.internal.NamedRunnable
{
final okhttp3.internal.http2.Http2Reader reader;
descriptor: Lokhttp3/internal/http2/Http2Reader;
flags: (0x0010) ACC_FINAL
final okhttp3.internal.http2.Http2Connection this$0;
descriptor: Lokhttp3/internal/http2/Http2Connection;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(okhttp3.internal.http2.Http2Connection, okhttp3.internal.http2.Http2Reader);
descriptor: (Lokhttp3/internal/http2/Http2Connection;Lokhttp3/internal/http2/Http2Reader;)V
flags: (0x0000)
Code:
stack=6, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
1: aload 0
ldc "OkHttp %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
getfield okhttp3.internal.http2.Http2Connection.hostname:Ljava/lang/String;
aastore
invokespecial okhttp3.internal.NamedRunnable.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
2: aload 0
aload 2
putfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.reader:Lokhttp3/internal/http2/Http2Reader;
3: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lokhttp3/internal/http2/Http2Connection$ReaderRunnable;
0 4 2 reader Lokhttp3/internal/http2/Http2Reader;
MethodParameters:
Name Flags
this$0 final
reader
protected void execute();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=1
start local 0 0: getstatic okhttp3.internal.http2.ErrorCode.INTERNAL_ERROR:Lokhttp3/internal/http2/ErrorCode;
astore 1
start local 1 1: getstatic okhttp3.internal.http2.ErrorCode.INTERNAL_ERROR:Lokhttp3/internal/http2/ErrorCode;
astore 2
start local 2 2: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.reader:Lokhttp3/internal/http2/Http2Reader;
aload 0
invokevirtual okhttp3.internal.http2.Http2Reader.readConnectionPreface:(Lokhttp3/internal/http2/Http2Reader$Handler;)V
3: StackMap locals: okhttp3.internal.http2.ErrorCode okhttp3.internal.http2.ErrorCode
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.reader:Lokhttp3/internal/http2/Http2Reader;
iconst_0
aload 0
invokevirtual okhttp3.internal.http2.Http2Reader.nextFrame:(ZLokhttp3/internal/http2/Http2Reader$Handler;)Z
ifne 3
4: getstatic okhttp3.internal.http2.ErrorCode.NO_ERROR:Lokhttp3/internal/http2/ErrorCode;
astore 1
5: getstatic okhttp3.internal.http2.ErrorCode.CANCEL:Lokhttp3/internal/http2/ErrorCode;
astore 2
6: goto 20
StackMap locals:
StackMap stack: java.io.IOException
7: pop
8: getstatic okhttp3.internal.http2.ErrorCode.PROTOCOL_ERROR:Lokhttp3/internal/http2/ErrorCode;
astore 1
9: getstatic okhttp3.internal.http2.ErrorCode.PROTOCOL_ERROR:Lokhttp3/internal/http2/ErrorCode;
astore 2
10: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
aload 1
aload 2
invokevirtual okhttp3.internal.http2.Http2Connection.close:(Lokhttp3/internal/http2/ErrorCode;Lokhttp3/internal/http2/ErrorCode;)V
11: goto 13
StackMap locals:
StackMap stack: java.io.IOException
12: pop
13: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.reader:Lokhttp3/internal/http2/Http2Reader;
invokestatic okhttp3.internal.Util.closeQuietly:(Ljava/io/Closeable;)V
goto 24
14: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
15: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
aload 1
aload 2
invokevirtual okhttp3.internal.http2.Http2Connection.close:(Lokhttp3/internal/http2/ErrorCode;Lokhttp3/internal/http2/ErrorCode;)V
16: goto 18
StackMap locals: okhttp3.internal.http2.Http2Connection$ReaderRunnable okhttp3.internal.http2.ErrorCode okhttp3.internal.http2.ErrorCode java.lang.Throwable
StackMap stack: java.io.IOException
17: pop
18: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.reader:Lokhttp3/internal/http2/Http2Reader;
invokestatic okhttp3.internal.Util.closeQuietly:(Ljava/io/Closeable;)V
19: aload 3
athrow
20: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
aload 1
aload 2
invokevirtual okhttp3.internal.http2.Http2Connection.close:(Lokhttp3/internal/http2/ErrorCode;Lokhttp3/internal/http2/ErrorCode;)V
21: goto 23
StackMap locals:
StackMap stack: java.io.IOException
22: pop
23: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.reader:Lokhttp3/internal/http2/Http2Reader;
invokestatic okhttp3.internal.Util.closeQuietly:(Ljava/io/Closeable;)V
24: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lokhttp3/internal/http2/Http2Connection$ReaderRunnable;
1 25 1 connectionErrorCode Lokhttp3/internal/http2/ErrorCode;
2 25 2 streamErrorCode Lokhttp3/internal/http2/ErrorCode;
Exception table:
from to target type
2 6 7 Class java.io.IOException
10 11 12 Class java.io.IOException
2 10 14 any
15 16 17 Class java.io.IOException
20 21 22 Class java.io.IOException
public void data(boolean, int, okio.BufferedSource, int);
descriptor: (ZILokio/BufferedSource;I)V
flags: (0x0001) ACC_PUBLIC
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.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
iload 2
invokevirtual okhttp3.internal.http2.Http2Connection.pushedStream:(I)Z
ifeq 3
1: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
iload 2
aload 3
iload 4
iload 1
invokevirtual okhttp3.internal.http2.Http2Connection.pushDataLater:(ILokio/BufferedSource;IZ)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
iload 2
invokevirtual okhttp3.internal.http2.Http2Connection.getStream:(I)Lokhttp3/internal/http2/Http2Stream;
astore 5
start local 5 4: aload 5
ifnonnull 9
5: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
iload 2
getstatic okhttp3.internal.http2.ErrorCode.PROTOCOL_ERROR:Lokhttp3/internal/http2/ErrorCode;
invokevirtual okhttp3.internal.http2.Http2Connection.writeSynResetLater:(ILokhttp3/internal/http2/ErrorCode;)V
6: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
iload 4
i2l
invokevirtual okhttp3.internal.http2.Http2Connection.updateConnectionFlowControl:(J)V
7: aload 3
iload 4
i2l
invokeinterface okio.BufferedSource.skip:(J)V
8: return
9: StackMap locals: okhttp3.internal.http2.Http2Stream
StackMap stack:
aload 5
aload 3
iload 4
invokevirtual okhttp3.internal.http2.Http2Stream.receiveData:(Lokio/BufferedSource;I)V
10: iload 1
ifeq 12
11: aload 5
invokevirtual okhttp3.internal.http2.Http2Stream.receiveFin:()V
12: StackMap locals:
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 13 0 this Lokhttp3/internal/http2/Http2Connection$ReaderRunnable;
0 13 1 inFinished Z
0 13 2 streamId I
0 13 3 source Lokio/BufferedSource;
0 13 4 length I
4 13 5 dataStream Lokhttp3/internal/http2/Http2Stream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
inFinished
streamId
source
length
public void headers(boolean, int, int, java.util.List<okhttp3.internal.http2.Header>);
descriptor: (ZIILjava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=9, 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.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
iload 2
invokevirtual okhttp3.internal.http2.Http2Connection.pushedStream:(I)Z
ifeq 3
1: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
iload 2
aload 4
iload 1
invokevirtual okhttp3.internal.http2.Http2Connection.pushHeadersLater:(ILjava/util/List;Z)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
dup
astore 6
monitorenter
4: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
iload 2
invokevirtual okhttp3.internal.http2.Http2Connection.getStream:(I)Lokhttp3/internal/http2/Http2Stream;
astore 5
start local 5 5: aload 5
ifnonnull 21
6: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
getfield okhttp3.internal.http2.Http2Connection.shutdown:Z
ifeq 8
aload 6
monitorexit
7: return
8: StackMap locals: okhttp3.internal.http2.Http2Stream okhttp3.internal.http2.Http2Connection
StackMap stack:
iload 2
aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
getfield okhttp3.internal.http2.Http2Connection.lastGoodStreamId:I
if_icmpgt 10
aload 6
monitorexit
9: return
10: StackMap locals:
StackMap stack:
iload 2
iconst_2
irem
aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
getfield okhttp3.internal.http2.Http2Connection.nextStreamId:I
iconst_2
irem
if_icmpne 12
aload 6
monitorexit
11: return
12: StackMap locals:
StackMap stack:
aload 4
invokestatic okhttp3.internal.Util.toHeaders:(Ljava/util/List;)Lokhttp3/Headers;
astore 7
start local 7 13: new okhttp3.internal.http2.Http2Stream
dup
iload 2
aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
14: iconst_0
iload 1
aload 7
15: invokespecial okhttp3.internal.http2.Http2Stream.<init>:(ILokhttp3/internal/http2/Http2Connection;ZZLokhttp3/Headers;)V
astore 8
start local 8 16: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
iload 2
putfield okhttp3.internal.http2.Http2Connection.lastGoodStreamId:I
17: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
getfield okhttp3.internal.http2.Http2Connection.streams:Ljava/util/Map;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 8
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: getstatic okhttp3.internal.http2.Http2Connection.listenerExecutor:Ljava/util/concurrent/ExecutorService;
new okhttp3.internal.http2.Http2Connection$ReaderRunnable$1
dup
aload 0
ldc "OkHttp %s stream %d"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
getfield okhttp3.internal.http2.Http2Connection.hostname:Ljava/lang/String;
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
aload 8
invokespecial okhttp3.internal.http2.Http2Connection$ReaderRunnable$1.<init>:(Lokhttp3/internal/http2/Http2Connection$ReaderRunnable;Ljava/lang/String;[Ljava/lang/Object;Lokhttp3/internal/http2/Http2Stream;)V
invokeinterface java.util.concurrent.ExecutorService.execute:(Ljava/lang/Runnable;)V
19: aload 6
monitorexit
20: return
end local 8 end local 7 21: StackMap locals:
StackMap stack:
aload 6
monitorexit
22: goto 25
end local 5 StackMap locals: okhttp3.internal.http2.Http2Connection$ReaderRunnable int int int java.util.List top okhttp3.internal.http2.Http2Connection
StackMap stack: java.lang.Throwable
23: aload 6
monitorexit
24: athrow
start local 5 25: StackMap locals: okhttp3.internal.http2.Http2Connection$ReaderRunnable int int int java.util.List okhttp3.internal.http2.Http2Stream
StackMap stack:
aload 5
aload 4
invokevirtual okhttp3.internal.http2.Http2Stream.receiveHeaders:(Ljava/util/List;)V
26: iload 1
ifeq 27
aload 5
invokevirtual okhttp3.internal.http2.Http2Stream.receiveFin:()V
27: StackMap locals:
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 28 0 this Lokhttp3/internal/http2/Http2Connection$ReaderRunnable;
0 28 1 inFinished Z
0 28 2 streamId I
0 28 3 associatedStreamId I
0 28 4 headerBlock Ljava/util/List<Lokhttp3/internal/http2/Header;>;
5 23 5 stream Lokhttp3/internal/http2/Http2Stream;
25 28 5 stream Lokhttp3/internal/http2/Http2Stream;
13 21 7 headers Lokhttp3/Headers;
16 21 8 newStream Lokhttp3/internal/http2/Http2Stream;
Exception table:
from to target type
4 7 23 any
8 9 23 any
10 11 23 any
12 20 23 any
21 22 23 any
23 24 23 any
Signature: (ZIILjava/util/List<Lokhttp3/internal/http2/Header;>;)V
MethodParameters:
Name Flags
inFinished
streamId
associatedStreamId
headerBlock
public void rstStream(int, okhttp3.internal.http2.ErrorCode);
descriptor: (ILokhttp3/internal/http2/ErrorCode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
iload 1
invokevirtual okhttp3.internal.http2.Http2Connection.pushedStream:(I)Z
ifeq 3
1: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
iload 1
aload 2
invokevirtual okhttp3.internal.http2.Http2Connection.pushResetLater:(ILokhttp3/internal/http2/ErrorCode;)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
iload 1
invokevirtual okhttp3.internal.http2.Http2Connection.removeStream:(I)Lokhttp3/internal/http2/Http2Stream;
astore 3
start local 3 4: aload 3
ifnull 6
5: aload 3
aload 2
invokevirtual okhttp3.internal.http2.Http2Stream.receiveRstStream:(Lokhttp3/internal/http2/ErrorCode;)V
6: StackMap locals: okhttp3.internal.http2.Http2Stream
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lokhttp3/internal/http2/Http2Connection$ReaderRunnable;
0 7 1 streamId I
0 7 2 errorCode Lokhttp3/internal/http2/ErrorCode;
4 7 3 rstStream Lokhttp3/internal/http2/Http2Stream;
MethodParameters:
Name Flags
streamId
errorCode
public void settings(boolean, okhttp3.internal.http2.Settings);
descriptor: (ZLokhttp3/internal/http2/Settings;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=11, args_size=3
start local 0 start local 1 start local 2 0: lconst_0
lstore 3
start local 3 1: aconst_null
astore 5
start local 5 2: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
dup
astore 6
monitorenter
3: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
getfield okhttp3.internal.http2.Http2Connection.peerSettings:Lokhttp3/internal/http2/Settings;
invokevirtual okhttp3.internal.http2.Settings.getInitialWindowSize:()I
istore 7
start local 7 4: iload 1
ifeq 5
aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
getfield okhttp3.internal.http2.Http2Connection.peerSettings:Lokhttp3/internal/http2/Settings;
invokevirtual okhttp3.internal.http2.Settings.clear:()V
5: StackMap locals: okhttp3.internal.http2.Http2Connection$ReaderRunnable int okhttp3.internal.http2.Settings long okhttp3.internal.http2.Http2Stream[] okhttp3.internal.http2.Http2Connection int
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
getfield okhttp3.internal.http2.Http2Connection.peerSettings:Lokhttp3/internal/http2/Settings;
aload 2
invokevirtual okhttp3.internal.http2.Settings.merge:(Lokhttp3/internal/http2/Settings;)V
6: aload 0
aload 2
invokevirtual okhttp3.internal.http2.Http2Connection$ReaderRunnable.applyAndAckSettings:(Lokhttp3/internal/http2/Settings;)V
7: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
getfield okhttp3.internal.http2.Http2Connection.peerSettings:Lokhttp3/internal/http2/Settings;
invokevirtual okhttp3.internal.http2.Settings.getInitialWindowSize:()I
istore 8
start local 8 8: iload 8
iconst_m1
if_icmpeq 14
iload 8
iload 7
if_icmpeq 14
9: iload 8
iload 7
isub
i2l
lstore 3
10: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
getfield okhttp3.internal.http2.Http2Connection.receivedInitialPeerSettings:Z
ifne 12
11: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
iconst_1
putfield okhttp3.internal.http2.Http2Connection.receivedInitialPeerSettings:Z
12: StackMap locals: int
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
getfield okhttp3.internal.http2.Http2Connection.streams:Ljava/util/Map;
invokeinterface java.util.Map.isEmpty:()Z
ifne 14
13: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
getfield okhttp3.internal.http2.Http2Connection.streams:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
getfield okhttp3.internal.http2.Http2Connection.streams:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
anewarray okhttp3.internal.http2.Http2Stream
invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast okhttp3.internal.http2.Http2Stream[]
astore 5
14: StackMap locals:
StackMap stack:
getstatic okhttp3.internal.http2.Http2Connection.listenerExecutor:Ljava/util/concurrent/ExecutorService;
new okhttp3.internal.http2.Http2Connection$ReaderRunnable$2
dup
aload 0
ldc "OkHttp %s settings"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
getfield okhttp3.internal.http2.Http2Connection.hostname:Ljava/lang/String;
aastore
invokespecial okhttp3.internal.http2.Http2Connection$ReaderRunnable$2.<init>:(Lokhttp3/internal/http2/Http2Connection$ReaderRunnable;Ljava/lang/String;[Ljava/lang/Object;)V
invokeinterface java.util.concurrent.ExecutorService.execute:(Ljava/lang/Runnable;)V
end local 8 end local 7 15: aload 6
monitorexit
16: goto 19
StackMap locals: okhttp3.internal.http2.Http2Connection$ReaderRunnable int okhttp3.internal.http2.Settings long okhttp3.internal.http2.Http2Stream[] okhttp3.internal.http2.Http2Connection
StackMap stack: java.lang.Throwable
17: aload 6
monitorexit
18: athrow
19: StackMap locals:
StackMap stack:
aload 5
ifnull 30
lload 3
lconst_0
lcmp
ifeq 30
20: aload 5
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 29
StackMap locals: okhttp3.internal.http2.Http2Connection$ReaderRunnable int okhttp3.internal.http2.Settings long okhttp3.internal.http2.Http2Stream[] top int int okhttp3.internal.http2.Http2Stream[]
StackMap stack:
21: aload 9
iload 7
aaload
astore 6
start local 6 22: aload 6
dup
astore 10
monitorenter
23: aload 6
lload 3
invokevirtual okhttp3.internal.http2.Http2Stream.addBytesToWriteWindow:(J)V
24: aload 10
monitorexit
25: goto 28
StackMap locals: okhttp3.internal.http2.Http2Connection$ReaderRunnable int okhttp3.internal.http2.Settings long okhttp3.internal.http2.Http2Stream[] okhttp3.internal.http2.Http2Stream int int okhttp3.internal.http2.Http2Stream[] okhttp3.internal.http2.Http2Stream
StackMap stack: java.lang.Throwable
26: aload 10
monitorexit
27: athrow
end local 6 28: StackMap locals: okhttp3.internal.http2.Http2Connection$ReaderRunnable int okhttp3.internal.http2.Settings long okhttp3.internal.http2.Http2Stream[] top int int okhttp3.internal.http2.Http2Stream[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
29: iload 7
iload 8
if_icmplt 21
30: StackMap locals: okhttp3.internal.http2.Http2Connection$ReaderRunnable int okhttp3.internal.http2.Settings long okhttp3.internal.http2.Http2Stream[]
StackMap stack:
return
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lokhttp3/internal/http2/Http2Connection$ReaderRunnable;
0 31 1 clearPrevious Z
0 31 2 newSettings Lokhttp3/internal/http2/Settings;
1 31 3 delta J
2 31 5 streamsToNotify [Lokhttp3/internal/http2/Http2Stream;
4 15 7 priorWriteWindowSize I
8 15 8 peerInitialWindowSize I
22 28 6 stream Lokhttp3/internal/http2/Http2Stream;
Exception table:
from to target type
3 16 17 any
17 18 17 any
23 25 26 any
26 27 26 any
MethodParameters:
Name Flags
clearPrevious
newSettings
private void applyAndAckSettings(okhttp3.internal.http2.Settings);
descriptor: (Lokhttp3/internal/http2/Settings;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
getfield okhttp3.internal.http2.Http2Connection.writerExecutor:Ljava/util/concurrent/ScheduledExecutorService;
new okhttp3.internal.http2.Http2Connection$ReaderRunnable$3
dup
aload 0
ldc "OkHttp %s ACK Settings"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
getfield okhttp3.internal.http2.Http2Connection.hostname:Ljava/lang/String;
aastore
aload 1
invokespecial okhttp3.internal.http2.Http2Connection$ReaderRunnable$3.<init>:(Lokhttp3/internal/http2/Http2Connection$ReaderRunnable;Ljava/lang/String;[Ljava/lang/Object;Lokhttp3/internal/http2/Settings;)V
invokeinterface java.util.concurrent.ScheduledExecutorService.execute:(Ljava/lang/Runnable;)V
1: goto 3
StackMap locals:
StackMap stack: java.util.concurrent.RejectedExecutionException
2: pop
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lokhttp3/internal/http2/Http2Connection$ReaderRunnable;
0 4 1 peerSettings Lokhttp3/internal/http2/Settings;
Exception table:
from to target type
0 1 2 Class java.util.concurrent.RejectedExecutionException
MethodParameters:
Name Flags
peerSettings final
public void ackSettings();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lokhttp3/internal/http2/Http2Connection$ReaderRunnable;
public void ping(boolean, int, int);
descriptor: (ZII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
ifeq 8
1: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
dup
astore 4
monitorenter
2: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
iconst_0
putfield okhttp3.internal.http2.Http2Connection.awaitingPong:Z
3: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
invokevirtual java.lang.Object.notifyAll:()V
4: aload 4
monitorexit
5: goto 11
StackMap locals: okhttp3.internal.http2.Http2Connection$ReaderRunnable int int int okhttp3.internal.http2.Http2Connection
StackMap stack: java.lang.Throwable
6: aload 4
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
getfield okhttp3.internal.http2.Http2Connection.writerExecutor:Ljava/util/concurrent/ScheduledExecutorService;
new okhttp3.internal.http2.Http2Connection$PingRunnable
dup
aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
iconst_1
iload 2
iload 3
invokespecial okhttp3.internal.http2.Http2Connection$PingRunnable.<init>:(Lokhttp3/internal/http2/Http2Connection;ZII)V
invokeinterface java.util.concurrent.ScheduledExecutorService.execute:(Ljava/lang/Runnable;)V
9: goto 11
StackMap locals:
StackMap stack: java.util.concurrent.RejectedExecutionException
10: pop
11: StackMap locals:
StackMap stack:
return
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/Http2Connection$ReaderRunnable;
0 12 1 reply Z
0 12 2 payload1 I
0 12 3 payload2 I
Exception table:
from to target type
2 5 6 any
6 7 6 any
8 9 10 Class java.util.concurrent.RejectedExecutionException
MethodParameters:
Name Flags
reply
payload1
payload2
public void goAway(int, okhttp3.internal.http2.ErrorCode, okio.ByteString);
descriptor: (ILokhttp3/internal/http2/ErrorCode;Lokio/ByteString;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual okio.ByteString.size:()I
pop
1: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
dup
astore 5
monitorenter
2: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
getfield okhttp3.internal.http2.Http2Connection.streams:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
getfield okhttp3.internal.http2.Http2Connection.streams:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
anewarray okhttp3.internal.http2.Http2Stream
invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast okhttp3.internal.http2.Http2Stream[]
astore 4
start local 4 3: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
iconst_1
putfield okhttp3.internal.http2.Http2Connection.shutdown:Z
4: aload 5
monitorexit
5: goto 8
end local 4 StackMap locals: okhttp3.internal.http2.Http2Connection$ReaderRunnable int okhttp3.internal.http2.ErrorCode okio.ByteString top okhttp3.internal.http2.Http2Connection
StackMap stack: java.lang.Throwable
6: aload 5
monitorexit
7: athrow
start local 4 8: StackMap locals: okhttp3.internal.http2.Http2Connection$ReaderRunnable int okhttp3.internal.http2.ErrorCode okio.ByteString okhttp3.internal.http2.Http2Stream[]
StackMap stack:
aload 4
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 14
StackMap locals: okhttp3.internal.http2.Http2Connection$ReaderRunnable int okhttp3.internal.http2.ErrorCode okio.ByteString okhttp3.internal.http2.Http2Stream[] top int int okhttp3.internal.http2.Http2Stream[]
StackMap stack:
9: aload 8
iload 6
aaload
astore 5
start local 5 10: aload 5
invokevirtual okhttp3.internal.http2.Http2Stream.getId:()I
iload 1
if_icmple 13
aload 5
invokevirtual okhttp3.internal.http2.Http2Stream.isLocallyInitiated:()Z
ifeq 13
11: aload 5
getstatic okhttp3.internal.http2.ErrorCode.REFUSED_STREAM:Lokhttp3/internal/http2/ErrorCode;
invokevirtual okhttp3.internal.http2.Http2Stream.receiveRstStream:(Lokhttp3/internal/http2/ErrorCode;)V
12: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
aload 5
invokevirtual okhttp3.internal.http2.Http2Stream.getId:()I
invokevirtual okhttp3.internal.http2.Http2Connection.removeStream:(I)Lokhttp3/internal/http2/Http2Stream;
pop
end local 5 13: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
14: iload 6
iload 7
if_icmplt 9
15: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lokhttp3/internal/http2/Http2Connection$ReaderRunnable;
0 16 1 lastGoodStreamId I
0 16 2 errorCode Lokhttp3/internal/http2/ErrorCode;
0 16 3 debugData Lokio/ByteString;
3 6 4 streamsCopy [Lokhttp3/internal/http2/Http2Stream;
8 16 4 streamsCopy [Lokhttp3/internal/http2/Http2Stream;
10 13 5 http2Stream Lokhttp3/internal/http2/Http2Stream;
Exception table:
from to target type
2 5 6 any
6 7 6 any
MethodParameters:
Name Flags
lastGoodStreamId
errorCode
debugData
public void windowUpdate(int, long);
descriptor: (IJ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifne 8
1: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
dup
astore 4
monitorenter
2: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
dup
getfield okhttp3.internal.http2.Http2Connection.bytesLeftInWriteWindow:J
lload 2
ladd
putfield okhttp3.internal.http2.Http2Connection.bytesLeftInWriteWindow:J
3: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
invokevirtual java.lang.Object.notifyAll:()V
4: aload 4
monitorexit
5: goto 16
StackMap locals: okhttp3.internal.http2.Http2Connection$ReaderRunnable int long okhttp3.internal.http2.Http2Connection
StackMap stack: java.lang.Throwable
6: aload 4
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
iload 1
invokevirtual okhttp3.internal.http2.Http2Connection.getStream:(I)Lokhttp3/internal/http2/Http2Stream;
astore 4
start local 4 9: aload 4
ifnull 16
10: aload 4
dup
astore 5
monitorenter
11: aload 4
lload 2
invokevirtual okhttp3.internal.http2.Http2Stream.addBytesToWriteWindow:(J)V
12: aload 5
monitorexit
13: goto 16
StackMap locals: okhttp3.internal.http2.Http2Connection$ReaderRunnable int long okhttp3.internal.http2.Http2Stream okhttp3.internal.http2.Http2Stream
StackMap stack: java.lang.Throwable
14: aload 5
monitorexit
15: athrow
end local 4 16: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lokhttp3/internal/http2/Http2Connection$ReaderRunnable;
0 17 1 streamId I
0 17 2 windowSizeIncrement J
9 16 4 stream Lokhttp3/internal/http2/Http2Stream;
Exception table:
from to target type
2 5 6 any
6 7 6 any
11 13 14 any
14 15 14 any
MethodParameters:
Name Flags
streamId
windowSizeIncrement
public void priority(int, int, int, boolean);
descriptor: (IIIZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lokhttp3/internal/http2/Http2Connection$ReaderRunnable;
0 1 1 streamId I
0 1 2 streamDependency I
0 1 3 weight I
0 1 4 exclusive Z
MethodParameters:
Name Flags
streamId
streamDependency
weight
exclusive
public void pushPromise(int, int, java.util.List<okhttp3.internal.http2.Header>);
descriptor: (IILjava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
iload 2
aload 3
invokevirtual okhttp3.internal.http2.Http2Connection.pushRequestLater:(ILjava/util/List;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lokhttp3/internal/http2/Http2Connection$ReaderRunnable;
0 2 1 streamId I
0 2 2 promisedStreamId I
0 2 3 requestHeaders Ljava/util/List<Lokhttp3/internal/http2/Header;>;
Signature: (IILjava/util/List<Lokhttp3/internal/http2/Header;>;)V
MethodParameters:
Name Flags
streamId
promisedStreamId
requestHeaders
public void alternateService(int, java.lang.String, okio.ByteString, java.lang.String, int, long);
descriptor: (ILjava/lang/String;Lokio/ByteString;Ljava/lang/String;IJ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: return
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 1 0 this Lokhttp3/internal/http2/Http2Connection$ReaderRunnable;
0 1 1 streamId I
0 1 2 origin Ljava/lang/String;
0 1 3 protocol Lokio/ByteString;
0 1 4 host Ljava/lang/String;
0 1 5 port I
0 1 6 maxAge J
MethodParameters:
Name Flags
streamId
origin
protocol
host
port
maxAge
static okhttp3.internal.http2.Http2Connection access$0(okhttp3.internal.http2.Http2Connection$ReaderRunnable);
descriptor: (Lokhttp3/internal/http2/Http2Connection$ReaderRunnable;)Lokhttp3/internal/http2/Http2Connection;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
getfield okhttp3.internal.http2.Http2Connection$ReaderRunnable.this$0:Lokhttp3/internal/http2/Http2Connection;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "Http2Connection.java"
NestHost: okhttp3.internal.http2.Http2Connection
InnerClasses:
final PingRunnable = okhttp3.internal.http2.Http2Connection$PingRunnable of okhttp3.internal.http2.Http2Connection
ReaderRunnable = okhttp3.internal.http2.Http2Connection$ReaderRunnable of okhttp3.internal.http2.Http2Connection
okhttp3.internal.http2.Http2Connection$ReaderRunnable$1
okhttp3.internal.http2.Http2Connection$ReaderRunnable$2
okhttp3.internal.http2.Http2Connection$ReaderRunnable$3
abstract Handler = okhttp3.internal.http2.Http2Reader$Handler of okhttp3.internal.http2.Http2Reader