class sun.rmi.transport.tcp.TCPTransport$ConnectionHandler implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.rmi.transport.tcp.TCPTransport$ConnectionHandler
super_class: java.lang.Object
{
private static final int POST;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1347375956
private java.security.AccessControlContext okContext;
descriptor: Ljava/security/AccessControlContext;
flags: (0x0002) ACC_PRIVATE
private java.util.Map<java.security.AccessControlContext, java.lang.ref.Reference<java.security.AccessControlContext>> authCache;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/security/AccessControlContext;Ljava/lang/ref/Reference<Ljava/security/AccessControlContext;>;>;
private java.lang.SecurityManager cacheSecurityManager;
descriptor: Ljava/lang/SecurityManager;
flags: (0x0002) ACC_PRIVATE
private java.net.Socket socket;
descriptor: Ljava/net/Socket;
flags: (0x0002) ACC_PRIVATE
private java.lang.String remoteHost;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
final sun.rmi.transport.tcp.TCPTransport this$0;
descriptor: Lsun/rmi/transport/tcp/TCPTransport;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(sun.rmi.transport.tcp.TCPTransport, java.net.Socket, java.lang.String);
descriptor: (Lsun/rmi/transport/tcp/TCPTransport;Ljava/net/Socket;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 1
putfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.this$0:Lsun/rmi/transport/tcp/TCPTransport;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.cacheSecurityManager:Ljava/lang/SecurityManager;
2: aload 0
aload 2
putfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.socket:Ljava/net/Socket;
3: aload 0
aload 3
putfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.remoteHost:Ljava/lang/String;
4: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/rmi/transport/tcp/TCPTransport$ConnectionHandler;
0 5 2 socket Ljava/net/Socket;
0 5 3 remoteHost Ljava/lang/String;
MethodParameters:
Name Flags
this$0 final
socket
remoteHost
java.lang.String getClientHost();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.remoteHost:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/transport/tcp/TCPTransport$ConnectionHandler;
void checkAcceptPermission(java.lang.SecurityManager, java.security.AccessControlContext);
descriptor: (Ljava/lang/SecurityManager;Ljava/security/AccessControlContext;)V
flags: (0x0000)
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.cacheSecurityManager:Ljava/lang/SecurityManager;
if_acmpeq 4
1: aload 0
aconst_null
putfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.okContext:Ljava/security/AccessControlContext;
2: aload 0
new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
putfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.authCache:Ljava/util/Map;
3: aload 0
aload 1
putfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.cacheSecurityManager:Ljava/lang/SecurityManager;
4: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.okContext:Ljava/security/AccessControlContext;
invokevirtual java.security.AccessControlContext.equals:(Ljava/lang/Object;)Z
ifne 5
aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.authCache:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 6
5: StackMap locals:
StackMap stack:
return
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.getInetAddress:()Ljava/net/InetAddress;
astore 3
start local 3 7: aload 3
ifnull 8
aload 3
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
goto 9
StackMap locals: java.net.InetAddress
StackMap stack:
8: ldc "*"
StackMap locals:
StackMap stack: java.lang.String
9: astore 4
start local 4 10: aload 1
aload 4
aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.getPort:()I
invokevirtual java.lang.SecurityManager.checkAccept:(Ljava/lang/String;I)V
11: aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.authCache:Ljava/util/Map;
aload 2
new java.lang.ref.SoftReference
dup
aload 2
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: aload 0
aload 2
putfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.okContext:Ljava/security/AccessControlContext;
13: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/rmi/transport/tcp/TCPTransport$ConnectionHandler;
0 14 1 sm Ljava/lang/SecurityManager;
0 14 2 acc Ljava/security/AccessControlContext;
7 14 3 addr Ljava/net/InetAddress;
10 14 4 host Ljava/lang/String;
MethodParameters:
Name Flags
sm
acc
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 1
start local 1 1: aload 1
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
astore 2
start local 2 2: aload 1
new java.lang.StringBuilder
dup
ldc "RMI TCP Connection("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: getstatic sun.rmi.transport.tcp.TCPTransport.connectionCount:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
4: ldc ")-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.remoteHost:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokevirtual java.lang.Thread.setName:(Ljava/lang/String;)V
6: aload 0
invokedynamic run(Lsun/rmi/transport/tcp/TCPTransport$ConnectionHandler;)Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
sun/rmi/transport/tcp/TCPTransport$ConnectionHandler.lambda$0()Ljava/lang/Void; (7)
()Ljava/lang/Void;
7: getstatic sun.rmi.transport.tcp.TCPTransport.NOPERMS_ACC:Ljava/security/AccessControlContext;
8: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
pop
9: goto 13
StackMap locals: sun.rmi.transport.tcp.TCPTransport$ConnectionHandler java.lang.Thread java.lang.String
StackMap stack: java.lang.Throwable
10: astore 3
11: aload 1
aload 2
invokevirtual java.lang.Thread.setName:(Ljava/lang/String;)V
12: aload 3
athrow
13: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual java.lang.Thread.setName:(Ljava/lang/String;)V
14: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/rmi/transport/tcp/TCPTransport$ConnectionHandler;
1 15 1 t Ljava/lang/Thread;
2 15 2 name Ljava/lang/String;
Exception table:
from to target type
2 10 10 any
private void run0();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=19, args_size=1
start local 0 0: aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.this$0:Lsun/rmi/transport/tcp/TCPTransport;
invokevirtual sun.rmi.transport.tcp.TCPTransport.getEndpoint:()Lsun/rmi/transport/tcp/TCPEndpoint;
astore 1
start local 1 1: aload 1
invokevirtual sun.rmi.transport.tcp.TCPEndpoint.getPort:()I
istore 2
start local 2 2: getstatic sun.rmi.transport.tcp.TCPTransport.threadConnectionHandler:Ljava/lang/ThreadLocal;
aload 0
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
3: aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.socket:Ljava/net/Socket;
iconst_1
invokevirtual java.net.Socket.setTcpNoDelay:(Z)V
4: goto 6
StackMap locals: sun.rmi.transport.tcp.TCPTransport$ConnectionHandler sun.rmi.transport.tcp.TCPEndpoint int
StackMap stack: java.lang.Exception
5: pop
6: StackMap locals:
StackMap stack:
getstatic sun.rmi.transport.tcp.TCPTransport.connectionReadTimeout:I
ifle 10
7: aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.socket:Ljava/net/Socket;
getstatic sun.rmi.transport.tcp.TCPTransport.connectionReadTimeout:I
invokevirtual java.net.Socket.setSoTimeout:(I)V
8: goto 10
StackMap locals:
StackMap stack: java.lang.Exception
9: pop
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
astore 3
start local 3 11: aload 3
invokevirtual java.io.InputStream.markSupported:()Z
ifeq 13
12: aload 3
goto 14
13: StackMap locals: java.io.InputStream
StackMap stack:
new java.io.BufferedInputStream
dup
aload 3
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
14: StackMap locals:
StackMap stack: java.io.InputStream
astore 4
start local 4 15: new java.io.DataInputStream
dup
aload 4
invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
astore 5
start local 5 16: aload 5
invokevirtual java.io.DataInputStream.readInt:()I
istore 6
start local 6 17: aload 5
invokevirtual java.io.DataInputStream.readShort:()S
istore 7
start local 7 18: iload 6
ldc 1246907721
if_icmpne 20
19: iload 7
iconst_2
if_icmpeq 23
20: StackMap locals: sun.rmi.transport.tcp.TCPTransport$ConnectionHandler sun.rmi.transport.tcp.TCPEndpoint int java.io.InputStream java.io.InputStream java.io.DataInputStream int int
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.socket:Ljava/net/Socket;
invokestatic sun.rmi.transport.tcp.TCPTransport.closeSocket:(Ljava/net/Socket;)V
21: aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.socket:Ljava/net/Socket;
invokestatic sun.rmi.transport.tcp.TCPTransport.closeSocket:(Ljava/net/Socket;)V
22: return
23: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.getOutputStream:()Ljava/io/OutputStream;
astore 8
start local 8 24: new java.io.BufferedOutputStream
dup
aload 8
invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;)V
25: astore 9
start local 9 26: new java.io.DataOutputStream
dup
aload 9
invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 10
start local 10 27: aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.getPort:()I
istore 11
start local 11 28: getstatic sun.rmi.transport.tcp.TCPTransport.tcpLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
invokevirtual sun.rmi.runtime.Log.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 32
29: getstatic sun.rmi.transport.tcp.TCPTransport.tcpLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "accepted socket from ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
30: aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.remoteHost:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
31: invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
32: StackMap locals: sun.rmi.transport.tcp.TCPTransport$ConnectionHandler sun.rmi.transport.tcp.TCPEndpoint int java.io.InputStream java.io.InputStream java.io.DataInputStream int int java.io.OutputStream java.io.BufferedOutputStream java.io.DataOutputStream int
StackMap stack:
aload 5
invokevirtual java.io.DataInputStream.readByte:()B
istore 15
start local 15 33: iload 15
tableswitch { // 75 - 77
75: 42
76: 34
77: 65
default: 69
}
34: StackMap locals: sun.rmi.transport.tcp.TCPTransport$ConnectionHandler sun.rmi.transport.tcp.TCPEndpoint int java.io.InputStream java.io.InputStream java.io.DataInputStream int int java.io.OutputStream java.io.BufferedOutputStream java.io.DataOutputStream int top top top int
StackMap stack:
new sun.rmi.transport.tcp.TCPEndpoint
dup
aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.remoteHost:Ljava/lang/String;
aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.getLocalPort:()I
35: aload 1
invokevirtual sun.rmi.transport.tcp.TCPEndpoint.getClientSocketFactory:()Ljava/rmi/server/RMIClientSocketFactory;
36: aload 1
invokevirtual sun.rmi.transport.tcp.TCPEndpoint.getServerSocketFactory:()Ljava/rmi/server/RMIServerSocketFactory;
37: invokespecial sun.rmi.transport.tcp.TCPEndpoint.<init>:(Ljava/lang/String;ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;)V
astore 12
start local 12 38: new sun.rmi.transport.tcp.TCPChannel
dup
aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.this$0:Lsun/rmi/transport/tcp/TCPTransport;
aload 12
invokespecial sun.rmi.transport.tcp.TCPChannel.<init>:(Lsun/rmi/transport/tcp/TCPTransport;Lsun/rmi/transport/tcp/TCPEndpoint;)V
astore 13
start local 13 39: new sun.rmi.transport.tcp.TCPConnection
dup
aload 13
aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.socket:Ljava/net/Socket;
aload 4
aload 9
invokespecial sun.rmi.transport.tcp.TCPConnection.<init>:(Lsun/rmi/transport/tcp/TCPChannel;Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;)V
astore 14
start local 14 40: aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.this$0:Lsun/rmi/transport/tcp/TCPTransport;
aload 14
iconst_0
invokevirtual sun.rmi.transport.tcp.TCPTransport.handleMessages:(Lsun/rmi/transport/Connection;Z)V
41: goto 78
end local 14 end local 13 end local 12 42: StackMap locals:
StackMap stack:
aload 10
bipush 78
invokevirtual java.io.DataOutputStream.writeByte:(I)V
43: getstatic sun.rmi.transport.tcp.TCPTransport.tcpLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.VERBOSE:Ljava/util/logging/Level;
invokevirtual sun.rmi.runtime.Log.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 48
44: getstatic sun.rmi.transport.tcp.TCPTransport.tcpLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.VERBOSE:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "(port "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
45: ldc ") "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "suggesting "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.remoteHost:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
46: iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
47: invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
48: StackMap locals:
StackMap stack:
aload 10
aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.remoteHost:Ljava/lang/String;
invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
49: aload 10
iload 11
invokevirtual java.io.DataOutputStream.writeInt:(I)V
50: aload 10
invokevirtual java.io.DataOutputStream.flush:()V
51: aload 5
invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
astore 16
start local 16 52: aload 5
invokevirtual java.io.DataInputStream.readInt:()I
istore 17
start local 17 53: getstatic sun.rmi.transport.tcp.TCPTransport.tcpLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.VERBOSE:Ljava/util/logging/Level;
invokevirtual sun.rmi.runtime.Log.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 57
54: getstatic sun.rmi.transport.tcp.TCPTransport.tcpLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.VERBOSE:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "(port "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
55: ldc ") client using "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 16
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 17
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
56: invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
57: StackMap locals: java.lang.String int
StackMap stack:
new sun.rmi.transport.tcp.TCPEndpoint
dup
aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.remoteHost:Ljava/lang/String;
aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.getLocalPort:()I
58: aload 1
invokevirtual sun.rmi.transport.tcp.TCPEndpoint.getClientSocketFactory:()Ljava/rmi/server/RMIClientSocketFactory;
59: aload 1
invokevirtual sun.rmi.transport.tcp.TCPEndpoint.getServerSocketFactory:()Ljava/rmi/server/RMIServerSocketFactory;
60: invokespecial sun.rmi.transport.tcp.TCPEndpoint.<init>:(Ljava/lang/String;ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;)V
astore 12
start local 12 61: new sun.rmi.transport.tcp.TCPChannel
dup
aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.this$0:Lsun/rmi/transport/tcp/TCPTransport;
aload 12
invokespecial sun.rmi.transport.tcp.TCPChannel.<init>:(Lsun/rmi/transport/tcp/TCPTransport;Lsun/rmi/transport/tcp/TCPEndpoint;)V
astore 13
start local 13 62: new sun.rmi.transport.tcp.TCPConnection
dup
aload 13
aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.socket:Ljava/net/Socket;
aload 4
aload 9
invokespecial sun.rmi.transport.tcp.TCPConnection.<init>:(Lsun/rmi/transport/tcp/TCPChannel;Ljava/net/Socket;Ljava/io/InputStream;Ljava/io/OutputStream;)V
astore 14
start local 14 63: aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.this$0:Lsun/rmi/transport/tcp/TCPTransport;
aload 14
iconst_1
invokevirtual sun.rmi.transport.tcp.TCPTransport.handleMessages:(Lsun/rmi/transport/Connection;Z)V
64: goto 78
end local 17 end local 16 end local 14 end local 13 end local 12 65: StackMap locals:
StackMap stack:
getstatic sun.rmi.transport.tcp.TCPTransport.tcpLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.VERBOSE:Ljava/util/logging/Level;
invokevirtual sun.rmi.runtime.Log.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 69
66: getstatic sun.rmi.transport.tcp.TCPTransport.tcpLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.VERBOSE:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "(port "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
67: ldc ") rejecting multiplex protocol"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
68: invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
69: StackMap locals:
StackMap stack:
aload 10
bipush 79
invokevirtual java.io.DataOutputStream.writeByte:(I)V
70: aload 10
invokevirtual java.io.DataOutputStream.flush:()V
end local 15 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 71: goto 78
StackMap locals: sun.rmi.transport.tcp.TCPTransport$ConnectionHandler sun.rmi.transport.tcp.TCPEndpoint int
StackMap stack: java.io.IOException
72: astore 3
start local 3 73: getstatic sun.rmi.transport.tcp.TCPTransport.tcpLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
ldc "terminated with exception:"
aload 3
invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 3 74: aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.socket:Ljava/net/Socket;
invokestatic sun.rmi.transport.tcp.TCPTransport.closeSocket:(Ljava/net/Socket;)V
goto 79
75: StackMap locals:
StackMap stack: java.lang.Throwable
astore 18
76: aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.socket:Ljava/net/Socket;
invokestatic sun.rmi.transport.tcp.TCPTransport.closeSocket:(Ljava/net/Socket;)V
77: aload 18
athrow
78: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.socket:Ljava/net/Socket;
invokestatic sun.rmi.transport.tcp.TCPTransport.closeSocket:(Ljava/net/Socket;)V
79: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 80 0 this Lsun/rmi/transport/tcp/TCPTransport$ConnectionHandler;
1 80 1 endpoint Lsun/rmi/transport/tcp/TCPEndpoint;
2 80 2 port I
11 71 3 sockIn Ljava/io/InputStream;
15 71 4 bufIn Ljava/io/InputStream;
16 71 5 in Ljava/io/DataInputStream;
17 71 6 magic I
18 71 7 version S
24 71 8 sockOut Ljava/io/OutputStream;
26 71 9 bufOut Ljava/io/BufferedOutputStream;
27 71 10 out Ljava/io/DataOutputStream;
28 71 11 remotePort I
38 42 12 ep Lsun/rmi/transport/tcp/TCPEndpoint;
61 65 12 ep Lsun/rmi/transport/tcp/TCPEndpoint;
39 42 13 ch Lsun/rmi/transport/tcp/TCPChannel;
62 65 13 ch Lsun/rmi/transport/tcp/TCPChannel;
40 42 14 conn Lsun/rmi/transport/tcp/TCPConnection;
63 65 14 conn Lsun/rmi/transport/tcp/TCPConnection;
33 71 15 protocol B
52 65 16 clientHost Ljava/lang/String;
53 65 17 clientPort I
73 74 3 e Ljava/io/IOException;
Exception table:
from to target type
3 4 5 Class java.lang.Exception
6 8 9 Class java.lang.Exception
10 21 72 Class java.io.IOException
23 71 72 Class java.io.IOException
10 21 75 any
23 74 75 any
private java.lang.Void lambda$0();
descriptor: ()Ljava/lang/Void;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0:()V
1: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/rmi/transport/tcp/TCPTransport$ConnectionHandler;
}
SourceFile: "TCPTransport.java"
NestHost: sun.rmi.transport.tcp.TCPTransport
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
private ConnectionHandler = sun.rmi.transport.tcp.TCPTransport$ConnectionHandler of sun.rmi.transport.tcp.TCPTransport