class io.netty.channel.local.LocalChannel$LocalUnsafe extends io.netty.channel.AbstractChannel$AbstractUnsafe
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.netty.channel.local.LocalChannel$LocalUnsafe
super_class: io.netty.channel.AbstractChannel$AbstractUnsafe
{
final io.netty.channel.local.LocalChannel this$0;
descriptor: Lio/netty/channel/local/LocalChannel;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(io.netty.channel.local.LocalChannel);
descriptor: (Lio/netty/channel/local/LocalChannel;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 // io.netty.channel.local.LocalChannel$LocalUnsafe this
0: .line 450
aload 0 /* this */
aload 1
putfield io.netty.channel.local.LocalChannel$LocalUnsafe.this$0:Lio/netty/channel/local/LocalChannel;
aload 0 /* this */
aload 1
invokespecial io.netty.channel.AbstractChannel$AbstractUnsafe.<init>:(Lio/netty/channel/AbstractChannel;)V
return
end local 0 // io.netty.channel.local.LocalChannel$LocalUnsafe this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/local/LocalChannel$LocalUnsafe;
MethodParameters:
Name Flags
this$0 final
public void connect(java.net.SocketAddress, java.net.SocketAddress, io.netty.channel.ChannelPromise);
descriptor: (Ljava/net/SocketAddress;Ljava/net/SocketAddress;Lio/netty/channel/ChannelPromise;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=4
start local 0 // io.netty.channel.local.LocalChannel$LocalUnsafe this
start local 1 // java.net.SocketAddress remoteAddress
start local 2 // java.net.SocketAddress localAddress
start local 3 // io.netty.channel.ChannelPromise promise
0: .line 455
aload 3 /* promise */
invokeinterface io.netty.channel.ChannelPromise.setUncancellable:()Z
ifeq 1
aload 0 /* this */
aload 3 /* promise */
invokevirtual io.netty.channel.local.LocalChannel$LocalUnsafe.ensureOpen:(Lio/netty/channel/ChannelPromise;)Z
ifne 2
1: .line 456
StackMap locals:
StackMap stack:
return
2: .line 459
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield io.netty.channel.local.LocalChannel$LocalUnsafe.this$0:Lio/netty/channel/local/LocalChannel;
getfield io.netty.channel.local.LocalChannel.state:Lio/netty/channel/local/LocalChannel$State;
getstatic io.netty.channel.local.LocalChannel$State.CONNECTED:Lio/netty/channel/local/LocalChannel$State;
if_acmpne 7
3: .line 460
new java.nio.channels.AlreadyConnectedException
dup
invokespecial java.nio.channels.AlreadyConnectedException.<init>:()V
astore 4 /* cause */
start local 4 // java.lang.Exception cause
4: .line 461
aload 0 /* this */
aload 3 /* promise */
aload 4 /* cause */
invokevirtual io.netty.channel.local.LocalChannel$LocalUnsafe.safeSetFailure:(Lio/netty/channel/ChannelPromise;Ljava/lang/Throwable;)V
5: .line 462
aload 0 /* this */
getfield io.netty.channel.local.LocalChannel$LocalUnsafe.this$0:Lio/netty/channel/local/LocalChannel;
invokevirtual io.netty.channel.local.LocalChannel.pipeline:()Lio/netty/channel/ChannelPipeline;
aload 4 /* cause */
invokeinterface io.netty.channel.ChannelPipeline.fireExceptionCaught:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPipeline;
pop
6: .line 463
return
end local 4 // java.lang.Exception cause
7: .line 466
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield io.netty.channel.local.LocalChannel$LocalUnsafe.this$0:Lio/netty/channel/local/LocalChannel;
getfield io.netty.channel.local.LocalChannel.connectPromise:Lio/netty/channel/ChannelPromise;
ifnull 9
8: .line 467
new java.nio.channels.ConnectionPendingException
dup
invokespecial java.nio.channels.ConnectionPendingException.<init>:()V
athrow
9: .line 470
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield io.netty.channel.local.LocalChannel$LocalUnsafe.this$0:Lio/netty/channel/local/LocalChannel;
aload 3 /* promise */
putfield io.netty.channel.local.LocalChannel.connectPromise:Lio/netty/channel/ChannelPromise;
10: .line 472
aload 0 /* this */
getfield io.netty.channel.local.LocalChannel$LocalUnsafe.this$0:Lio/netty/channel/local/LocalChannel;
getfield io.netty.channel.local.LocalChannel.state:Lio/netty/channel/local/LocalChannel$State;
getstatic io.netty.channel.local.LocalChannel$State.BOUND:Lio/netty/channel/local/LocalChannel$State;
if_acmpeq 13
11: .line 474
aload 2 /* localAddress */
ifnonnull 13
12: .line 475
new io.netty.channel.local.LocalAddress
dup
aload 0 /* this */
getfield io.netty.channel.local.LocalChannel$LocalUnsafe.this$0:Lio/netty/channel/local/LocalChannel;
invokespecial io.netty.channel.local.LocalAddress.<init>:(Lio/netty/channel/Channel;)V
astore 2 /* localAddress */
13: .line 479
StackMap locals:
StackMap stack:
aload 2 /* localAddress */
ifnull 20
14: .line 481
aload 0 /* this */
getfield io.netty.channel.local.LocalChannel$LocalUnsafe.this$0:Lio/netty/channel/local/LocalChannel;
aload 2 /* localAddress */
invokevirtual io.netty.channel.local.LocalChannel.doBind:(Ljava/net/SocketAddress;)V
15: .line 482
goto 20
StackMap locals:
StackMap stack: java.lang.Throwable
16: astore 4 /* t */
start local 4 // java.lang.Throwable t
17: .line 483
aload 0 /* this */
aload 3 /* promise */
aload 4 /* t */
invokevirtual io.netty.channel.local.LocalChannel$LocalUnsafe.safeSetFailure:(Lio/netty/channel/ChannelPromise;Ljava/lang/Throwable;)V
18: .line 484
aload 0 /* this */
aload 0 /* this */
invokevirtual io.netty.channel.local.LocalChannel$LocalUnsafe.voidPromise:()Lio/netty/channel/ChannelPromise;
invokevirtual io.netty.channel.local.LocalChannel$LocalUnsafe.close:(Lio/netty/channel/ChannelPromise;)V
19: .line 485
return
end local 4 // java.lang.Throwable t
20: .line 489
StackMap locals:
StackMap stack:
aload 1 /* remoteAddress */
invokestatic io.netty.channel.local.LocalChannelRegistry.get:(Ljava/net/SocketAddress;)Lio/netty/channel/Channel;
astore 4 /* boundChannel */
start local 4 // io.netty.channel.Channel boundChannel
21: .line 490
aload 4 /* boundChannel */
instanceof io.netty.channel.local.LocalServerChannel
ifne 26
22: .line 491
new java.net.ConnectException
dup
new java.lang.StringBuilder
dup
ldc "connection refused: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1 /* remoteAddress */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.net.ConnectException.<init>:(Ljava/lang/String;)V
astore 5 /* cause */
start local 5 // java.lang.Exception cause
23: .line 492
aload 0 /* this */
aload 3 /* promise */
aload 5 /* cause */
invokevirtual io.netty.channel.local.LocalChannel$LocalUnsafe.safeSetFailure:(Lio/netty/channel/ChannelPromise;Ljava/lang/Throwable;)V
24: .line 493
aload 0 /* this */
aload 0 /* this */
invokevirtual io.netty.channel.local.LocalChannel$LocalUnsafe.voidPromise:()Lio/netty/channel/ChannelPromise;
invokevirtual io.netty.channel.local.LocalChannel$LocalUnsafe.close:(Lio/netty/channel/ChannelPromise;)V
25: .line 494
return
end local 5 // java.lang.Exception cause
26: .line 497
StackMap locals: io.netty.channel.Channel
StackMap stack:
aload 4 /* boundChannel */
checkcast io.netty.channel.local.LocalServerChannel
astore 5 /* serverChannel */
start local 5 // io.netty.channel.local.LocalServerChannel serverChannel
27: .line 498
aload 0 /* this */
getfield io.netty.channel.local.LocalChannel$LocalUnsafe.this$0:Lio/netty/channel/local/LocalChannel;
aload 5 /* serverChannel */
aload 0 /* this */
getfield io.netty.channel.local.LocalChannel$LocalUnsafe.this$0:Lio/netty/channel/local/LocalChannel;
invokevirtual io.netty.channel.local.LocalServerChannel.serve:(Lio/netty/channel/local/LocalChannel;)Lio/netty/channel/local/LocalChannel;
putfield io.netty.channel.local.LocalChannel.peer:Lio/netty/channel/local/LocalChannel;
28: .line 499
return
end local 5 // io.netty.channel.local.LocalServerChannel serverChannel
end local 4 // io.netty.channel.Channel boundChannel
end local 3 // io.netty.channel.ChannelPromise promise
end local 2 // java.net.SocketAddress localAddress
end local 1 // java.net.SocketAddress remoteAddress
end local 0 // io.netty.channel.local.LocalChannel$LocalUnsafe this
LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lio/netty/channel/local/LocalChannel$LocalUnsafe;
0 29 1 remoteAddress Ljava/net/SocketAddress;
0 29 2 localAddress Ljava/net/SocketAddress;
0 29 3 promise Lio/netty/channel/ChannelPromise;
4 7 4 cause Ljava/lang/Exception;
17 20 4 t Ljava/lang/Throwable;
21 29 4 boundChannel Lio/netty/channel/Channel;
23 26 5 cause Ljava/lang/Exception;
27 29 5 serverChannel Lio/netty/channel/local/LocalServerChannel;
Exception table:
from to target type
14 15 16 Class java.lang.Throwable
MethodParameters:
Name Flags
remoteAddress final
localAddress
promise final
}
SourceFile: "LocalChannel.java"
NestHost: io.netty.channel.local.LocalChannel
InnerClasses:
protected abstract AbstractUnsafe = io.netty.channel.AbstractChannel$AbstractUnsafe of io.netty.channel.AbstractChannel
private LocalUnsafe = io.netty.channel.local.LocalChannel$LocalUnsafe of io.netty.channel.local.LocalChannel
private final State = io.netty.channel.local.LocalChannel$State of io.netty.channel.local.LocalChannel