public final class okhttp3.internal.connection.StreamAllocation
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: okhttp3.internal.connection.StreamAllocation
super_class: java.lang.Object
{
public final okhttp3.Address address;
descriptor: Lokhttp3/Address;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
private okhttp3.internal.connection.RouteSelector$Selection routeSelection;
descriptor: Lokhttp3/internal/connection/RouteSelector$Selection;
flags: (0x0002) ACC_PRIVATE
private okhttp3.Route route;
descriptor: Lokhttp3/Route;
flags: (0x0002) ACC_PRIVATE
private final okhttp3.ConnectionPool connectionPool;
descriptor: Lokhttp3/ConnectionPool;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public final okhttp3.Call call;
descriptor: Lokhttp3/Call;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final okhttp3.EventListener eventListener;
descriptor: Lokhttp3/EventListener;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
private final java.lang.Object callStackTrace;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final okhttp3.internal.connection.RouteSelector routeSelector;
descriptor: Lokhttp3/internal/connection/RouteSelector;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int refusedStreamCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private okhttp3.internal.connection.RealConnection connection;
descriptor: Lokhttp3/internal/connection/RealConnection;
flags: (0x0002) ACC_PRIVATE
private boolean reportedAcquired;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean released;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean canceled;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private okhttp3.internal.http.HttpCodec codec;
descriptor: Lokhttp3/internal/http/HttpCodec;
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lokhttp3/internal/connection/StreamAllocation;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic okhttp3.internal.connection.StreamAllocation.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(okhttp3.ConnectionPool, okhttp3.Address, okhttp3.Call, okhttp3.EventListener, java.lang.Object);
descriptor: (Lokhttp3/ConnectionPool;Lokhttp3/Address;Lokhttp3/Call;Lokhttp3/EventListener;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield okhttp3.internal.connection.StreamAllocation.connectionPool:Lokhttp3/ConnectionPool;
2: aload 0
aload 2
putfield okhttp3.internal.connection.StreamAllocation.address:Lokhttp3/Address;
3: aload 0
aload 3
putfield okhttp3.internal.connection.StreamAllocation.call:Lokhttp3/Call;
4: aload 0
aload 4
putfield okhttp3.internal.connection.StreamAllocation.eventListener:Lokhttp3/EventListener;
5: aload 0
new okhttp3.internal.connection.RouteSelector
dup
aload 2
aload 0
invokevirtual okhttp3.internal.connection.StreamAllocation.routeDatabase:()Lokhttp3/internal/connection/RouteDatabase;
aload 3
aload 4
invokespecial okhttp3.internal.connection.RouteSelector.<init>:(Lokhttp3/Address;Lokhttp3/internal/connection/RouteDatabase;Lokhttp3/Call;Lokhttp3/EventListener;)V
putfield okhttp3.internal.connection.StreamAllocation.routeSelector:Lokhttp3/internal/connection/RouteSelector;
6: aload 0
aload 5
putfield okhttp3.internal.connection.StreamAllocation.callStackTrace:Ljava/lang/Object;
7: 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 8 0 this Lokhttp3/internal/connection/StreamAllocation;
0 8 1 connectionPool Lokhttp3/ConnectionPool;
0 8 2 address Lokhttp3/Address;
0 8 3 call Lokhttp3/Call;
0 8 4 eventListener Lokhttp3/EventListener;
0 8 5 callStackTrace Ljava/lang/Object;
MethodParameters:
Name Flags
connectionPool
address
call
eventListener
callStackTrace
public okhttp3.internal.http.HttpCodec newStream(okhttp3.OkHttpClient, okhttp3.Interceptor$Chain, boolean);
descriptor: (Lokhttp3/OkHttpClient;Lokhttp3/Interceptor$Chain;Z)Lokhttp3/internal/http/HttpCodec;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokeinterface okhttp3.Interceptor$Chain.connectTimeoutMillis:()I
istore 4
start local 4 1: aload 2
invokeinterface okhttp3.Interceptor$Chain.readTimeoutMillis:()I
istore 5
start local 5 2: aload 2
invokeinterface okhttp3.Interceptor$Chain.writeTimeoutMillis:()I
istore 6
start local 6 3: aload 1
invokevirtual okhttp3.OkHttpClient.pingIntervalMillis:()I
istore 7
start local 7 4: aload 1
invokevirtual okhttp3.OkHttpClient.retryOnConnectionFailure:()Z
istore 8
start local 8 5: aload 0
iload 4
iload 5
6: iload 6
iload 7
iload 8
iload 3
7: invokevirtual okhttp3.internal.connection.StreamAllocation.findHealthyConnection:(IIIIZZ)Lokhttp3/internal/connection/RealConnection;
astore 9
start local 9 8: aload 9
aload 1
aload 2
aload 0
invokevirtual okhttp3.internal.connection.RealConnection.newCodec:(Lokhttp3/OkHttpClient;Lokhttp3/Interceptor$Chain;Lokhttp3/internal/connection/StreamAllocation;)Lokhttp3/internal/http/HttpCodec;
astore 10
start local 10 9: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connectionPool:Lokhttp3/ConnectionPool;
dup
astore 11
monitorenter
10: aload 0
aload 10
putfield okhttp3.internal.connection.StreamAllocation.codec:Lokhttp3/internal/http/HttpCodec;
11: aload 10
aload 11
monitorexit
12: areturn
13: StackMap locals: okhttp3.internal.connection.StreamAllocation okhttp3.OkHttpClient okhttp3.Interceptor$Chain int int int int int int okhttp3.internal.connection.RealConnection okhttp3.internal.http.HttpCodec okhttp3.ConnectionPool
StackMap stack: java.lang.Throwable
aload 11
monitorexit
14: athrow
end local 10 end local 9 15: StackMap locals: okhttp3.internal.connection.StreamAllocation okhttp3.OkHttpClient okhttp3.Interceptor$Chain int int int int int int
StackMap stack: java.io.IOException
astore 9
start local 9 16: new okhttp3.internal.connection.RouteException
dup
aload 9
invokespecial okhttp3.internal.connection.RouteException.<init>:(Ljava/io/IOException;)V
athrow
end local 9 end local 8 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 17 0 this Lokhttp3/internal/connection/StreamAllocation;
0 17 1 client Lokhttp3/OkHttpClient;
0 17 2 chain Lokhttp3/Interceptor$Chain;
0 17 3 doExtensiveHealthChecks Z
1 17 4 connectTimeout I
2 17 5 readTimeout I
3 17 6 writeTimeout I
4 17 7 pingIntervalMillis I
5 17 8 connectionRetryEnabled Z
8 15 9 resultConnection Lokhttp3/internal/connection/RealConnection;
9 15 10 resultCodec Lokhttp3/internal/http/HttpCodec;
16 17 9 e Ljava/io/IOException;
Exception table:
from to target type
10 12 13 any
13 14 13 any
5 12 15 Class java.io.IOException
13 15 15 Class java.io.IOException
MethodParameters:
Name Flags
client
chain
doExtensiveHealthChecks
private okhttp3.internal.connection.RealConnection findHealthyConnection(int, int, int, int, boolean, boolean);
descriptor: (IIIIZZ)Lokhttp3/internal/connection/RealConnection;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, 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: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
iload 3
1: iload 4
iload 5
2: invokevirtual okhttp3.internal.connection.StreamAllocation.findConnection:(IIIIZ)Lokhttp3/internal/connection/RealConnection;
astore 7
start local 7 3: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connectionPool:Lokhttp3/ConnectionPool;
dup
astore 8
monitorenter
4: aload 7
getfield okhttp3.internal.connection.RealConnection.successCount:I
ifne 7
5: aload 7
aload 8
monitorexit
6: areturn
7: StackMap locals: okhttp3.internal.connection.RealConnection okhttp3.ConnectionPool
StackMap stack:
aload 8
monitorexit
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 8
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
aload 7
iload 6
invokevirtual okhttp3.internal.connection.RealConnection.isHealthy:(Z)Z
ifne 14
12: aload 0
invokevirtual okhttp3.internal.connection.StreamAllocation.noNewStreams:()V
13: goto 0
14: StackMap locals:
StackMap stack:
aload 7
areturn
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 15 0 this Lokhttp3/internal/connection/StreamAllocation;
0 15 1 connectTimeout I
0 15 2 readTimeout I
0 15 3 writeTimeout I
0 15 4 pingIntervalMillis I
0 15 5 connectionRetryEnabled Z
0 15 6 doExtensiveHealthChecks Z
3 15 7 candidate Lokhttp3/internal/connection/RealConnection;
Exception table:
from to target type
4 6 9 any
7 8 9 any
9 10 9 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
connectTimeout
readTimeout
writeTimeout
pingIntervalMillis
connectionRetryEnabled
doExtensiveHealthChecks
private okhttp3.internal.connection.RealConnection findConnection(int, int, int, int, boolean);
descriptor: (IIIIZ)Lokhttp3/internal/connection/RealConnection;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=17, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iconst_0
istore 6
start local 6 1: aconst_null
astore 7
start local 7 2: aconst_null
astore 8
start local 8 3: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connectionPool:Lokhttp3/ConnectionPool;
dup
astore 11
monitorenter
4: aload 0
getfield okhttp3.internal.connection.StreamAllocation.released:Z
ifeq 5
new java.lang.IllegalStateException
dup
ldc "released"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: okhttp3.internal.connection.StreamAllocation int int int int int int okhttp3.internal.connection.RealConnection okhttp3.Route top top okhttp3.ConnectionPool
StackMap stack:
aload 0
getfield okhttp3.internal.connection.StreamAllocation.codec:Lokhttp3/internal/http/HttpCodec;
ifnull 6
new java.lang.IllegalStateException
dup
ldc "codec != null"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.connection.StreamAllocation.canceled:Z
ifeq 7
new java.io.IOException
dup
ldc "Canceled"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
astore 9
start local 9 8: aload 0
invokevirtual okhttp3.internal.connection.StreamAllocation.releaseIfNoNewStreams:()Ljava/net/Socket;
astore 10
start local 10 9: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
ifnull 12
10: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
astore 7
11: aconst_null
astore 9
12: StackMap locals: okhttp3.internal.connection.StreamAllocation int int int int int int okhttp3.internal.connection.RealConnection okhttp3.Route okhttp3.Connection java.net.Socket okhttp3.ConnectionPool
StackMap stack:
aload 0
getfield okhttp3.internal.connection.StreamAllocation.reportedAcquired:Z
ifne 14
13: aconst_null
astore 9
14: StackMap locals:
StackMap stack:
aload 7
ifnonnull 21
15: getstatic okhttp3.internal.Internal.instance:Lokhttp3/internal/Internal;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.connectionPool:Lokhttp3/ConnectionPool;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.address:Lokhttp3/Address;
aload 0
aconst_null
invokevirtual okhttp3.internal.Internal.get:(Lokhttp3/ConnectionPool;Lokhttp3/Address;Lokhttp3/internal/connection/StreamAllocation;Lokhttp3/Route;)Lokhttp3/internal/connection/RealConnection;
pop
16: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
ifnull 20
17: iconst_1
istore 6
18: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
astore 7
19: goto 21
20: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.connection.StreamAllocation.route:Lokhttp3/Route;
astore 8
21: StackMap locals:
StackMap stack:
aload 11
monitorexit
22: goto 25
end local 10 end local 9 StackMap locals: okhttp3.internal.connection.StreamAllocation int int int int int int okhttp3.internal.connection.RealConnection okhttp3.Route top top okhttp3.ConnectionPool
StackMap stack: java.lang.Throwable
23: aload 11
monitorexit
24: athrow
start local 9 start local 10 25: StackMap locals: okhttp3.internal.connection.StreamAllocation int int int int int int okhttp3.internal.connection.RealConnection okhttp3.Route okhttp3.Connection java.net.Socket
StackMap stack:
aload 10
invokestatic okhttp3.internal.Util.closeQuietly:(Ljava/net/Socket;)V
26: aload 9
ifnull 28
27: aload 0
getfield okhttp3.internal.connection.StreamAllocation.eventListener:Lokhttp3/EventListener;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.call:Lokhttp3/Call;
aload 9
invokevirtual okhttp3.EventListener.connectionReleased:(Lokhttp3/Call;Lokhttp3/Connection;)V
28: StackMap locals:
StackMap stack:
iload 6
ifeq 30
29: aload 0
getfield okhttp3.internal.connection.StreamAllocation.eventListener:Lokhttp3/EventListener;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.call:Lokhttp3/Call;
aload 7
invokevirtual okhttp3.EventListener.connectionAcquired:(Lokhttp3/Call;Lokhttp3/Connection;)V
30: StackMap locals:
StackMap stack:
aload 7
ifnull 32
31: aload 7
areturn
32: StackMap locals:
StackMap stack:
iconst_0
istore 11
start local 11 33: aload 8
ifnonnull 36
aload 0
getfield okhttp3.internal.connection.StreamAllocation.routeSelection:Lokhttp3/internal/connection/RouteSelector$Selection;
ifnull 34
aload 0
getfield okhttp3.internal.connection.StreamAllocation.routeSelection:Lokhttp3/internal/connection/RouteSelector$Selection;
invokevirtual okhttp3.internal.connection.RouteSelector$Selection.hasNext:()Z
ifne 36
34: StackMap locals: int
StackMap stack:
iconst_1
istore 11
35: aload 0
aload 0
getfield okhttp3.internal.connection.StreamAllocation.routeSelector:Lokhttp3/internal/connection/RouteSelector;
invokevirtual okhttp3.internal.connection.RouteSelector.next:()Lokhttp3/internal/connection/RouteSelector$Selection;
putfield okhttp3.internal.connection.StreamAllocation.routeSelection:Lokhttp3/internal/connection/RouteSelector$Selection;
36: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.connection.StreamAllocation.connectionPool:Lokhttp3/ConnectionPool;
dup
astore 12
monitorenter
37: aload 0
getfield okhttp3.internal.connection.StreamAllocation.canceled:Z
ifeq 38
new java.io.IOException
dup
ldc "Canceled"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
38: StackMap locals: okhttp3.ConnectionPool
StackMap stack:
iload 11
ifeq 52
39: aload 0
getfield okhttp3.internal.connection.StreamAllocation.routeSelection:Lokhttp3/internal/connection/RouteSelector$Selection;
invokevirtual okhttp3.internal.connection.RouteSelector$Selection.getAll:()Ljava/util/List;
astore 13
start local 13 40: iconst_0
istore 14
start local 14 41: aload 13
invokeinterface java.util.List.size:()I
istore 15
start local 15 42: goto 51
43: StackMap locals: java.util.List int int
StackMap stack:
aload 13
iload 14
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast okhttp3.Route
astore 16
start local 16 44: getstatic okhttp3.internal.Internal.instance:Lokhttp3/internal/Internal;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.connectionPool:Lokhttp3/ConnectionPool;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.address:Lokhttp3/Address;
aload 0
aload 16
invokevirtual okhttp3.internal.Internal.get:(Lokhttp3/ConnectionPool;Lokhttp3/Address;Lokhttp3/internal/connection/StreamAllocation;Lokhttp3/Route;)Lokhttp3/internal/connection/RealConnection;
pop
45: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
ifnull 50
46: iconst_1
istore 6
47: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
astore 7
48: aload 0
aload 16
putfield okhttp3.internal.connection.StreamAllocation.route:Lokhttp3/Route;
49: goto 52
end local 16 50: StackMap locals:
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
51: iload 14
iload 15
if_icmplt 43
end local 15 end local 14 end local 13 52: StackMap locals:
StackMap stack:
iload 6
ifne 59
53: aload 8
ifnonnull 55
54: aload 0
getfield okhttp3.internal.connection.StreamAllocation.routeSelection:Lokhttp3/internal/connection/RouteSelector$Selection;
invokevirtual okhttp3.internal.connection.RouteSelector$Selection.next:()Lokhttp3/Route;
astore 8
55: StackMap locals:
StackMap stack:
aload 0
aload 8
putfield okhttp3.internal.connection.StreamAllocation.route:Lokhttp3/Route;
56: aload 0
iconst_0
putfield okhttp3.internal.connection.StreamAllocation.refusedStreamCount:I
57: new okhttp3.internal.connection.RealConnection
dup
aload 0
getfield okhttp3.internal.connection.StreamAllocation.connectionPool:Lokhttp3/ConnectionPool;
aload 8
invokespecial okhttp3.internal.connection.RealConnection.<init>:(Lokhttp3/ConnectionPool;Lokhttp3/Route;)V
astore 7
58: aload 0
aload 7
iconst_0
invokevirtual okhttp3.internal.connection.StreamAllocation.acquire:(Lokhttp3/internal/connection/RealConnection;Z)V
59: StackMap locals:
StackMap stack:
aload 12
monitorexit
60: goto 63
StackMap locals:
StackMap stack: java.lang.Throwable
61: aload 12
monitorexit
62: athrow
63: StackMap locals:
StackMap stack:
iload 6
ifeq 66
64: aload 0
getfield okhttp3.internal.connection.StreamAllocation.eventListener:Lokhttp3/EventListener;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.call:Lokhttp3/Call;
aload 7
invokevirtual okhttp3.EventListener.connectionAcquired:(Lokhttp3/Call;Lokhttp3/Connection;)V
65: aload 7
areturn
66: StackMap locals:
StackMap stack:
aload 7
iload 1
iload 2
iload 3
iload 4
67: iload 5
aload 0
getfield okhttp3.internal.connection.StreamAllocation.call:Lokhttp3/Call;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.eventListener:Lokhttp3/EventListener;
68: invokevirtual okhttp3.internal.connection.RealConnection.connect:(IIIIZLokhttp3/Call;Lokhttp3/EventListener;)V
69: aload 0
invokevirtual okhttp3.internal.connection.StreamAllocation.routeDatabase:()Lokhttp3/internal/connection/RouteDatabase;
aload 7
invokevirtual okhttp3.internal.connection.RealConnection.route:()Lokhttp3/Route;
invokevirtual okhttp3.internal.connection.RouteDatabase.connected:(Lokhttp3/Route;)V
70: aconst_null
astore 12
start local 12 71: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connectionPool:Lokhttp3/ConnectionPool;
dup
astore 13
monitorenter
72: aload 0
iconst_1
putfield okhttp3.internal.connection.StreamAllocation.reportedAcquired:Z
73: getstatic okhttp3.internal.Internal.instance:Lokhttp3/internal/Internal;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.connectionPool:Lokhttp3/ConnectionPool;
aload 7
invokevirtual okhttp3.internal.Internal.put:(Lokhttp3/ConnectionPool;Lokhttp3/internal/connection/RealConnection;)V
74: aload 7
invokevirtual okhttp3.internal.connection.RealConnection.isMultiplexed:()Z
ifeq 77
75: getstatic okhttp3.internal.Internal.instance:Lokhttp3/internal/Internal;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.connectionPool:Lokhttp3/ConnectionPool;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.address:Lokhttp3/Address;
aload 0
invokevirtual okhttp3.internal.Internal.deduplicate:(Lokhttp3/ConnectionPool;Lokhttp3/Address;Lokhttp3/internal/connection/StreamAllocation;)Ljava/net/Socket;
astore 12
76: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
astore 7
77: StackMap locals: java.net.Socket okhttp3.ConnectionPool
StackMap stack:
aload 13
monitorexit
78: goto 81
StackMap locals:
StackMap stack: java.lang.Throwable
79: aload 13
monitorexit
80: athrow
81: StackMap locals:
StackMap stack:
aload 12
invokestatic okhttp3.internal.Util.closeQuietly:(Ljava/net/Socket;)V
82: aload 0
getfield okhttp3.internal.connection.StreamAllocation.eventListener:Lokhttp3/EventListener;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.call:Lokhttp3/Call;
aload 7
invokevirtual okhttp3.EventListener.connectionAcquired:(Lokhttp3/Call;Lokhttp3/Connection;)V
83: aload 7
areturn
end local 12 end local 11 end local 10 end local 9 end local 8 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 84 0 this Lokhttp3/internal/connection/StreamAllocation;
0 84 1 connectTimeout I
0 84 2 readTimeout I
0 84 3 writeTimeout I
0 84 4 pingIntervalMillis I
0 84 5 connectionRetryEnabled Z
1 84 6 foundPooledConnection Z
2 84 7 result Lokhttp3/internal/connection/RealConnection;
3 84 8 selectedRoute Lokhttp3/Route;
8 23 9 releasedConnection Lokhttp3/Connection;
25 84 9 releasedConnection Lokhttp3/Connection;
9 23 10 toClose Ljava/net/Socket;
25 84 10 toClose Ljava/net/Socket;
33 84 11 newRouteSelection Z
40 52 13 routes Ljava/util/List<Lokhttp3/Route;>;
41 52 14 i I
42 52 15 size I
44 50 16 route Lokhttp3/Route;
71 84 12 socket Ljava/net/Socket;
Exception table:
from to target type
4 22 23 any
23 24 23 any
37 60 61 any
61 62 61 any
72 78 79 any
79 80 79 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
connectTimeout
readTimeout
writeTimeout
pingIntervalMillis
connectionRetryEnabled
private java.net.Socket releaseIfNoNewStreams();
descriptor: ()Ljava/net/Socket;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: getstatic okhttp3.internal.connection.StreamAllocation.$assertionsDisabled:Z
ifne 1
aload 0
getfield okhttp3.internal.connection.StreamAllocation.connectionPool:Lokhttp3/ConnectionPool;
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
astore 1
start local 1 2: aload 1
ifnull 4
aload 1
getfield okhttp3.internal.connection.RealConnection.noNewStreams:Z
ifeq 4
3: aload 0
iconst_0
iconst_0
iconst_1
invokevirtual okhttp3.internal.connection.StreamAllocation.deallocate:(ZZZ)Ljava/net/Socket;
areturn
4: StackMap locals: okhttp3.internal.connection.RealConnection
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lokhttp3/internal/connection/StreamAllocation;
2 5 1 allocatedConnection Lokhttp3/internal/connection/RealConnection;
public void streamFinished(boolean, okhttp3.internal.http.HttpCodec, long, java.io.IOException);
descriptor: (ZLokhttp3/internal/http/HttpCodec;JLjava/io/IOException;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aload 0
getfield okhttp3.internal.connection.StreamAllocation.eventListener:Lokhttp3/EventListener;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.call:Lokhttp3/Call;
lload 3
invokevirtual okhttp3.EventListener.responseBodyEnd:(Lokhttp3/Call;J)V
1: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connectionPool:Lokhttp3/ConnectionPool;
dup
astore 9
monitorenter
2: aload 2
ifnull 3
aload 2
aload 0
getfield okhttp3.internal.connection.StreamAllocation.codec:Lokhttp3/internal/http/HttpCodec;
if_acmpeq 4
3: StackMap locals: okhttp3.internal.connection.StreamAllocation int okhttp3.internal.http.HttpCodec long java.io.IOException top top top okhttp3.ConnectionPool
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "expected "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield okhttp3.internal.connection.StreamAllocation.codec:Lokhttp3/internal/http/HttpCodec;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " but was "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 1
ifne 6
5: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
dup
getfield okhttp3.internal.connection.RealConnection.successCount:I
iconst_1
iadd
putfield okhttp3.internal.connection.RealConnection.successCount:I
6: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
astore 7
start local 7 7: aload 0
iload 1
iconst_0
iconst_1
invokevirtual okhttp3.internal.connection.StreamAllocation.deallocate:(ZZZ)Ljava/net/Socket;
astore 6
start local 6 8: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
ifnull 9
aconst_null
astore 7
9: StackMap locals: okhttp3.internal.connection.StreamAllocation int okhttp3.internal.http.HttpCodec long java.io.IOException java.net.Socket okhttp3.Connection top okhttp3.ConnectionPool
StackMap stack:
aload 0
getfield okhttp3.internal.connection.StreamAllocation.released:Z
istore 8
start local 8 10: aload 9
monitorexit
11: goto 14
end local 8 end local 7 end local 6 StackMap locals: okhttp3.internal.connection.StreamAllocation int okhttp3.internal.http.HttpCodec long java.io.IOException top top top okhttp3.ConnectionPool
StackMap stack: java.lang.Throwable
12: aload 9
monitorexit
13: athrow
start local 6 start local 7 start local 8 14: StackMap locals: okhttp3.internal.connection.StreamAllocation int okhttp3.internal.http.HttpCodec long java.io.IOException java.net.Socket okhttp3.Connection int
StackMap stack:
aload 6
invokestatic okhttp3.internal.Util.closeQuietly:(Ljava/net/Socket;)V
15: aload 7
ifnull 17
16: aload 0
getfield okhttp3.internal.connection.StreamAllocation.eventListener:Lokhttp3/EventListener;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.call:Lokhttp3/Call;
aload 7
invokevirtual okhttp3.EventListener.connectionReleased:(Lokhttp3/Call;Lokhttp3/Connection;)V
17: StackMap locals:
StackMap stack:
aload 5
ifnull 21
18: getstatic okhttp3.internal.Internal.instance:Lokhttp3/internal/Internal;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.call:Lokhttp3/Call;
aload 5
invokevirtual okhttp3.internal.Internal.timeoutExit:(Lokhttp3/Call;Ljava/io/IOException;)Ljava/io/IOException;
astore 5
19: aload 0
getfield okhttp3.internal.connection.StreamAllocation.eventListener:Lokhttp3/EventListener;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.call:Lokhttp3/Call;
aload 5
invokevirtual okhttp3.EventListener.callFailed:(Lokhttp3/Call;Ljava/io/IOException;)V
20: goto 24
StackMap locals:
StackMap stack:
21: iload 8
ifeq 24
22: getstatic okhttp3.internal.Internal.instance:Lokhttp3/internal/Internal;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.call:Lokhttp3/Call;
aconst_null
invokevirtual okhttp3.internal.Internal.timeoutExit:(Lokhttp3/Call;Ljava/io/IOException;)Ljava/io/IOException;
pop
23: aload 0
getfield okhttp3.internal.connection.StreamAllocation.eventListener:Lokhttp3/EventListener;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.call:Lokhttp3/Call;
invokevirtual okhttp3.EventListener.callEnd:(Lokhttp3/Call;)V
24: StackMap locals:
StackMap stack:
return
end local 8 end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lokhttp3/internal/connection/StreamAllocation;
0 25 1 noNewStreams Z
0 25 2 codec Lokhttp3/internal/http/HttpCodec;
0 25 3 bytesRead J
0 25 5 e Ljava/io/IOException;
8 12 6 socket Ljava/net/Socket;
14 25 6 socket Ljava/net/Socket;
7 12 7 releasedConnection Lokhttp3/Connection;
14 25 7 releasedConnection Lokhttp3/Connection;
10 12 8 callEnd Z
14 25 8 callEnd Z
Exception table:
from to target type
2 11 12 any
12 13 12 any
MethodParameters:
Name Flags
noNewStreams
codec
bytesRead
e
public okhttp3.internal.http.HttpCodec codec();
descriptor: ()Lokhttp3/internal/http/HttpCodec;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connectionPool:Lokhttp3/ConnectionPool;
dup
astore 1
monitorenter
1: aload 0
getfield okhttp3.internal.connection.StreamAllocation.codec:Lokhttp3/internal/http/HttpCodec;
aload 1
monitorexit
2: areturn
3: StackMap locals: okhttp3.internal.connection.StreamAllocation okhttp3.ConnectionPool
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lokhttp3/internal/connection/StreamAllocation;
Exception table:
from to target type
1 2 3 any
3 4 3 any
private okhttp3.internal.connection.RouteDatabase routeDatabase();
descriptor: ()Lokhttp3/internal/connection/RouteDatabase;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic okhttp3.internal.Internal.instance:Lokhttp3/internal/Internal;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.connectionPool:Lokhttp3/ConnectionPool;
invokevirtual okhttp3.internal.Internal.routeDatabase:(Lokhttp3/ConnectionPool;)Lokhttp3/internal/connection/RouteDatabase;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lokhttp3/internal/connection/StreamAllocation;
public okhttp3.Route route();
descriptor: ()Lokhttp3/Route;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield okhttp3.internal.connection.StreamAllocation.route:Lokhttp3/Route;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lokhttp3/internal/connection/StreamAllocation;
public synchronized okhttp3.internal.connection.RealConnection connection();
descriptor: ()Lokhttp3/internal/connection/RealConnection;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lokhttp3/internal/connection/StreamAllocation;
public void release();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connectionPool:Lokhttp3/ConnectionPool;
dup
astore 3
monitorenter
1: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
astore 2
start local 2 2: aload 0
iconst_0
iconst_1
iconst_0
invokevirtual okhttp3.internal.connection.StreamAllocation.deallocate:(ZZZ)Ljava/net/Socket;
astore 1
start local 1 3: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
ifnull 4
aconst_null
astore 2
4: StackMap locals: java.net.Socket okhttp3.Connection okhttp3.ConnectionPool
StackMap stack:
aload 3
monitorexit
5: goto 8
end local 2 end local 1 StackMap locals: okhttp3.internal.connection.StreamAllocation top top okhttp3.ConnectionPool
StackMap stack: java.lang.Throwable
6: aload 3
monitorexit
7: athrow
start local 1 start local 2 8: StackMap locals: okhttp3.internal.connection.StreamAllocation java.net.Socket okhttp3.Connection
StackMap stack:
aload 1
invokestatic okhttp3.internal.Util.closeQuietly:(Ljava/net/Socket;)V
9: aload 2
ifnull 13
10: getstatic okhttp3.internal.Internal.instance:Lokhttp3/internal/Internal;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.call:Lokhttp3/Call;
aconst_null
invokevirtual okhttp3.internal.Internal.timeoutExit:(Lokhttp3/Call;Ljava/io/IOException;)Ljava/io/IOException;
pop
11: aload 0
getfield okhttp3.internal.connection.StreamAllocation.eventListener:Lokhttp3/EventListener;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.call:Lokhttp3/Call;
aload 2
invokevirtual okhttp3.EventListener.connectionReleased:(Lokhttp3/Call;Lokhttp3/Connection;)V
12: aload 0
getfield okhttp3.internal.connection.StreamAllocation.eventListener:Lokhttp3/EventListener;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.call:Lokhttp3/Call;
invokevirtual okhttp3.EventListener.callEnd:(Lokhttp3/Call;)V
13: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lokhttp3/internal/connection/StreamAllocation;
3 6 1 socket Ljava/net/Socket;
8 14 1 socket Ljava/net/Socket;
2 6 2 releasedConnection Lokhttp3/Connection;
8 14 2 releasedConnection Lokhttp3/Connection;
Exception table:
from to target type
1 5 6 any
6 7 6 any
public void noNewStreams();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connectionPool:Lokhttp3/ConnectionPool;
dup
astore 3
monitorenter
1: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
astore 2
start local 2 2: aload 0
iconst_1
iconst_0
iconst_0
invokevirtual okhttp3.internal.connection.StreamAllocation.deallocate:(ZZZ)Ljava/net/Socket;
astore 1
start local 1 3: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
ifnull 4
aconst_null
astore 2
4: StackMap locals: java.net.Socket okhttp3.Connection okhttp3.ConnectionPool
StackMap stack:
aload 3
monitorexit
5: goto 8
end local 2 end local 1 StackMap locals: okhttp3.internal.connection.StreamAllocation top top okhttp3.ConnectionPool
StackMap stack: java.lang.Throwable
6: aload 3
monitorexit
7: athrow
start local 1 start local 2 8: StackMap locals: okhttp3.internal.connection.StreamAllocation java.net.Socket okhttp3.Connection
StackMap stack:
aload 1
invokestatic okhttp3.internal.Util.closeQuietly:(Ljava/net/Socket;)V
9: aload 2
ifnull 11
10: aload 0
getfield okhttp3.internal.connection.StreamAllocation.eventListener:Lokhttp3/EventListener;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.call:Lokhttp3/Call;
aload 2
invokevirtual okhttp3.EventListener.connectionReleased:(Lokhttp3/Call;Lokhttp3/Connection;)V
11: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lokhttp3/internal/connection/StreamAllocation;
3 6 1 socket Ljava/net/Socket;
8 12 1 socket Ljava/net/Socket;
2 6 2 releasedConnection Lokhttp3/Connection;
8 12 2 releasedConnection Lokhttp3/Connection;
Exception table:
from to target type
1 5 6 any
6 7 6 any
private java.net.Socket deallocate(boolean, boolean, boolean);
descriptor: (ZZZ)Ljava/net/Socket;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic okhttp3.internal.connection.StreamAllocation.$assertionsDisabled:Z
ifne 1
aload 0
getfield okhttp3.internal.connection.StreamAllocation.connectionPool:Lokhttp3/ConnectionPool;
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iload 3
ifeq 3
2: aload 0
aconst_null
putfield okhttp3.internal.connection.StreamAllocation.codec:Lokhttp3/internal/http/HttpCodec;
3: StackMap locals:
StackMap stack:
iload 2
ifeq 5
4: aload 0
iconst_1
putfield okhttp3.internal.connection.StreamAllocation.released:Z
5: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 6: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
ifnull 16
7: iload 1
ifeq 9
8: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
iconst_1
putfield okhttp3.internal.connection.RealConnection.noNewStreams:Z
9: StackMap locals: java.net.Socket
StackMap stack:
aload 0
getfield okhttp3.internal.connection.StreamAllocation.codec:Lokhttp3/internal/http/HttpCodec;
ifnonnull 16
aload 0
getfield okhttp3.internal.connection.StreamAllocation.released:Z
ifne 10
aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
getfield okhttp3.internal.connection.RealConnection.noNewStreams:Z
ifeq 16
10: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
invokevirtual okhttp3.internal.connection.StreamAllocation.release:(Lokhttp3/internal/connection/RealConnection;)V
11: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
getfield okhttp3.internal.connection.RealConnection.allocations:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 15
12: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
invokestatic java.lang.System.nanoTime:()J
putfield okhttp3.internal.connection.RealConnection.idleAtNanos:J
13: getstatic okhttp3.internal.Internal.instance:Lokhttp3/internal/Internal;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.connectionPool:Lokhttp3/ConnectionPool;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
invokevirtual okhttp3.internal.Internal.connectionBecameIdle:(Lokhttp3/ConnectionPool;Lokhttp3/internal/connection/RealConnection;)Z
ifeq 15
14: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
invokevirtual okhttp3.internal.connection.RealConnection.socket:()Ljava/net/Socket;
astore 4
15: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
16: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lokhttp3/internal/connection/StreamAllocation;
0 17 1 noNewStreams Z
0 17 2 released Z
0 17 3 streamFinished Z
6 17 4 socket Ljava/net/Socket;
MethodParameters:
Name Flags
noNewStreams
released
streamFinished
public void cancel();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connectionPool:Lokhttp3/ConnectionPool;
dup
astore 3
monitorenter
1: aload 0
iconst_1
putfield okhttp3.internal.connection.StreamAllocation.canceled:Z
2: aload 0
getfield okhttp3.internal.connection.StreamAllocation.codec:Lokhttp3/internal/http/HttpCodec;
astore 1
start local 1 3: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
astore 2
start local 2 4: aload 3
monitorexit
5: goto 8
end local 2 end local 1 StackMap locals: okhttp3.internal.connection.StreamAllocation top top okhttp3.ConnectionPool
StackMap stack: java.lang.Throwable
6: aload 3
monitorexit
7: athrow
start local 1 start local 2 8: StackMap locals: okhttp3.internal.connection.StreamAllocation okhttp3.internal.http.HttpCodec okhttp3.internal.connection.RealConnection
StackMap stack:
aload 1
ifnull 11
9: aload 1
invokeinterface okhttp3.internal.http.HttpCodec.cancel:()V
10: goto 13
StackMap locals:
StackMap stack:
11: aload 2
ifnull 13
12: aload 2
invokevirtual okhttp3.internal.connection.RealConnection.cancel:()V
13: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lokhttp3/internal/connection/StreamAllocation;
3 6 1 codecToCancel Lokhttp3/internal/http/HttpCodec;
8 14 1 codecToCancel Lokhttp3/internal/http/HttpCodec;
4 6 2 connectionToCancel Lokhttp3/internal/connection/RealConnection;
8 14 2 connectionToCancel Lokhttp3/internal/connection/RealConnection;
Exception table:
from to target type
1 5 6 any
6 7 6 any
public void streamFailed(java.io.IOException);
descriptor: (Ljava/io/IOException;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: iconst_0
istore 4
start local 4 1: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connectionPool:Lokhttp3/ConnectionPool;
dup
astore 5
monitorenter
2: aload 1
instanceof okhttp3.internal.http2.StreamResetException
ifeq 14
3: aload 1
checkcast okhttp3.internal.http2.StreamResetException
getfield okhttp3.internal.http2.StreamResetException.errorCode:Lokhttp3/internal/http2/ErrorCode;
astore 6
start local 6 4: aload 6
getstatic okhttp3.internal.http2.ErrorCode.REFUSED_STREAM:Lokhttp3/internal/http2/ErrorCode;
if_acmpne 10
5: aload 0
dup
getfield okhttp3.internal.connection.StreamAllocation.refusedStreamCount:I
iconst_1
iadd
putfield okhttp3.internal.connection.StreamAllocation.refusedStreamCount:I
6: aload 0
getfield okhttp3.internal.connection.StreamAllocation.refusedStreamCount:I
iconst_1
if_icmple 21
7: iconst_1
istore 4
8: aload 0
aconst_null
putfield okhttp3.internal.connection.StreamAllocation.route:Lokhttp3/Route;
9: goto 21
StackMap locals: okhttp3.internal.connection.StreamAllocation java.io.IOException top top int okhttp3.ConnectionPool okhttp3.internal.http2.ErrorCode
StackMap stack:
10: aload 6
getstatic okhttp3.internal.http2.ErrorCode.CANCEL:Lokhttp3/internal/http2/ErrorCode;
if_acmpeq 21
11: iconst_1
istore 4
12: aload 0
aconst_null
putfield okhttp3.internal.connection.StreamAllocation.route:Lokhttp3/Route;
end local 6 13: goto 21
StackMap locals:
StackMap stack:
14: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
ifnull 21
15: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
invokevirtual okhttp3.internal.connection.RealConnection.isMultiplexed:()Z
ifeq 16
aload 1
instanceof okhttp3.internal.http2.ConnectionShutdownException
ifeq 21
16: StackMap locals:
StackMap stack:
iconst_1
istore 4
17: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
getfield okhttp3.internal.connection.RealConnection.successCount:I
ifne 21
18: aload 0
getfield okhttp3.internal.connection.StreamAllocation.route:Lokhttp3/Route;
ifnull 20
aload 1
ifnull 20
19: aload 0
getfield okhttp3.internal.connection.StreamAllocation.routeSelector:Lokhttp3/internal/connection/RouteSelector;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.route:Lokhttp3/Route;
aload 1
invokevirtual okhttp3.internal.connection.RouteSelector.connectFailed:(Lokhttp3/Route;Ljava/io/IOException;)V
20: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield okhttp3.internal.connection.StreamAllocation.route:Lokhttp3/Route;
21: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
astore 3
start local 3 22: aload 0
iload 4
iconst_0
iconst_1
invokevirtual okhttp3.internal.connection.StreamAllocation.deallocate:(ZZZ)Ljava/net/Socket;
astore 2
start local 2 23: aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
ifnonnull 24
aload 0
getfield okhttp3.internal.connection.StreamAllocation.reportedAcquired:Z
ifne 25
StackMap locals: okhttp3.internal.connection.StreamAllocation java.io.IOException java.net.Socket okhttp3.Connection int okhttp3.ConnectionPool
StackMap stack:
24: aconst_null
astore 3
25: StackMap locals:
StackMap stack:
aload 5
monitorexit
26: goto 29
end local 3 end local 2 StackMap locals: okhttp3.internal.connection.StreamAllocation java.io.IOException top top int okhttp3.ConnectionPool
StackMap stack: java.lang.Throwable
27: aload 5
monitorexit
28: athrow
start local 2 start local 3 29: StackMap locals: okhttp3.internal.connection.StreamAllocation java.io.IOException java.net.Socket okhttp3.Connection int
StackMap stack:
aload 2
invokestatic okhttp3.internal.Util.closeQuietly:(Ljava/net/Socket;)V
30: aload 3
ifnull 32
31: aload 0
getfield okhttp3.internal.connection.StreamAllocation.eventListener:Lokhttp3/EventListener;
aload 0
getfield okhttp3.internal.connection.StreamAllocation.call:Lokhttp3/Call;
aload 3
invokevirtual okhttp3.EventListener.connectionReleased:(Lokhttp3/Call;Lokhttp3/Connection;)V
32: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lokhttp3/internal/connection/StreamAllocation;
0 33 1 e Ljava/io/IOException;
23 27 2 socket Ljava/net/Socket;
29 33 2 socket Ljava/net/Socket;
22 27 3 releasedConnection Lokhttp3/Connection;
29 33 3 releasedConnection Lokhttp3/Connection;
1 33 4 noNewStreams Z
4 13 6 errorCode Lokhttp3/internal/http2/ErrorCode;
Exception table:
from to target type
2 26 27 any
27 28 27 any
MethodParameters:
Name Flags
e
public void acquire(okhttp3.internal.connection.RealConnection, boolean);
descriptor: (Lokhttp3/internal/connection/RealConnection;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic okhttp3.internal.connection.StreamAllocation.$assertionsDisabled:Z
ifne 1
aload 0
getfield okhttp3.internal.connection.StreamAllocation.connectionPool:Lokhttp3/ConnectionPool;
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
ifnull 2
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
3: aload 0
iload 2
putfield okhttp3.internal.connection.StreamAllocation.reportedAcquired:Z
4: aload 1
getfield okhttp3.internal.connection.RealConnection.allocations:Ljava/util/List;
new okhttp3.internal.connection.StreamAllocation$StreamAllocationReference
dup
aload 0
aload 0
getfield okhttp3.internal.connection.StreamAllocation.callStackTrace:Ljava/lang/Object;
invokespecial okhttp3.internal.connection.StreamAllocation$StreamAllocationReference.<init>:(Lokhttp3/internal/connection/StreamAllocation;Ljava/lang/Object;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lokhttp3/internal/connection/StreamAllocation;
0 6 1 connection Lokhttp3/internal/connection/RealConnection;
0 6 2 reportedAcquired Z
MethodParameters:
Name Flags
connection
reportedAcquired
private void release(okhttp3.internal.connection.RealConnection);
descriptor: (Lokhttp3/internal/connection/RealConnection;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 1
getfield okhttp3.internal.connection.RealConnection.allocations:Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 3
start local 3 2: goto 8
3: StackMap locals: int int
StackMap stack:
aload 1
getfield okhttp3.internal.connection.RealConnection.allocations:Ljava/util/List;
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.ref.Reference
astore 4
start local 4 4: aload 4
invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
aload 0
if_acmpne 7
5: aload 1
getfield okhttp3.internal.connection.RealConnection.allocations:Ljava/util/List;
iload 2
invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
pop
6: return
end local 4 7: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
8: iload 2
iload 3
if_icmplt 3
end local 3 end local 2 9: new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lokhttp3/internal/connection/StreamAllocation;
0 10 1 connection Lokhttp3/internal/connection/RealConnection;
1 9 2 i I
2 9 3 size I
4 7 4 reference Ljava/lang/ref/Reference<Lokhttp3/internal/connection/StreamAllocation;>;
MethodParameters:
Name Flags
connection
public java.net.Socket releaseAndAcquire(okhttp3.internal.connection.RealConnection);
descriptor: (Lokhttp3/internal/connection/RealConnection;)Ljava/net/Socket;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: getstatic okhttp3.internal.connection.StreamAllocation.$assertionsDisabled:Z
ifne 1
aload 0
getfield okhttp3.internal.connection.StreamAllocation.connectionPool:Lokhttp3/ConnectionPool;
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.connection.StreamAllocation.codec:Lokhttp3/internal/http/HttpCodec;
ifnonnull 2
aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
getfield okhttp3.internal.connection.RealConnection.allocations:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
if_icmpeq 3
StackMap locals:
StackMap stack:
2: new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
getfield okhttp3.internal.connection.RealConnection.allocations:Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.ref.Reference
astore 2
start local 2 4: aload 0
iconst_1
iconst_0
iconst_0
invokevirtual okhttp3.internal.connection.StreamAllocation.deallocate:(ZZZ)Ljava/net/Socket;
astore 3
start local 3 5: aload 0
aload 1
putfield okhttp3.internal.connection.StreamAllocation.connection:Lokhttp3/internal/connection/RealConnection;
6: aload 1
getfield okhttp3.internal.connection.RealConnection.allocations:Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lokhttp3/internal/connection/StreamAllocation;
0 8 1 newConnection Lokhttp3/internal/connection/RealConnection;
4 8 2 onlyAllocation Ljava/lang/ref/Reference<Lokhttp3/internal/connection/StreamAllocation;>;
5 8 3 socket Ljava/net/Socket;
MethodParameters:
Name Flags
newConnection
public boolean hasMoreRoutes();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield okhttp3.internal.connection.StreamAllocation.route:Lokhttp3/Route;
ifnonnull 4
1: aload 0
getfield okhttp3.internal.connection.StreamAllocation.routeSelection:Lokhttp3/internal/connection/RouteSelector$Selection;
ifnull 2
aload 0
getfield okhttp3.internal.connection.StreamAllocation.routeSelection:Lokhttp3/internal/connection/RouteSelector$Selection;
invokevirtual okhttp3.internal.connection.RouteSelector$Selection.hasNext:()Z
ifne 4
2: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.connection.StreamAllocation.routeSelector:Lokhttp3/internal/connection/RouteSelector;
invokevirtual okhttp3.internal.connection.RouteSelector.hasNext:()Z
ifne 4
3: iconst_0
ireturn
StackMap locals:
StackMap stack:
4: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lokhttp3/internal/connection/StreamAllocation;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual okhttp3.internal.connection.StreamAllocation.connection:()Lokhttp3/internal/connection/RealConnection;
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
invokevirtual okhttp3.internal.connection.RealConnection.toString:()Ljava/lang/String;
goto 3
StackMap locals: okhttp3.internal.connection.RealConnection
StackMap stack:
2: aload 0
getfield okhttp3.internal.connection.StreamAllocation.address:Lokhttp3/Address;
invokevirtual okhttp3.Address.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lokhttp3/internal/connection/StreamAllocation;
1 4 1 connection Lokhttp3/internal/connection/RealConnection;
}
SourceFile: "StreamAllocation.java"
NestMembers:
okhttp3.internal.connection.StreamAllocation$StreamAllocationReference
InnerClasses:
public abstract Chain = okhttp3.Interceptor$Chain of okhttp3.Interceptor
public final Selection = okhttp3.internal.connection.RouteSelector$Selection of okhttp3.internal.connection.RouteSelector
public final StreamAllocationReference = okhttp3.internal.connection.StreamAllocation$StreamAllocationReference of okhttp3.internal.connection.StreamAllocation