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<java.lang.Integer, sun.rmi.transport.tcp.MultiplexConnectionInfo> connectionTable;
descriptor: Ljava/util/Hashtable;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Hashtable<Ljava/lang/Integer;Lsun/rmi/transport/tcp/MultiplexConnectionInfo;>;
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=8, 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: 23
227: 42
228: 65
229: 78
default: 89
}
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:
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.rmi.transport.tcp.MultiplexConnectionInfo
astore 4
start local 4 6: aload 4
ifnull 10
7: new java.io.IOException
dup
8: ldc "OPEN: Connection ID already exists"
9: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int int top 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 4
11: aload 4
new sun.rmi.transport.tcp.MultiplexInputStream
dup
aload 0
aload 4
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;
12: aload 4
new sun.rmi.transport.tcp.MultiplexOutputStream
dup
aload 0
aload 4
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;
13: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
dup
astore 5
monitorenter
14: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 4
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 5
monitorexit
17: goto 20
StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int int top sun.rmi.transport.tcp.MultiplexConnectionInfo java.util.Hashtable
StackMap stack: java.lang.Throwable
18: aload 5
monitorexit
19: athrow
20: 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 4
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.in:Lsun/rmi/transport/tcp/MultiplexInputStream;
aload 4
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 5
start local 5 21: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.channel:Lsun/rmi/transport/tcp/TCPChannel;
aload 5
invokevirtual sun.rmi.transport.tcp.TCPChannel.acceptMultiplexConnection:(Lsun/rmi/transport/Connection;)V
22: goto 0
end local 5 end local 4 end local 2 23: 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 24: 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 26
25: 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
26: StackMap locals: int
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.rmi.transport.tcp.MultiplexConnectionInfo
astore 4
start local 4 27: aload 4
ifnonnull 31
28: new java.io.IOException
dup
29: ldc "CLOSE: Invalid connection ID"
30: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
31: StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int int top sun.rmi.transport.tcp.MultiplexConnectionInfo
StackMap stack:
aload 4
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.in:Lsun/rmi/transport/tcp/MultiplexInputStream;
invokevirtual sun.rmi.transport.tcp.MultiplexInputStream.disconnect:()V
32: aload 4
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.out:Lsun/rmi/transport/tcp/MultiplexOutputStream;
invokevirtual sun.rmi.transport.tcp.MultiplexOutputStream.disconnect:()V
33: aload 4
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.closed:Z
ifne 35
34: aload 0
aload 4
invokevirtual sun.rmi.transport.tcp.ConnectionMultiplexer.sendCloseAck:(Lsun/rmi/transport/tcp/MultiplexConnectionInfo;)V
35: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
dup
astore 6
monitorenter
36: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
37: aload 0
dup
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.numConnections:I
iconst_1
isub
putfield sun.rmi.transport.tcp.ConnectionMultiplexer.numConnections:I
38: aload 6
monitorexit
39: goto 0
StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int int top sun.rmi.transport.tcp.MultiplexConnectionInfo top java.util.Hashtable
StackMap stack: java.lang.Throwable
40: aload 6
monitorexit
41: athrow
end local 4 end local 2 42: 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 43: 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 47
44: getstatic sun.rmi.transport.tcp.ConnectionMultiplexer.multiplexLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.VERBOSE:Ljava/util/logging/Level;
45: 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;
46: invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
47: StackMap locals: int
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.rmi.transport.tcp.MultiplexConnectionInfo
astore 4
start local 4 48: aload 4
ifnonnull 52
49: new java.io.IOException
dup
50: ldc "CLOSEACK: Invalid connection ID"
51: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
52: StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int int top sun.rmi.transport.tcp.MultiplexConnectionInfo
StackMap stack:
aload 4
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.closed:Z
ifne 56
53: new java.io.IOException
dup
54: ldc "CLOSEACK: Connection not closed"
55: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
56: StackMap locals:
StackMap stack:
aload 4
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.in:Lsun/rmi/transport/tcp/MultiplexInputStream;
invokevirtual sun.rmi.transport.tcp.MultiplexInputStream.disconnect:()V
57: aload 4
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.out:Lsun/rmi/transport/tcp/MultiplexOutputStream;
invokevirtual sun.rmi.transport.tcp.MultiplexOutputStream.disconnect:()V
58: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
dup
astore 6
monitorenter
59: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
60: aload 0
dup
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.numConnections:I
iconst_1
isub
putfield sun.rmi.transport.tcp.ConnectionMultiplexer.numConnections:I
61: aload 6
monitorexit
62: goto 0
StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int int top sun.rmi.transport.tcp.MultiplexConnectionInfo top java.util.Hashtable
StackMap stack: java.lang.Throwable
63: aload 6
monitorexit
64: athrow
end local 4 end local 2 65: 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 66: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.rmi.transport.tcp.MultiplexConnectionInfo
astore 4
start local 4 67: aload 4
ifnonnull 71
68: new java.io.IOException
dup
69: ldc "REQUEST: Invalid connection ID"
70: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
71: StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int int top 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 72: 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 76
73: getstatic sun.rmi.transport.tcp.ConnectionMultiplexer.multiplexLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.VERBOSE:Ljava/util/logging/Level;
74: 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;
75: invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
76: StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int int int sun.rmi.transport.tcp.MultiplexConnectionInfo
StackMap stack:
aload 4
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.out:Lsun/rmi/transport/tcp/MultiplexOutputStream;
iload 3
invokevirtual sun.rmi.transport.tcp.MultiplexOutputStream.request:(I)V
77: goto 0
end local 4 end local 3 end local 2 78: StackMap locals:
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 79: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.rmi.transport.tcp.MultiplexConnectionInfo
astore 4
start local 4 80: aload 4
ifnonnull 82
81: new java.io.IOException
dup
ldc "SEND: Invalid connection ID"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
82: StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int int top 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 83: 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 87
84: getstatic sun.rmi.transport.tcp.ConnectionMultiplexer.multiplexLog:Lsun/rmi/runtime/Log;
getstatic sun.rmi.runtime.Log.VERBOSE:Ljava/util/logging/Level;
85: 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;
86: invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
87: StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int int int sun.rmi.transport.tcp.MultiplexConnectionInfo
StackMap stack:
aload 4
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
88: goto 0
end local 4 end local 3 end local 2 89: StackMap locals:
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Invalid operation: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
90: 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;
91: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 1 92: StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer
StackMap stack: java.lang.Throwable
astore 7
93: aload 0
invokevirtual sun.rmi.transport.tcp.ConnectionMultiplexer.shutDown:()V
94: aload 7
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 95 0 this Lsun/rmi/transport/tcp/ConnectionMultiplexer;
1 92 1 op I
3 23 2 id I
24 42 2 id I
43 65 2 id I
66 78 2 id I
79 89 2 id I
72 78 3 length I
83 89 3 length I
6 23 4 info Lsun/rmi/transport/tcp/MultiplexConnectionInfo;
27 42 4 info Lsun/rmi/transport/tcp/MultiplexConnectionInfo;
48 65 4 info Lsun/rmi/transport/tcp/MultiplexConnectionInfo;
67 78 4 info Lsun/rmi/transport/tcp/MultiplexConnectionInfo;
80 89 4 info Lsun/rmi/transport/tcp/MultiplexConnectionInfo;
21 23 5 conn Lsun/rmi/transport/Connection;
Exception table:
from to target type
14 17 18 any
18 19 18 any
36 39 40 any
40 41 40 any
59 62 63 any
63 64 63 any
0 92 92 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=5, 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:
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 0
5: new sun.rmi.transport.tcp.MultiplexConnectionInfo
dup
iload 1
invokespecial sun.rmi.transport.tcp.MultiplexConnectionInfo.<init>:(I)V
astore 2
start local 2 6: aload 2
new sun.rmi.transport.tcp.MultiplexInputStream
dup
aload 0
aload 2
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;
7: aload 2
new sun.rmi.transport.tcp.MultiplexOutputStream
dup
aload 0
aload 2
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;
8: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
dup
astore 3
monitorenter
9: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.alive:Z
ifne 11
10: new java.io.IOException
dup
ldc "Multiplexer connection dead"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: sun.rmi.transport.tcp.MultiplexConnectionInfo java.util.Hashtable
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.numConnections:I
sipush 256
if_icmplt 13
12: new java.io.IOException
dup
ldc "Cannot exceed 256 simultaneous multiplexed connections"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.connectionTable:Ljava/util/Hashtable;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 2
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: aload 0
dup
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.numConnections:I
iconst_1
iadd
putfield sun.rmi.transport.tcp.ConnectionMultiplexer.numConnections:I
15: aload 3
monitorexit
16: goto 19
StackMap locals:
StackMap stack: java.lang.Throwable
17: aload 3
monitorexit
18: athrow
19: StackMap locals:
StackMap stack:
aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
dup
astore 3
monitorenter
20: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
sipush 225
invokevirtual java.io.DataOutputStream.writeByte:(I)V
21: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
iload 1
invokevirtual java.io.DataOutputStream.writeShort:(I)V
22: aload 0
getfield sun.rmi.transport.tcp.ConnectionMultiplexer.dataOut:Ljava/io/DataOutputStream;
invokevirtual java.io.DataOutputStream.flush:()V
23: goto 28
StackMap locals: sun.rmi.transport.tcp.ConnectionMultiplexer int sun.rmi.transport.tcp.MultiplexConnectionInfo java.io.DataOutputStream
StackMap stack: java.io.IOException
24: astore 4
start local 4 25: 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
26: aload 0
invokevirtual sun.rmi.transport.tcp.ConnectionMultiplexer.shutDown:()V
27: aload 4
athrow
end local 4 28: StackMap locals:
StackMap stack:
aload 3
monitorexit
29: goto 32
StackMap locals:
StackMap stack: java.lang.Throwable
30: aload 3
monitorexit
31: athrow
32: 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 2
getfield sun.rmi.transport.tcp.MultiplexConnectionInfo.in:Lsun/rmi/transport/tcp/MultiplexInputStream;
aload 2
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 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lsun/rmi/transport/tcp/ConnectionMultiplexer;
2 33 1 id I
6 33 2 info Lsun/rmi/transport/tcp/MultiplexConnectionInfo;
25 28 4 e Ljava/io/IOException;
Exception table:
from to target type
9 16 17 any
17 18 17 any
20 23 24 Class java.io.IOException
20 29 30 any
30 31 30 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;
6: astore 2
start local 2 7: goto 11
8: StackMap locals: java.util.Enumeration
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast sun.rmi.transport.tcp.MultiplexConnectionInfo
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 8
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;
7 14 2 enum_ Ljava/util/Enumeration<Lsun/rmi/transport/tcp/MultiplexConnectionInfo;>;
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"