public abstract class org.xnio.Connection implements org.xnio.channels.CloseableChannel, org.xnio.channels.ConnectedChannel
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.xnio.Connection
super_class: java.lang.Object
{
protected final org.xnio.XnioIoThread thread;
descriptor: Lorg/xnio/XnioIoThread;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private volatile int state;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private static final int FLAG_READ_CLOSED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int FLAG_WRITE_CLOSED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<org.xnio.Connection> stateUpdater;
descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lorg/xnio/Connection;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/xnio/Connection;
ldc "state"
invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
putstatic org.xnio.Connection.stateUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(org.xnio.XnioIoThread);
descriptor: (Lorg/xnio/XnioIoThread;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.xnio.Connection.thread:Lorg/xnio/XnioIoThread;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/xnio/Connection;
0 3 1 thread Lorg/xnio/XnioIoThread;
MethodParameters:
Name Flags
thread final
private static <A extends java.net.SocketAddress> A castAddress(java.lang.Class<A>, java.net.SocketAddress);
descriptor: (Ljava/lang/Class;Ljava/net/SocketAddress;)Ljava/net/SocketAddress;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 1
aload 0
aload 1
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.net.SocketAddress
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.net.SocketAddress
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 type Ljava/lang/Class<TA;>;
0 3 1 address Ljava/net/SocketAddress;
Signature: <A:Ljava/net/SocketAddress;>(Ljava/lang/Class<TA;>;Ljava/net/SocketAddress;)TA;
MethodParameters:
Name Flags
type final
address
public final <A extends java.net.SocketAddress> A getPeerAddress(java.lang.Class<A>);
descriptor: (Ljava/lang/Class;)Ljava/net/SocketAddress;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual org.xnio.Connection.getPeerAddress:()Ljava/net/SocketAddress;
invokestatic org.xnio.Connection.castAddress:(Ljava/lang/Class;Ljava/net/SocketAddress;)Ljava/net/SocketAddress;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/Connection;
0 1 1 type Ljava/lang/Class<TA;>;
Signature: <A:Ljava/net/SocketAddress;>(Ljava/lang/Class<TA;>;)TA;
MethodParameters:
Name Flags
type final
public final <A extends java.net.SocketAddress> A getLocalAddress(java.lang.Class<A>);
descriptor: (Ljava/lang/Class;)Ljava/net/SocketAddress;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual org.xnio.Connection.getLocalAddress:()Ljava/net/SocketAddress;
invokestatic org.xnio.Connection.castAddress:(Ljava/lang/Class;Ljava/net/SocketAddress;)Ljava/net/SocketAddress;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/Connection;
0 1 1 type Ljava/lang/Class<TA;>;
Signature: <A:Ljava/net/SocketAddress;>(Ljava/lang/Class<TA;>;)TA;
MethodParameters:
Name Flags
type final
public final org.xnio.XnioWorker getWorker();
descriptor: ()Lorg/xnio/XnioWorker;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.xnio.Connection.thread:Lorg/xnio/XnioIoThread;
invokevirtual org.xnio.XnioIoThread.getWorker:()Lorg/xnio/XnioWorker;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/Connection;
public org.xnio.XnioIoThread getIoThread();
descriptor: ()Lorg/xnio/XnioIoThread;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.xnio.Connection.thread:Lorg/xnio/XnioIoThread;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/Connection;
protected boolean readClosed();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
getfield org.xnio.Connection.state:I
istore 1
start local 1 1: iload 1
iconst_1
invokestatic org.xnio.Bits.allAreSet:(II)Z
ifeq 3
2: iconst_0
ireturn
3: StackMap locals: int
StackMap stack:
iload 1
iconst_1
ior
istore 2
start local 2 4: getstatic org.xnio.Connection.stateUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iload 1
iload 2
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
ifeq 0
5: iload 2
iconst_3
invokestatic org.xnio.Bits.allAreSet:(II)Z
ifeq 10
6: aload 0
invokevirtual org.xnio.Connection.closeAction:()V
7: goto 9
StackMap locals: org.xnio.Connection int int
StackMap stack: java.lang.Throwable
8: pop
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.xnio.Connection.invokeCloseListener:()V
10: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/xnio/Connection;
1 11 1 oldVal I
4 11 2 newVal I
Exception table:
from to target type
6 7 8 Class java.lang.Throwable
protected boolean writeClosed();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
getfield org.xnio.Connection.state:I
istore 1
start local 1 1: iload 1
iconst_2
invokestatic org.xnio.Bits.allAreSet:(II)Z
ifeq 3
2: iconst_0
ireturn
3: StackMap locals: int
StackMap stack:
iload 1
iconst_2
ior
istore 2
start local 2 4: getstatic org.xnio.Connection.stateUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iload 1
iload 2
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
ifeq 0
5: iload 2
iconst_3
invokestatic org.xnio.Bits.allAreSet:(II)Z
ifeq 10
6: aload 0
invokevirtual org.xnio.Connection.closeAction:()V
7: goto 9
StackMap locals: org.xnio.Connection int int
StackMap stack: java.lang.Throwable
8: pop
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.xnio.Connection.invokeCloseListener:()V
10: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/xnio/Connection;
1 11 1 oldVal I
4 11 2 newVal I
Exception table:
from to target type
6 7 8 Class java.lang.Throwable
public final void close();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
getfield org.xnio.Connection.state:I
istore 1
start local 1 1: iload 1
iconst_3
invokestatic org.xnio.Bits.allAreSet:(II)Z
ifeq 3
2: return
3: StackMap locals: int
StackMap stack:
iload 1
iconst_1
ior
iconst_2
ior
istore 2
start local 2 4: getstatic org.xnio.Connection.stateUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iload 1
iload 2
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
ifeq 0
5: aload 0
invokevirtual org.xnio.Connection.closeAction:()V
6: goto 18
StackMap locals: org.xnio.Connection int int
StackMap stack: java.lang.Throwable
7: astore 3
8: iload 1
iconst_2
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 12
9: aload 0
invokevirtual org.xnio.Connection.notifyWriteClosed:()V
10: goto 12
StackMap locals: org.xnio.Connection int int java.lang.Throwable
StackMap stack: java.lang.Throwable
11: pop
12: StackMap locals:
StackMap stack:
iload 1
iconst_1
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 16
13: aload 0
invokevirtual org.xnio.Connection.notifyReadClosed:()V
14: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
15: pop
16: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.xnio.Connection.invokeCloseListener:()V
17: aload 3
athrow
18: StackMap locals:
StackMap stack:
iload 1
iconst_2
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 22
19: aload 0
invokevirtual org.xnio.Connection.notifyWriteClosed:()V
20: goto 22
StackMap locals:
StackMap stack: java.lang.Throwable
21: pop
22: StackMap locals:
StackMap stack:
iload 1
iconst_1
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 26
23: aload 0
invokevirtual org.xnio.Connection.notifyReadClosed:()V
24: goto 26
StackMap locals:
StackMap stack: java.lang.Throwable
25: pop
26: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.xnio.Connection.invokeCloseListener:()V
27: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/xnio/Connection;
1 28 1 oldVal I
4 28 2 newVal I
Exception table:
from to target type
5 7 7 any
9 10 11 Class java.lang.Throwable
13 14 15 Class java.lang.Throwable
19 20 21 Class java.lang.Throwable
23 24 25 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
public boolean isReadShutdown();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.xnio.Connection.state:I
iconst_1
invokestatic org.xnio.Bits.allAreSet:(II)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/Connection;
public boolean isWriteShutdown();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.xnio.Connection.state:I
iconst_2
invokestatic org.xnio.Bits.allAreSet:(II)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/Connection;
public boolean isOpen();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.xnio.Connection.state:I
iconst_3
invokestatic org.xnio.Bits.anyAreClear:(II)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/Connection;
protected abstract void notifyWriteClosed();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected abstract void notifyReadClosed();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
abstract void invokeCloseListener();
descriptor: ()V
flags: (0x0400) ACC_ABSTRACT
protected void closeAction();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/Connection;
Exceptions:
throws java.io.IOException
public boolean supportsOption(org.xnio.Option<?>);
descriptor: (Lorg/xnio/Option;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/Connection;
0 1 1 option Lorg/xnio/Option<*>;
Signature: (Lorg/xnio/Option<*>;)Z
MethodParameters:
Name Flags
option final
public <T> T getOption(org.xnio.Option<T>);
descriptor: (Lorg/xnio/Option;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/Connection;
0 1 1 option Lorg/xnio/Option<TT;>;
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Lorg/xnio/Option<TT;>;)TT;
MethodParameters:
Name Flags
option final
public <T> T setOption(org.xnio.Option<T>, );
descriptor: (Lorg/xnio/Option;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/Connection;
0 1 1 option Lorg/xnio/Option<TT;>;
0 1 2 value TT;
Exceptions:
throws java.lang.IllegalArgumentException, java.io.IOException
Signature: <T:Ljava/lang/Object;>(Lorg/xnio/Option<TT;>;TT;)TT;
MethodParameters:
Name Flags
option final
value final
}
SourceFile: "Connection.java"