final class sun.rmi.transport.tcp.ConnectionMultiplexer
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.rmi.transport.tcp.ConnectionMultiplexer
super_class: java.lang.Object
{
static int logLevel;
descriptor: I
flags: (0x0008) ACC_STATIC
static final sun.rmi.runtime.Log multiplexLog;
descriptor: Lsun/rmi/runtime/Log;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static final int OPEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 225
private static final int CLOSE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 226
private static final int CLOSEACK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 227
private static final int REQUEST;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 228
private static final int TRANSMIT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 229
private sun.rmi.transport.tcp.TCPChannel channel;
descriptor: Lsun/rmi/transport/tcp/TCPChannel;
flags: (0x0002) ACC_PRIVATE
private java.io.InputStream in;
descriptor: Ljava/io/InputStream;
flags: (0x0002) ACC_PRIVATE
private java.io.OutputStream out;
descriptor: Ljava/io/OutputStream;
flags: (0x0002) ACC_PRIVATE
private boolean orig;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.io.DataInputStream dataIn;
descriptor: Ljava/io/DataInputStream;
flags: (0x0002) ACC_PRIVATE
private java.io.DataOutputStream dataOut;
descriptor: Ljava/io/DataOutputStream;
flags: (0x0002) ACC_PRIVATE
private java.util.Hashtable connectionTable;
descriptor: Ljava/util/Hashtable;
flags: (0x0002) ACC_PRIVATE
private int numConnections;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final int maxConnections;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 256
private int lastID;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean alive;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: invokestatic sun.rmi.transport.tcp.ConnectionMultiplexer.getLogLevel:()Ljava/lang/String;
invokestatic java.rmi.server.LogStream.parseLevel:(Ljava/lang/String;)I
putstatic sun.rmi.transport.tcp.ConnectionMultiplexer.logLevel:I
1: ldc "sun.rmi.transport.tcp.multiplex"
2: ldc "multiplex"
getstatic sun.rmi.transport.tcp.ConnectionMultiplexer.logLevel:I
3: invokestatic sun.rmi.runtime.Log.getLog:(Ljava/lang/String;Ljava/lang/String;I)Lsun/rmi/runtime/Log;
4: putstatic sun.rmi.transport.tcp.ConnectionMultiplexer.multiplexLog:Lsun/rmi/runtime/Log;
5: return
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.String getLogLevel();
descriptor: ()Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new sun.security.action.GetPropertyAction
dup
ldc "sun.rmi.transport.tcp.multiplex.logLevel"
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
areturn
LocalVariableTable:
Start End Slot Name Signature
public void <init>(sun.rmi.transport.tcp.TCPChannel, java.io.InputStream, java.io.OutputStream, boolean);
descriptor: (Lsun/rmi/transport/tcp/TCPChannel;Ljava/io/InputStream;Ljava/io/OutputStream;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.Hashtable
dup
bipush 7
invokespecial java.util.Hashtable.<init>:(I)V
putfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
2: aload 0
iconst_0
putfield sun.rmi.transport.tcp.ConnectionMultiplexer.numConnections:I
3: aload 0
sipush 4097
putfield sun.rmi.transport.tcp.ConnectionMultiplexer.lastID:I
4: aload 0
iconst_1
putfield sun.rmi.transport.tcp.ConnectionMultiplexer.alive:Z
5: aload 0
aload 1
putfield sun.rmi.transport.tcp.ConnectionMultiplexer.channel:Lsun/rmi/transport/tcp/TCPChannel;
6: aload 0
aload 2
putfield sun.rmi.transport.tcp.ConnectionMultiplexer.in:Ljava/io/InputStream;
7: aload 0
aload 3
putfield sun.rmi.transport.tcp.ConnectionMultiplexer.out:Ljava/io/OutputStream;
8: aload 0
iload 4
putfield sun.rmi.transport.tcp.ConnectionMultiplexer.orig:Z
9: aload 0
new java.io.DataInputStream
dup
aload 2
invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
putfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataIn:Ljava/io/DataInputStream;
10: aload 0
new java.io.DataOutputStream
dup
aload 3
invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
putfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
11: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/rmi/transport/tcp/ConnectionMultiplexer;
0 12 1 channel Lsun/rmi/transport/tcp/TCPChannel;
0 12 2 in Ljava/io/InputStream;
0 12 3 out Ljava/io/OutputStream;
0 12 4 orig Z
MethodParameters:
Name Flags
channel
in
out
orig
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataIn:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readUnsignedByte:()I
istore 1
start local 1 1: iload 1
tableswitch { // 225 - 229
225: 2
226: 25
227: 46
228: 71
229: 86
default: 99
}
2: StackMap locals: int
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataIn:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
istore 2
start local 2 3: getstatic sun.rmi.transport.tcp.ConnectionMultiplexer.multiplexLog: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 5
4: getstatic sun.rmi.transport.tcp.ConnectionMultiplexer.multiplexLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.VERBOSE:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "operation OPEN "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
5: StackMap locals: int
StackMap stack:
new java.lang.Integer
dup
iload 2
invokespecial java.lang.Integer.<init>:(I)V
astore 4
start local 4 6: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
aload 4
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.rmi.transport.tcp.MultiplexConnectionInfo
7: astore 5
start local 5 8: aload 5
ifnull 12
9: new java.io.IOException
dup
10: ldc "OPEN: Connection ID already exists"
11: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int int top java.lang.Integer sun.rmi.transport.tcp.MultiplexConnectionInfo
StackMap stack:
new sun.rmi.transport.tcp.MultiplexConnectionInfo
dup
iload 2
invokespecial sun.rmi.transport.tcp.MultiplexConnectionInfo.<init>:(I)V
astore 5
13: aload 5
new sun.rmi.transport.tcp.MultiplexInputStream
dup
aload 0
aload 5
sipush 2048
invokespecial sun.rmi.transport.tcp.MultiplexInputStream.<init>:(Lsun/rmi/transport/tcp/ConnectionMultiplexer;Lsun/rmi/transport/tcp/MultiplexConnectionInfo;I)V
putfield sun.rmi.transport.tcp.MultiplexConnectionInfo.in:Lsun/rmi/transport/tcp/MultiplexInputStream;
14: aload 5
new sun.rmi.transport.tcp.MultiplexOutputStream
dup
aload 0
aload 5
sipush 2048
invokespecial sun.rmi.transport.tcp.MultiplexOutputStream.<init>:(Lsun/rmi/transport/tcp/ConnectionMultiplexer;Lsun/rmi/transport/tcp/MultiplexConnectionInfo;I)V
putfield sun.rmi.transport.tcp.MultiplexConnectionInfo.out:Lsun/rmi/transport/tcp/MultiplexOutputStream;
15: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
dup
astore 6
monitorenter
16: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
aload 4
aload 5
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: aload 0
dup
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.numConnections:I
iconst_1
iadd
putfield sun.rmi.transport.tcp.ConnectionMultiplexer.numConnections:I
18: aload 6
monitorexit
19: goto 22
StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int int top java.lang.Integer sun.rmi.transport.tcp.MultiplexConnectionInfo java.util.Hashtable
StackMap stack: java.lang.Throwable
20: aload 6
monitorexit
21: athrow
22: StackMap locals:
StackMap stack:
new sun.rmi.transport.tcp.TCPConnection
dup
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.channel:Lsun/rmi/transport/tcp/TCPChannel;
aload 5
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.in:Lsun/rmi/transport/tcp/MultiplexInputStream;
aload 5
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.out:Lsun/rmi/transport/tcp/MultiplexOutputStream;
invokespecial sun.rmi.transport.tcp.TCPConnection.<init>:(Lsun/rmi/transport/tcp/TCPChannel;Ljava/io/InputStream;Ljava/io/OutputStream;)V
astore 6
start local 6 23: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.channel:Lsun/rmi/transport/tcp/TCPChannel;
aload 6
invokevirtual sun.rmi.transport.tcp.TCPChannel.acceptMultiplexConnection:(Lsun/rmi/transport/Connection;)V
24: goto 0
end local 6 end local 5 end local 4 end local 2 25: StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataIn:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
istore 2
start local 2 26: getstatic sun.rmi.transport.tcp.ConnectionMultiplexer.multiplexLog: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 28
27: getstatic sun.rmi.transport.tcp.ConnectionMultiplexer.multiplexLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.VERBOSE:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "operation CLOSE "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
28: StackMap locals: int
StackMap stack:
new java.lang.Integer
dup
iload 2
invokespecial java.lang.Integer.<init>:(I)V
astore 4
start local 4 29: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
aload 4
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.rmi.transport.tcp.MultiplexConnectionInfo
30: astore 5
start local 5 31: aload 5
ifnonnull 35
32: new java.io.IOException
dup
33: ldc "CLOSE: Invalid connection ID"
34: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
35: StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int int top java.lang.Integer sun.rmi.transport.tcp.MultiplexConnectionInfo
StackMap stack:
aload 5
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.in:Lsun/rmi/transport/tcp/MultiplexInputStream;
invokevirtual sun.rmi.transport.tcp.MultiplexInputStream.disconnect:()V
36: aload 5
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.out:Lsun/rmi/transport/tcp/MultiplexOutputStream;
invokevirtual sun.rmi.transport.tcp.MultiplexOutputStream.disconnect:()V
37: aload 5
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.closed:Z
ifne 39
38: aload 0
aload 5
invokevirtual sun.rmi.transport.tcp.ConnectionMultiplexer.sendCloseAck:(Lsun/rmi/transport/tcp/MultiplexConnectionInfo;)V
39: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
dup
astore 7
monitorenter
40: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
aload 4
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
41: aload 0
dup
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.numConnections:I
iconst_1
isub
putfield sun.rmi.transport.tcp.ConnectionMultiplexer.numConnections:I
42: aload 7
monitorexit
43: goto 0
StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int int top java.lang.Integer sun.rmi.transport.tcp.MultiplexConnectionInfo top java.util.Hashtable
StackMap stack: java.lang.Throwable
44: aload 7
monitorexit
45: athrow
end local 5 end local 4 end local 2 46: StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataIn:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
istore 2
start local 2 47: getstatic sun.rmi.transport.tcp.ConnectionMultiplexer.multiplexLog: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 51
48: getstatic sun.rmi.transport.tcp.ConnectionMultiplexer.multiplexLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.VERBOSE:Ljava/util/logging/Level;
49: new java.lang.StringBuilder
dup
ldc "operation CLOSEACK "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
50: invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
51: StackMap locals: int
StackMap stack:
new java.lang.Integer
dup
iload 2
invokespecial java.lang.Integer.<init>:(I)V
astore 4
start local 4 52: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
aload 4
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.rmi.transport.tcp.MultiplexConnectionInfo
53: astore 5
start local 5 54: aload 5
ifnonnull 58
55: new java.io.IOException
dup
56: ldc "CLOSEACK: Invalid connection ID"
57: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
58: StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int int top java.lang.Integer sun.rmi.transport.tcp.MultiplexConnectionInfo
StackMap stack:
aload 5
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.closed:Z
ifne 62
59: new java.io.IOException
dup
60: ldc "CLOSEACK: Connection not closed"
61: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
62: StackMap locals:
StackMap stack:
aload 5
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.in:Lsun/rmi/transport/tcp/MultiplexInputStream;
invokevirtual sun.rmi.transport.tcp.MultiplexInputStream.disconnect:()V
63: aload 5
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.out:Lsun/rmi/transport/tcp/MultiplexOutputStream;
invokevirtual sun.rmi.transport.tcp.MultiplexOutputStream.disconnect:()V
64: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
dup
astore 7
monitorenter
65: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
aload 4
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
66: aload 0
dup
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.numConnections:I
iconst_1
isub
putfield sun.rmi.transport.tcp.ConnectionMultiplexer.numConnections:I
67: aload 7
monitorexit
68: goto 0
StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int int top java.lang.Integer sun.rmi.transport.tcp.MultiplexConnectionInfo top java.util.Hashtable
StackMap stack: java.lang.Throwable
69: aload 7
monitorexit
70: athrow
end local 5 end local 4 end local 2 71: StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataIn:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
istore 2
start local 2 72: new java.lang.Integer
dup
iload 2
invokespecial java.lang.Integer.<init>:(I)V
astore 4
start local 4 73: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
aload 4
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.rmi.transport.tcp.MultiplexConnectionInfo
74: astore 5
start local 5 75: aload 5
ifnonnull 79
76: new java.io.IOException
dup
77: ldc "REQUEST: Invalid connection ID"
78: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
79: StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int int top java.lang.Integer sun.rmi.transport.tcp.MultiplexConnectionInfo
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataIn:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readInt:()I
istore 3
start local 3 80: getstatic sun.rmi.transport.tcp.ConnectionMultiplexer.multiplexLog: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 84
81: getstatic sun.rmi.transport.tcp.ConnectionMultiplexer.multiplexLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.VERBOSE:Ljava/util/logging/Level;
82: new java.lang.StringBuilder
dup
ldc "operation REQUEST "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
83: invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
84: StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int int int java.lang.Integer sun.rmi.transport.tcp.MultiplexConnectionInfo
StackMap stack:
aload 5
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.out:Lsun/rmi/transport/tcp/MultiplexOutputStream;
iload 3
invokevirtual sun.rmi.transport.tcp.MultiplexOutputStream.request:(I)V
85: goto 0
end local 5 end local 4 end local 3 end local 2 86: StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataIn:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
istore 2
start local 2 87: new java.lang.Integer
dup
iload 2
invokespecial java.lang.Integer.<init>:(I)V
astore 4
start local 4 88: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
aload 4
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.rmi.transport.tcp.MultiplexConnectionInfo
89: astore 5
start local 5 90: aload 5
ifnonnull 92
91: new java.io.IOException
dup
ldc "SEND: Invalid connection ID"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
92: StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int int top java.lang.Integer sun.rmi.transport.tcp.MultiplexConnectionInfo
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataIn:Ljava/io/DataInputStream;
invokevirtual java.io.DataInputStream.readInt:()I
istore 3
start local 3 93: getstatic sun.rmi.transport.tcp.ConnectionMultiplexer.multiplexLog: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 97
94: getstatic sun.rmi.transport.tcp.ConnectionMultiplexer.multiplexLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.VERBOSE:Ljava/util/logging/Level;
95: new java.lang.StringBuilder
dup
ldc "operation TRANSMIT "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
96: invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
97: StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int int int java.lang.Integer sun.rmi.transport.tcp.MultiplexConnectionInfo
StackMap stack:
aload 5
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.in:Lsun/rmi/transport/tcp/MultiplexInputStream;
iload 3
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataIn:Ljava/io/DataInputStream;
invokevirtual sun.rmi.transport.tcp.MultiplexInputStream.receive:(ILjava/io/DataInputStream;)V
98: goto 0
end local 5 end local 4 end local 3 end local 2 99: StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Invalid operation: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
100: iload 1
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
101: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 1 102: StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer
StackMap stack: java.lang.Throwable
astore 8
103: aload 0
invokevirtual sun.rmi.transport.tcp.ConnectionMultiplexer.shutDown:()V
104: aload 8
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 105 0 this Lsun/rmi/transport/tcp/ConnectionMultiplexer;
1 102 1 op I
3 25 2 id I
26 46 2 id I
47 71 2 id I
72 86 2 id I
87 99 2 id I
80 86 3 length I
93 99 3 length I
6 25 4 idObj Ljava/lang/Integer;
29 46 4 idObj Ljava/lang/Integer;
52 71 4 idObj Ljava/lang/Integer;
73 86 4 idObj Ljava/lang/Integer;
88 99 4 idObj Ljava/lang/Integer;
8 25 5 info Lsun/rmi/transport/tcp/MultiplexConnectionInfo;
31 46 5 info Lsun/rmi/transport/tcp/MultiplexConnectionInfo;
54 71 5 info Lsun/rmi/transport/tcp/MultiplexConnectionInfo;
75 86 5 info Lsun/rmi/transport/tcp/MultiplexConnectionInfo;
90 99 5 info Lsun/rmi/transport/tcp/MultiplexConnectionInfo;
23 25 6 conn Lsun/rmi/transport/Connection;
Exception table:
from to target type
16 19 20 any
20 21 20 any
40 43 44 any
44 45 44 any
65 68 69 any
69 70 69 any
0 102 102 any
Exceptions:
throws java.io.IOException
public synchronized sun.rmi.transport.tcp.TCPConnection openConnection();
descriptor: ()Lsun/rmi/transport/tcp/TCPConnection;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=6, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
aload 0
dup
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.lastID:I
iconst_1
iadd
dup_x1
putfield sun.rmi.transport.tcp.ConnectionMultiplexer.lastID:I
sipush 32767
iand
putfield sun.rmi.transport.tcp.ConnectionMultiplexer.lastID:I
1: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.lastID:I
istore 1
start local 1 2: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.orig:Z
ifeq 4
3: iload 1
ldc 32768
ior
istore 1
4: StackMap locals: int
StackMap stack:
new java.lang.Integer
dup
iload 1
invokespecial java.lang.Integer.<init>:(I)V
astore 2
start local 2 5: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
aload 2
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 0
6: new sun.rmi.transport.tcp.MultiplexConnectionInfo
dup
iload 1
invokespecial sun.rmi.transport.tcp.MultiplexConnectionInfo.<init>:(I)V
astore 3
start local 3 7: aload 3
new sun.rmi.transport.tcp.MultiplexInputStream
dup
aload 0
aload 3
sipush 2048
invokespecial sun.rmi.transport.tcp.MultiplexInputStream.<init>:(Lsun/rmi/transport/tcp/ConnectionMultiplexer;Lsun/rmi/transport/tcp/MultiplexConnectionInfo;I)V
putfield sun.rmi.transport.tcp.MultiplexConnectionInfo.in:Lsun/rmi/transport/tcp/MultiplexInputStream;
8: aload 3
new sun.rmi.transport.tcp.MultiplexOutputStream
dup
aload 0
aload 3
sipush 2048
invokespecial sun.rmi.transport.tcp.MultiplexOutputStream.<init>:(Lsun/rmi/transport/tcp/ConnectionMultiplexer;Lsun/rmi/transport/tcp/MultiplexConnectionInfo;I)V
putfield sun.rmi.transport.tcp.MultiplexConnectionInfo.out:Lsun/rmi/transport/tcp/MultiplexOutputStream;
9: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
dup
astore 4
monitorenter
10: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.alive:Z
ifne 12
11: new java.io.IOException
dup
ldc "Multiplexer connection dead"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: java.lang.Integer sun.rmi.transport.tcp.MultiplexConnectionInfo java.util.Hashtable
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.numConnections:I
sipush 256
if_icmplt 14
13: new java.io.IOException
dup
ldc "Cannot exceed 256 simultaneous multiplexed connections"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
aload 2
aload 3
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: aload 0
dup
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.numConnections:I
iconst_1
iadd
putfield sun.rmi.transport.tcp.ConnectionMultiplexer.numConnections:I
16: aload 4
monitorexit
17: goto 20
StackMap locals:
StackMap stack: java.lang.Throwable
18: aload 4
monitorexit
19: athrow
20: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
dup
astore 4
monitorenter
21: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
sipush 225
invokevirtual java.io.DataOutputStream.writeByte:(I)V
22: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
iload 1
invokevirtual java.io.DataOutputStream.writeShort:(I)V
23: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
invokevirtual java.io.DataOutputStream.flush:()V
24: goto 29
StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int java.lang.Integer sun.rmi.transport.tcp.MultiplexConnectionInfo java.io.DataOutputStream
StackMap stack: java.io.IOException
25: astore 5
start local 5 26: getstatic sun.rmi.transport.tcp.ConnectionMultiplexer.multiplexLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
ldc "exception: "
aload 5
invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
27: aload 0
invokevirtual sun.rmi.transport.tcp.ConnectionMultiplexer.shutDown:()V
28: aload 5
athrow
end local 5 29: StackMap locals:
StackMap stack:
aload 4
monitorexit
30: goto 33
StackMap locals:
StackMap stack: java.lang.Throwable
31: aload 4
monitorexit
32: athrow
33: StackMap locals:
StackMap stack:
new sun.rmi.transport.tcp.TCPConnection
dup
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.channel:Lsun/rmi/transport/tcp/TCPChannel;
aload 3
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.in:Lsun/rmi/transport/tcp/MultiplexInputStream;
aload 3
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.out:Lsun/rmi/transport/tcp/MultiplexOutputStream;
invokespecial sun.rmi.transport.tcp.TCPConnection.<init>:(Lsun/rmi/transport/tcp/TCPChannel;Ljava/io/InputStream;Ljava/io/OutputStream;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lsun/rmi/transport/tcp/ConnectionMultiplexer;
2 34 1 id I
5 34 2 idObj Ljava/lang/Integer;
7 34 3 info Lsun/rmi/transport/tcp/MultiplexConnectionInfo;
26 29 5 e Ljava/io/IOException;
Exception table:
from to target type
10 17 18 any
18 19 18 any
21 24 25 Class java.io.IOException
21 30 31 any
31 32 31 any
Exceptions:
throws java.io.IOException
public void shutDown();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
dup
astore 1
monitorenter
1: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.alive:Z
ifne 4
2: aload 1
monitorexit
3: return
4: StackMap locals: java.util.Hashtable
StackMap stack:
aload 0
iconst_0
putfield sun.rmi.transport.tcp.ConnectionMultiplexer.alive:Z
5: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.elements:()Ljava/util/Enumeration;
astore 2
start local 2 6: goto 11
7: StackMap locals: java.util.Enumeration
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast sun.rmi.transport.tcp.MultiplexConnectionInfo
8: astore 3
start local 3 9: aload 3
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.in:Lsun/rmi/transport/tcp/MultiplexInputStream;
invokevirtual sun.rmi.transport.tcp.MultiplexInputStream.disconnect:()V
10: aload 3
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.out:Lsun/rmi/transport/tcp/MultiplexOutputStream;
invokevirtual sun.rmi.transport.tcp.MultiplexOutputStream.disconnect:()V
end local 3 11: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 7
12: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.clear:()V
13: aload 0
iconst_0
putfield sun.rmi.transport.tcp.ConnectionMultiplexer.numConnections:I
end local 2 14: aload 1
monitorexit
15: goto 18
StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer java.util.Hashtable
StackMap stack: java.lang.Throwable
16: aload 1
monitorexit
17: athrow
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.in:Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
19: goto 21
StackMap locals:
StackMap stack: java.io.IOException
20: pop
21: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.out:Ljava/io/OutputStream;
invokevirtual java.io.OutputStream.close:()V
22: goto 24
StackMap locals:
StackMap stack: java.io.IOException
23: pop
24: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lsun/rmi/transport/tcp/ConnectionMultiplexer;
6 14 2 enum_ Ljava/util/Enumeration;
9 11 3 info Lsun/rmi/transport/tcp/MultiplexConnectionInfo;
Exception table:
from to target type
1 3 16 any
4 15 16 any
16 17 16 any
18 19 20 Class java.io.IOException
21 22 23 Class java.io.IOException
void sendRequest(sun.rmi.transport.tcp.MultiplexConnectionInfo, int);
descriptor: (Lsun/rmi/transport/tcp/MultiplexConnectionInfo;I)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
dup
astore 3
monitorenter
1: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.alive:Z
ifeq 11
aload 1
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.closed:Z
ifne 11
2: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
sipush 228
invokevirtual java.io.DataOutputStream.writeByte:(I)V
3: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
aload 1
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.id:I
invokevirtual java.io.DataOutputStream.writeShort:(I)V
4: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
iload 2
invokevirtual java.io.DataOutputStream.writeInt:(I)V
5: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
invokevirtual java.io.DataOutputStream.flush:()V
6: goto 11
StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer sun.rmi.transport.tcp.MultiplexConnectionInfo int java.io.DataOutputStream
StackMap stack: java.io.IOException
7: astore 4
start local 4 8: getstatic sun.rmi.transport.tcp.ConnectionMultiplexer.multiplexLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
ldc "exception: "
aload 4
invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
9: aload 0
invokevirtual sun.rmi.transport.tcp.ConnectionMultiplexer.shutDown:()V
10: aload 4
athrow
end local 4 11: StackMap locals:
StackMap stack:
aload 3
monitorexit
12: goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
13: aload 3
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/rmi/transport/tcp/ConnectionMultiplexer;
0 16 1 info Lsun/rmi/transport/tcp/MultiplexConnectionInfo;
0 16 2 len I
8 11 4 e Ljava/io/IOException;
Exception table:
from to target type
2 6 7 Class java.io.IOException
1 12 13 any
13 14 13 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
info
len
void sendTransmit(sun.rmi.transport.tcp.MultiplexConnectionInfo, byte[], int, int);
descriptor: (Lsun/rmi/transport/tcp/MultiplexConnectionInfo;[BII)V
flags: (0x0000)
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
dup
astore 5
monitorenter
1: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.alive:Z
ifeq 12
aload 1
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.closed:Z
ifne 12
2: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
sipush 229
invokevirtual java.io.DataOutputStream.writeByte:(I)V
3: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
aload 1
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.id:I
invokevirtual java.io.DataOutputStream.writeShort:(I)V
4: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
iload 4
invokevirtual java.io.DataOutputStream.writeInt:(I)V
5: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
aload 2
iload 3
iload 4
invokevirtual java.io.DataOutputStream.write:([BII)V
6: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
invokevirtual java.io.DataOutputStream.flush:()V
7: goto 12
StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer sun.rmi.transport.tcp.MultiplexConnectionInfo byte[] int int java.io.DataOutputStream
StackMap stack: java.io.IOException
8: astore 6
start local 6 9: getstatic sun.rmi.transport.tcp.ConnectionMultiplexer.multiplexLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
ldc "exception: "
aload 6
invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
10: aload 0
invokevirtual sun.rmi.transport.tcp.ConnectionMultiplexer.shutDown:()V
11: aload 6
athrow
end local 6 12: StackMap locals:
StackMap stack:
aload 5
monitorexit
13: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
14: aload 5
monitorexit
15: athrow
16: 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 17 0 this Lsun/rmi/transport/tcp/ConnectionMultiplexer;
0 17 1 info Lsun/rmi/transport/tcp/MultiplexConnectionInfo;
0 17 2 buf [B
0 17 3 off I
0 17 4 len I
9 12 6 e Ljava/io/IOException;
Exception table:
from to target type
2 7 8 Class java.io.IOException
1 13 14 any
14 15 14 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
info
buf
off
len
void sendClose(sun.rmi.transport.tcp.MultiplexConnectionInfo);
descriptor: (Lsun/rmi/transport/tcp/MultiplexConnectionInfo;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.out:Lsun/rmi/transport/tcp/MultiplexOutputStream;
invokevirtual sun.rmi.transport.tcp.MultiplexOutputStream.disconnect:()V
1: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
dup
astore 2
monitorenter
2: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.alive:Z
ifeq 12
aload 1
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.closed:Z
ifne 12
3: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
sipush 226
invokevirtual java.io.DataOutputStream.writeByte:(I)V
4: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
aload 1
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.id:I
invokevirtual java.io.DataOutputStream.writeShort:(I)V
5: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
invokevirtual java.io.DataOutputStream.flush:()V
6: aload 1
iconst_1
putfield sun.rmi.transport.tcp.MultiplexConnectionInfo.closed:Z
7: goto 12
StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer sun.rmi.transport.tcp.MultiplexConnectionInfo java.io.DataOutputStream
StackMap stack: java.io.IOException
8: astore 3
start local 3 9: getstatic sun.rmi.transport.tcp.ConnectionMultiplexer.multiplexLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
ldc "exception: "
aload 3
invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
10: aload 0
invokevirtual sun.rmi.transport.tcp.ConnectionMultiplexer.shutDown:()V
11: aload 3
athrow
end local 3 12: StackMap locals:
StackMap stack:
aload 2
monitorexit
13: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
14: aload 2
monitorexit
15: athrow
16: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/rmi/transport/tcp/ConnectionMultiplexer;
0 17 1 info Lsun/rmi/transport/tcp/MultiplexConnectionInfo;
9 12 3 e Ljava/io/IOException;
Exception table:
from to target type
3 7 8 Class java.io.IOException
2 13 14 any
14 15 14 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
info
void sendCloseAck(sun.rmi.transport.tcp.MultiplexConnectionInfo);
descriptor: (Lsun/rmi/transport/tcp/MultiplexConnectionInfo;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
dup
astore 2
monitorenter
1: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.alive:Z
ifeq 11
aload 1
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.closed:Z
ifne 11
2: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
sipush 227
invokevirtual java.io.DataOutputStream.writeByte:(I)V
3: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
aload 1
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.id:I
invokevirtual java.io.DataOutputStream.writeShort:(I)V
4: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
invokevirtual java.io.DataOutputStream.flush:()V
5: aload 1
iconst_1
putfield sun.rmi.transport.tcp.MultiplexConnectionInfo.closed:Z
6: goto 11
StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer sun.rmi.transport.tcp.MultiplexConnectionInfo java.io.DataOutputStream
StackMap stack: java.io.IOException
7: astore 3
start local 3 8: getstatic sun.rmi.transport.tcp.ConnectionMultiplexer.multiplexLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
ldc "exception: "
aload 3
invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
9: aload 0
invokevirtual sun.rmi.transport.tcp.ConnectionMultiplexer.shutDown:()V
10: aload 3
athrow
end local 3 11: StackMap locals:
StackMap stack:
aload 2
monitorexit
12: goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
13: aload 2
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/rmi/transport/tcp/ConnectionMultiplexer;
0 16 1 info Lsun/rmi/transport/tcp/MultiplexConnectionInfo;
8 11 3 e Ljava/io/IOException;
Exception table:
from to target type
2 6 7 Class java.io.IOException
1 12 13 any
13 14 13 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
info
protected void finalize();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.finalize:()V
1: aload 0
invokevirtual sun.rmi.transport.tcp.ConnectionMultiplexer.shutDown:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/rmi/transport/tcp/ConnectionMultiplexer;
Exceptions:
throws java.lang.Throwable
}
SourceFile: "ConnectionMultiplexer.java"