class sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector
super_class: java.lang.Object
{
private java.rmi.server.RMISocketFactory factory;
descriptor: Ljava/rmi/server/RMISocketFactory;
flags: (0x0002) ACC_PRIVATE
private java.lang.String host;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private int port;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.security.AccessControlContext acc;
descriptor: Ljava/security/AccessControlContext;
flags: (0x0002) ACC_PRIVATE
private java.lang.Exception exception;
descriptor: Ljava/lang/Exception;
flags: (0x0002) ACC_PRIVATE
private java.net.Socket socket;
descriptor: Ljava/net/Socket;
flags: (0x0002) ACC_PRIVATE
private boolean cleanUp;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
final sun.rmi.transport.proxy.RMIMasterSocketFactory this$0;
descriptor: Lsun/rmi/transport/proxy/RMIMasterSocketFactory;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(sun.rmi.transport.proxy.RMIMasterSocketFactory, java.rmi.server.RMISocketFactory, java.lang.String, int, java.security.AccessControlContext);
descriptor: (Lsun/rmi/transport/proxy/RMIMasterSocketFactory;Ljava/rmi/server/RMISocketFactory;Ljava/lang/String;ILjava/security/AccessControlContext;)V
flags: (0x0000)
Code:
stack=3, locals=7, args_size=6
start local 0 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
putfield sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.this$0:Lsun/rmi/transport/proxy/RMIMasterSocketFactory;
1: aload 0
invokespecial java.lang.Object.<init>:()V
2: aload 0
aconst_null
putfield sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.exception:Ljava/lang/Exception;
3: aload 0
aconst_null
putfield sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.socket:Ljava/net/Socket;
4: aload 0
iconst_0
putfield sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.cleanUp:Z
5: aload 0
aload 2
putfield sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.factory:Ljava/rmi/server/RMISocketFactory;
6: aload 0
aload 3
putfield sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.host:Ljava/lang/String;
7: aload 0
iload 4
putfield sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.port:I
8: aload 0
aload 5
putfield sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.acc:Ljava/security/AccessControlContext;
9: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 6
start local 6 10: aload 6
ifnull 12
11: aload 6
aload 3
iload 4
invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
12: StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector sun.rmi.transport.proxy.RMIMasterSocketFactory java.rmi.server.RMISocketFactory java.lang.String int java.security.AccessControlContext java.lang.SecurityManager
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/rmi/transport/proxy/RMIMasterSocketFactory$AsyncConnector;
0 13 2 factory Ljava/rmi/server/RMISocketFactory;
0 13 3 host Ljava/lang/String;
0 13 4 port I
0 13 5 acc Ljava/security/AccessControlContext;
10 13 6 security Ljava/lang/SecurityManager;
MethodParameters:
Name Flags
this$0 final
factory
host
port
acc
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.factory:Ljava/rmi/server/RMISocketFactory;
aload 0
getfield sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.host:Ljava/lang/String;
aload 0
getfield sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.port:I
invokevirtual java.rmi.server.RMISocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket;
astore 1
start local 1 1: aload 0
dup
astore 2
monitorenter
2: aload 0
aload 1
putfield sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.socket:Ljava/net/Socket;
3: aload 0
invokevirtual java.lang.Object.notify:()V
4: aload 2
monitorexit
5: goto 8
StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.net.Socket sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.this$0:Lsun/rmi/transport/proxy/RMIMasterSocketFactory;
aload 0
getfield sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.host:Ljava/lang/String;
aload 0
getfield sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.factory:Ljava/rmi/server/RMISocketFactory;
invokevirtual sun.rmi.transport.proxy.RMIMasterSocketFactory.rememberFactory:(Ljava/lang/String;Ljava/rmi/server/RMISocketFactory;)V
9: aload 0
dup
astore 2
monitorenter
10: aload 0
getfield sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.cleanUp:Z
ifeq 14
11: aload 0
getfield sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.close:()V
12: goto 14
StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.net.Socket sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector
StackMap stack: java.io.IOException
13: pop
14: StackMap locals:
StackMap stack:
aload 2
monitorexit
15: goto 26
StackMap locals:
StackMap stack: java.lang.Throwable
16: aload 2
monitorexit
17: athrow
end local 1 18: StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector
StackMap stack: java.lang.Exception
astore 1
start local 1 19: aload 0
dup
astore 2
monitorenter
20: aload 0
aload 1
putfield sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.exception:Ljava/lang/Exception;
21: aload 0
invokevirtual java.lang.Object.notify:()V
22: aload 2
monitorexit
23: goto 26
StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.lang.Exception sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector
StackMap stack: java.lang.Throwable
24: aload 2
monitorexit
25: athrow
end local 1 26: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lsun/rmi/transport/proxy/RMIMasterSocketFactory$AsyncConnector;
1 18 1 temp Ljava/net/Socket;
19 26 1 e Ljava/lang/Exception;
Exception table:
from to target type
2 5 6 any
6 7 6 any
11 12 13 Class java.io.IOException
10 15 16 any
16 17 16 any
0 18 18 Class java.lang.Exception
20 23 24 any
24 25 24 any
private synchronized java.lang.Exception getException();
descriptor: ()Ljava/lang/Exception;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.exception:Ljava/lang/Exception;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/transport/proxy/RMIMasterSocketFactory$AsyncConnector;
private synchronized java.net.Socket getSocket();
descriptor: ()Ljava/net/Socket;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.socket:Ljava/net/Socket;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/rmi/transport/proxy/RMIMasterSocketFactory$AsyncConnector;
synchronized void notUsed();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.socket:Ljava/net/Socket;
ifnull 4
1: aload 0
getfield sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.close:()V
2: goto 4
StackMap locals:
StackMap stack: java.io.IOException
3: pop
4: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.cleanUp:Z
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/rmi/transport/proxy/RMIMasterSocketFactory$AsyncConnector;
Exception table:
from to target type
1 2 3 Class java.io.IOException
}
SourceFile: "RMIMasterSocketFactory.java"
NestHost: sun.rmi.transport.proxy.RMIMasterSocketFactory
InnerClasses:
private AsyncConnector = sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector of sun.rmi.transport.proxy.RMIMasterSocketFactory