class com.sun.glass.ui.monocle.VNCScreen$ClientConnection implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.glass.ui.monocle.VNCScreen$ClientConnection
super_class: java.lang.Object
{
private java.nio.channels.SocketChannel socket;
descriptor: Ljava/nio/channels/SocketChannel;
flags: (0x0002) ACC_PRIVATE
private java.lang.String descriptor;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
final com.sun.glass.ui.monocle.VNCScreen this$0;
descriptor: Lcom/sun/glass/ui/monocle/VNCScreen;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(com.sun.glass.ui.monocle.VNCScreen);
descriptor: (Lcom/sun/glass/ui/monocle/VNCScreen;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield com.sun.glass.ui.monocle.VNCScreen$ClientConnection.this$0:Lcom/sun/glass/ui/monocle/VNCScreen;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/glass/ui/monocle/VNCScreen$ClientConnection;
MethodParameters:
Name Flags
this$0 final
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=1
start local 0 0: bipush 32
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 1
start local 1 1: aload 1
getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
pop
2: aload 0
aload 0
getfield com.sun.glass.ui.monocle.VNCScreen$ClientConnection.socket:Ljava/nio/channels/SocketChannel;
invokevirtual java.nio.channels.SocketChannel.getRemoteAddress:()Ljava/net/SocketAddress;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
putfield com.sun.glass.ui.monocle.VNCScreen$ClientConnection.descriptor:Ljava/lang/String;
3: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
4: aload 1
iconst_4
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
5: aload 0
getfield com.sun.glass.ui.monocle.VNCScreen$ClientConnection.socket:Ljava/nio/channels/SocketChannel;
aload 1
invokevirtual java.nio.channels.SocketChannel.read:(Ljava/nio/ByteBuffer;)I
pop
6: aload 1
iconst_0
invokevirtual java.nio.ByteBuffer.get:(I)B
tableswitch { // 0 - 6
0: 7
1: 11
2: 23
3: 31
4: 36
5: 40
6: 59
default: 71
}
7: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
8: aload 1
bipush 16
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
9: aload 0
getfield com.sun.glass.ui.monocle.VNCScreen$ClientConnection.socket:Ljava/nio/channels/SocketChannel;
aload 1
invokevirtual java.nio.channels.SocketChannel.read:(Ljava/nio/ByteBuffer;)I
pop
10: goto 3
11: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
12: aload 1
iconst_2
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
13: aload 0
getfield com.sun.glass.ui.monocle.VNCScreen$ClientConnection.socket:Ljava/nio/channels/SocketChannel;
aload 1
invokevirtual java.nio.channels.SocketChannel.read:(Ljava/nio/ByteBuffer;)I
pop
14: aload 1
iconst_0
invokevirtual java.nio.ByteBuffer.getShort:(I)S
istore 2
start local 2 15: iconst_0
istore 3
start local 3 16: goto 21
17: StackMap locals: int int
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
18: aload 1
bipush 6
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
19: aload 0
getfield com.sun.glass.ui.monocle.VNCScreen$ClientConnection.socket:Ljava/nio/channels/SocketChannel;
aload 1
invokevirtual java.nio.channels.SocketChannel.read:(Ljava/nio/ByteBuffer;)I
pop
20: iinc 3 1
StackMap locals:
StackMap stack:
21: iload 3
iload 2
if_icmplt 17
end local 3 22: goto 3
end local 2 23: StackMap locals:
StackMap stack:
aload 1
iconst_2
invokevirtual java.nio.ByteBuffer.getShort:(I)S
istore 3
start local 3 24: iconst_0
istore 4
start local 4 25: goto 30
26: StackMap locals: com.sun.glass.ui.monocle.VNCScreen$ClientConnection java.nio.ByteBuffer top int int
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
27: aload 1
iconst_4
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
28: aload 0
getfield com.sun.glass.ui.monocle.VNCScreen$ClientConnection.socket:Ljava/nio/channels/SocketChannel;
aload 1
invokevirtual java.nio.channels.SocketChannel.read:(Ljava/nio/ByteBuffer;)I
pop
29: iinc 4 1
StackMap locals:
StackMap stack:
30: iload 4
iload 3
if_icmplt 26
end local 4 end local 3 31: StackMap locals: com.sun.glass.ui.monocle.VNCScreen$ClientConnection java.nio.ByteBuffer
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
32: aload 1
bipush 6
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
33: aload 0
getfield com.sun.glass.ui.monocle.VNCScreen$ClientConnection.socket:Ljava/nio/channels/SocketChannel;
aload 1
invokevirtual java.nio.channels.SocketChannel.read:(Ljava/nio/ByteBuffer;)I
pop
34: aload 0
invokedynamic run(Lcom/sun/glass/ui/monocle/VNCScreen$ClientConnection;)Ljava/lang/Runnable;
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:
()V
com/sun/glass/ui/monocle/VNCScreen$ClientConnection.lambda$0()V (7)
()V
invokestatic javafx.application.Platform.runLater:(Ljava/lang/Runnable;)V
35: goto 3
36: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
37: aload 1
iconst_4
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
38: aload 0
getfield com.sun.glass.ui.monocle.VNCScreen$ClientConnection.socket:Ljava/nio/channels/SocketChannel;
aload 1
invokevirtual java.nio.channels.SocketChannel.read:(Ljava/nio/ByteBuffer;)I
pop
39: goto 3
40: StackMap locals:
StackMap stack:
aload 1
iconst_2
invokevirtual java.nio.ByteBuffer.getShort:(I)S
istore 4
start local 4 41: aload 1
iconst_1
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
42: aload 1
iconst_2
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
43: aload 1
invokestatic java.util.BitSet.valueOf:(Ljava/nio/ByteBuffer;)Ljava/util/BitSet;
astore 5
start local 5 44: aload 1
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
45: aload 1
iconst_2
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
46: aload 0
getfield com.sun.glass.ui.monocle.VNCScreen$ClientConnection.socket:Ljava/nio/channels/SocketChannel;
aload 1
invokevirtual java.nio.channels.SocketChannel.read:(Ljava/nio/ByteBuffer;)I
pop
47: aload 1
iconst_0
invokevirtual java.nio.ByteBuffer.getShort:(I)S
istore 6
start local 6 48: new com.sun.glass.ui.monocle.MouseState
dup
invokespecial com.sun.glass.ui.monocle.MouseState.<init>:()V
astore 7
start local 7 49: aload 7
iload 4
invokevirtual com.sun.glass.ui.monocle.MouseState.setX:(I)V
50: aload 7
iload 6
invokevirtual com.sun.glass.ui.monocle.MouseState.setY:(I)V
51: aload 5
iconst_0
invokevirtual java.util.BitSet.get:(I)Z
ifeq 53
52: aload 7
sipush 212
invokevirtual com.sun.glass.ui.monocle.MouseState.pressButton:(I)V
53: StackMap locals: com.sun.glass.ui.monocle.VNCScreen$ClientConnection java.nio.ByteBuffer top top int java.util.BitSet int com.sun.glass.ui.monocle.MouseState
StackMap stack:
aload 5
iconst_1
invokevirtual java.util.BitSet.get:(I)Z
ifeq 55
54: aload 7
sipush 214
invokevirtual com.sun.glass.ui.monocle.MouseState.pressButton:(I)V
55: StackMap locals:
StackMap stack:
aload 5
iconst_2
invokevirtual java.util.BitSet.get:(I)Z
ifeq 57
56: aload 7
sipush 213
invokevirtual com.sun.glass.ui.monocle.MouseState.pressButton:(I)V
57: StackMap locals:
StackMap stack:
aload 7
invokedynamic run(Lcom/sun/glass/ui/monocle/MouseState;)Ljava/lang/Runnable;
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:
()V
com/sun/glass/ui/monocle/VNCScreen$ClientConnection.lambda$1(Lcom/sun/glass/ui/monocle/MouseState;)V (6)
()V
invokestatic javafx.application.Platform.runLater:(Ljava/lang/Runnable;)V
58: goto 3
end local 7 end local 6 end local 5 end local 4 59: StackMap locals: com.sun.glass.ui.monocle.VNCScreen$ClientConnection java.nio.ByteBuffer
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
60: aload 1
iconst_4
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
61: aload 0
getfield com.sun.glass.ui.monocle.VNCScreen$ClientConnection.socket:Ljava/nio/channels/SocketChannel;
aload 1
invokevirtual java.nio.channels.SocketChannel.read:(Ljava/nio/ByteBuffer;)I
pop
62: aload 1
iconst_0
invokevirtual java.nio.ByteBuffer.getInt:(I)I
istore 4
start local 4 63: iconst_0
istore 5
start local 5 64: goto 69
65: StackMap locals: com.sun.glass.ui.monocle.VNCScreen$ClientConnection java.nio.ByteBuffer top top int int
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
66: aload 1
iconst_1
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
67: aload 0
getfield com.sun.glass.ui.monocle.VNCScreen$ClientConnection.socket:Ljava/nio/channels/SocketChannel;
aload 1
invokevirtual java.nio.channels.SocketChannel.read:(Ljava/nio/ByteBuffer;)I
pop
68: iinc 5 1
StackMap locals:
StackMap stack:
69: iload 5
iload 4
if_icmplt 65
end local 5 70: goto 3
end local 4 71: StackMap locals: com.sun.glass.ui.monocle.VNCScreen$ClientConnection java.nio.ByteBuffer
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
72: ldc "Unknown message %d from client %s\n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
73: aload 1
iconst_0
invokevirtual java.nio.ByteBuffer.get:(I)B
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aastore
dup
iconst_1
aload 0
getfield com.sun.glass.ui.monocle.VNCScreen$ClientConnection.socket:Ljava/nio/channels/SocketChannel;
invokevirtual java.nio.channels.SocketChannel.getRemoteAddress:()Ljava/net/SocketAddress;
aastore
74: invokevirtual java.io.PrintStream.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
75: goto 3
76: StackMap locals:
StackMap stack: java.io.IOException
astore 2
start local 2 77: aload 0
getfield com.sun.glass.ui.monocle.VNCScreen$ClientConnection.this$0:Lcom/sun/glass/ui/monocle/VNCScreen;
aload 0
aload 2
invokevirtual com.sun.glass.ui.monocle.VNCScreen.removeClient:(Lcom/sun/glass/ui/monocle/VNCScreen$ClientConnection;Ljava/io/IOException;)V
end local 2 78: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 79 0 this Lcom/sun/glass/ui/monocle/VNCScreen$ClientConnection;
1 79 1 buffer Ljava/nio/ByteBuffer;
15 23 2 colorMapEntryCount I
16 22 3 i I
24 31 3 encodingCount I
25 31 4 i I
41 59 4 x I
44 59 5 buttons Ljava/util/BitSet;
48 59 6 y I
49 59 7 state Lcom/sun/glass/ui/monocle/MouseState;
63 71 4 textLength I
64 70 5 i I
77 78 2 e Ljava/io/IOException;
Exception table:
from to target type
2 76 76 Class java.io.IOException
private void lambda$0();
descriptor: ()V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.glass.ui.monocle.VNCScreen$ClientConnection.this$0:Lcom/sun/glass/ui/monocle/VNCScreen;
getfield com.sun.glass.ui.monocle.VNCScreen.fb:Lcom/sun/glass/ui/monocle/Framebuffer;
invokevirtual com.sun.glass.ui.monocle.Framebuffer.hasReceivedData:()Z
ifne 5
1: aload 0
getfield com.sun.glass.ui.monocle.VNCScreen$ClientConnection.this$0:Lcom/sun/glass/ui/monocle/VNCScreen;
aload 0
getfield com.sun.glass.ui.monocle.VNCScreen$ClientConnection.socket:Ljava/nio/channels/SocketChannel;
invokevirtual com.sun.glass.ui.monocle.VNCScreen.sendBuffer:(Ljava/nio/channels/WritableByteChannel;)V
2: goto 5
StackMap locals:
StackMap stack: java.io.IOException
3: astore 1
start local 1 4: aload 0
getfield com.sun.glass.ui.monocle.VNCScreen$ClientConnection.this$0:Lcom/sun/glass/ui/monocle/VNCScreen;
aload 0
aload 1
invokevirtual com.sun.glass.ui.monocle.VNCScreen.removeClient:(Lcom/sun/glass/ui/monocle/VNCScreen$ClientConnection;Ljava/io/IOException;)V
end local 1 5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/glass/ui/monocle/VNCScreen$ClientConnection;
4 5 1 e Ljava/io/IOException;
Exception table:
from to target type
0 2 3 Class java.io.IOException
private static void lambda$1(com.sun.glass.ui.monocle.MouseState);
descriptor: (Lcom/sun/glass/ui/monocle/MouseState;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: invokestatic com.sun.glass.ui.monocle.MouseInput.getInstance:()Lcom/sun/glass/ui/monocle/MouseInput;
aload 0
iconst_0
invokevirtual com.sun.glass.ui.monocle.MouseInput.setState:(Lcom/sun/glass/ui/monocle/MouseState;Z)V
return
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "VNCScreen.java"
NestHost: com.sun.glass.ui.monocle.VNCScreen
InnerClasses:
private ClientConnection = com.sun.glass.ui.monocle.VNCScreen$ClientConnection of com.sun.glass.ui.monocle.VNCScreen
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles