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 27
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:
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 24
21: 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 "magic or version not match: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
22: iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
24: 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
25: aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.socket:Ljava/net/Socket;
invokestatic sun.rmi.transport.tcp.TCPTransport.closeSocket:(Ljava/net/Socket;)V
26: return
27: 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 28: new java.io.BufferedOutputStream
dup
aload 8
invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;)V
29: astore 9
start local 9 30: new java.io.DataOutputStream
dup
aload 9
invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 10
start local 10 31: aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.getPort:()I
istore 11
start local 11 32: 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 36
33: 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
34: 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;
35: invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
36: 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 37: iload 15
tableswitch { // 75 - 77
75: 46
76: 38
77: 69
default: 73
}
38: 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
39: aload 1
invokevirtual sun.rmi.transport.tcp.TCPEndpoint.getClientSocketFactory:()Ljava/rmi/server/RMIClientSocketFactory;
40: aload 1
invokevirtual sun.rmi.transport.tcp.TCPEndpoint.getServerSocketFactory:()Ljava/rmi/server/RMIServerSocketFactory;
41: invokespecial sun.rmi.transport.tcp.TCPEndpoint.<init>:(Ljava/lang/String;ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;)V
astore 12
start local 12 42: 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 43: 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 44: 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
45: goto 82
end local 14 end local 13 end local 12 46: StackMap locals:
StackMap stack:
aload 10
bipush 78
invokevirtual java.io.DataOutputStream.writeByte:(I)V
47: 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 52
48: 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;
49: 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;
50: iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
51: invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
52: 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
53: aload 10
iload 11
invokevirtual java.io.DataOutputStream.writeInt:(I)V
54: aload 10
invokevirtual java.io.DataOutputStream.flush:()V
55: aload 5
invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
astore 16
start local 16 56: aload 5
invokevirtual java.io.DataInputStream.readInt:()I
istore 17
start local 17 57: 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 61
58: 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;
59: 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;
60: invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
61: 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
62: aload 1
invokevirtual sun.rmi.transport.tcp.TCPEndpoint.getClientSocketFactory:()Ljava/rmi/server/RMIClientSocketFactory;
63: aload 1
invokevirtual sun.rmi.transport.tcp.TCPEndpoint.getServerSocketFactory:()Ljava/rmi/server/RMIServerSocketFactory;
64: invokespecial sun.rmi.transport.tcp.TCPEndpoint.<init>:(Ljava/lang/String;ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;)V
astore 12
start local 12 65: 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 66: 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 67: 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
68: goto 82
end local 17 end local 16 end local 14 end local 13 end local 12 69: 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 73
70: 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;
71: ldc ") rejecting multiplex protocol"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
72: invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
73: StackMap locals:
StackMap stack:
aload 10
bipush 79
invokevirtual java.io.DataOutputStream.writeByte:(I)V
74: 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 75: goto 82
StackMap locals: sun.rmi.transport.tcp.TCPTransport$ConnectionHandler sun.rmi.transport.tcp.TCPEndpoint int
StackMap stack: java.io.IOException
76: astore 3
start local 3 77: 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 78: 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 83
79: StackMap locals:
StackMap stack: java.lang.Throwable
astore 18
80: aload 0
getfield sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.socket:Ljava/net/Socket;
invokestatic sun.rmi.transport.tcp.TCPTransport.closeSocket:(Ljava/net/Socket;)V
81: aload 18
athrow
82: 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
83: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 84 0 this Lsun/rmi/transport/tcp/TCPTransport$ConnectionHandler;
1 84 1 endpoint Lsun/rmi/transport/tcp/TCPEndpoint;
2 84 2 port I
11 75 3 sockIn Ljava/io/InputStream;
15 75 4 bufIn Ljava/io/InputStream;
16 75 5 in Ljava/io/DataInputStream;
17 75 6 magic I
18 75 7 version S
28 75 8 sockOut Ljava/io/OutputStream;
30 75 9 bufOut Ljava/io/BufferedOutputStream;
31 75 10 out Ljava/io/DataOutputStream;
32 75 11 remotePort I
42 46 12 ep Lsun/rmi/transport/tcp/TCPEndpoint;
65 69 12 ep Lsun/rmi/transport/tcp/TCPEndpoint;
43 46 13 ch Lsun/rmi/transport/tcp/TCPChannel;
66 69 13 ch Lsun/rmi/transport/tcp/TCPChannel;
44 46 14 conn Lsun/rmi/transport/tcp/TCPConnection;
67 69 14 conn Lsun/rmi/transport/tcp/TCPConnection;
37 75 15 protocol B
56 69 16 clientHost Ljava/lang/String;
57 69 17 clientPort I
77 78 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 25 76 Class java.io.IOException
27 75 76 Class java.io.IOException
10 25 79 any
27 78 79 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