public class io.vertx.core.net.impl.HAProxyMessageCompletionHandler extends io.netty.handler.codec.MessageToMessageDecoder<io.netty.handler.codec.haproxy.HAProxyMessage>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.core.net.impl.HAProxyMessageCompletionHandler
super_class: io.netty.handler.codec.MessageToMessageDecoder
{
public static final java.io.IOException UNSUPPORTED_PROTOCOL_EXCEPTION;
descriptor: Ljava/io/IOException;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final io.vertx.core.impl.logging.Logger log;
descriptor: Lio/vertx/core/impl/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean proxyProtocolCodecFound;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final io.netty.util.concurrent.Promise<io.netty.channel.Channel> promise;
descriptor: Lio/netty/util/concurrent/Promise;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lio/netty/util/concurrent/Promise<Lio/netty/channel/Channel;>;
private static volatile int[] $SWITCH_TABLE$io$netty$handler$codec$haproxy$HAProxyProxiedProtocol;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: new java.io.IOException
dup
ldc "Unsupported HA PROXY transport protocol"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
putstatic io.vertx.core.net.impl.HAProxyMessageCompletionHandler.UNSUPPORTED_PROTOCOL_EXCEPTION:Ljava/io/IOException;
1: ldc Lio/vertx/core/net/impl/HAProxyMessageCompletionHandler;
invokestatic io.vertx.core.impl.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/impl/logging/Logger;
putstatic io.vertx.core.net.impl.HAProxyMessageCompletionHandler.log:Lio/vertx/core/impl/logging/Logger;
2: iconst_1
istore 0
start local 0 3: ldc "io.netty.handler.codec.haproxy.HAProxyMessageDecoder"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
pop
4: goto 7
StackMap locals: int
StackMap stack: java.lang.Throwable
5: pop
6: iconst_0
istore 0
7: StackMap locals:
StackMap stack:
iload 0
putstatic io.vertx.core.net.impl.HAProxyMessageCompletionHandler.proxyProtocolCodecFound:Z
end local 0 8: return
LocalVariableTable:
Start End Slot Name Signature
3 8 0 proxyProtocolCodecCheck Z
Exception table:
from to target type
3 4 5 Class java.lang.Throwable
public static boolean canUseProxyProtocol(boolean);
descriptor: (Z)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
ifeq 2
getstatic io.vertx.core.net.impl.HAProxyMessageCompletionHandler.proxyProtocolCodecFound:Z
ifne 2
1: getstatic io.vertx.core.net.impl.HAProxyMessageCompletionHandler.log:Lio/vertx/core/impl/logging/Logger;
ldc "Proxy protocol support could not be enabled. Make sure that netty-codec-haproxy is included in your classpath"
invokeinterface io.vertx.core.impl.logging.Logger.warn:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
getstatic io.vertx.core.net.impl.HAProxyMessageCompletionHandler.proxyProtocolCodecFound:Z
ifeq 3
iload 0
ifeq 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 requested Z
MethodParameters:
Name Flags
requested
public void <init>(io.netty.util.concurrent.Promise<io.netty.channel.Channel>);
descriptor: (Lio/netty/util/concurrent/Promise;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial io.netty.handler.codec.MessageToMessageDecoder.<init>:()V
1: aload 0
aload 1
putfield io.vertx.core.net.impl.HAProxyMessageCompletionHandler.promise:Lio/netty/util/concurrent/Promise;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/net/impl/HAProxyMessageCompletionHandler;
0 3 1 promise Lio/netty/util/concurrent/Promise<Lio/netty/channel/Channel;>;
Signature: (Lio/netty/util/concurrent/Promise<Lio/netty/channel/Channel;>;)V
MethodParameters:
Name Flags
promise
protected void decode(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.haproxy.HAProxyMessage, java.util.List<java.lang.Object>);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/haproxy/HAProxyMessage;Ljava/util/List;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual io.netty.handler.codec.haproxy.HAProxyMessage.proxiedProtocol:()Lio/netty/handler/codec/haproxy/HAProxyProxiedProtocol;
astore 4
start local 4 1: aload 4
invokevirtual io.netty.handler.codec.haproxy.HAProxyProxiedProtocol.transportProtocol:()Lio/netty/handler/codec/haproxy/HAProxyProxiedProtocol$TransportProtocol;
getstatic io.netty.handler.codec.haproxy.HAProxyProxiedProtocol$TransportProtocol.DGRAM:Lio/netty/handler/codec/haproxy/HAProxyProxiedProtocol$TransportProtocol;
invokevirtual io.netty.handler.codec.haproxy.HAProxyProxiedProtocol$TransportProtocol.equals:(Ljava/lang/Object;)Z
ifeq 5
2: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.close:()Lio/netty/channel/ChannelFuture;
pop
3: aload 0
getfield io.vertx.core.net.impl.HAProxyMessageCompletionHandler.promise:Lio/netty/util/concurrent/Promise;
getstatic io.vertx.core.net.impl.HAProxyMessageCompletionHandler.UNSUPPORTED_PROTOCOL_EXCEPTION:Ljava/io/IOException;
invokeinterface io.netty.util.concurrent.Promise.tryFailure:(Ljava/lang/Throwable;)Z
pop
4: goto 14
5: StackMap locals: io.netty.handler.codec.haproxy.HAProxyProxiedProtocol
StackMap stack:
aload 4
getstatic io.netty.handler.codec.haproxy.HAProxyProxiedProtocol.UNKNOWN:Lio/netty/handler/codec/haproxy/HAProxyProxiedProtocol;
invokevirtual io.netty.handler.codec.haproxy.HAProxyProxiedProtocol.equals:(Ljava/lang/Object;)Z
ifne 12
6: aload 2
invokevirtual io.netty.handler.codec.haproxy.HAProxyMessage.sourceAddress:()Ljava/lang/String;
ifnull 9
7: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
getstatic io.vertx.core.net.impl.ConnectionBase.REMOTE_ADDRESS_OVERRIDE:Lio/netty/util/AttributeKey;
invokeinterface io.netty.channel.Channel.attr:(Lio/netty/util/AttributeKey;)Lio/netty/util/Attribute;
8: aload 0
aload 4
aload 2
invokevirtual io.netty.handler.codec.haproxy.HAProxyMessage.sourceAddress:()Ljava/lang/String;
aload 2
invokevirtual io.netty.handler.codec.haproxy.HAProxyMessage.sourcePort:()I
invokevirtual io.vertx.core.net.impl.HAProxyMessageCompletionHandler.createAddress:(Lio/netty/handler/codec/haproxy/HAProxyProxiedProtocol;Ljava/lang/String;I)Lio/vertx/core/net/SocketAddress;
invokeinterface io.netty.util.Attribute.set:(Ljava/lang/Object;)V
9: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.handler.codec.haproxy.HAProxyMessage.destinationAddress:()Ljava/lang/String;
ifnull 12
10: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
getstatic io.vertx.core.net.impl.ConnectionBase.LOCAL_ADDRESS_OVERRIDE:Lio/netty/util/AttributeKey;
invokeinterface io.netty.channel.Channel.attr:(Lio/netty/util/AttributeKey;)Lio/netty/util/Attribute;
11: aload 0
aload 4
aload 2
invokevirtual io.netty.handler.codec.haproxy.HAProxyMessage.destinationAddress:()Ljava/lang/String;
aload 2
invokevirtual io.netty.handler.codec.haproxy.HAProxyMessage.destinationPort:()I
invokevirtual io.vertx.core.net.impl.HAProxyMessageCompletionHandler.createAddress:(Lio/netty/handler/codec/haproxy/HAProxyProxiedProtocol;Ljava/lang/String;I)Lio/vertx/core/net/SocketAddress;
invokeinterface io.netty.util.Attribute.set:(Ljava/lang/Object;)V
12: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.pipeline:()Lio/netty/channel/ChannelPipeline;
aload 0
invokeinterface io.netty.channel.ChannelPipeline.remove:(Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
13: aload 0
getfield io.vertx.core.net.impl.HAProxyMessageCompletionHandler.promise:Lio/netty/util/concurrent/Promise;
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
invokeinterface io.netty.util.concurrent.Promise.setSuccess:(Ljava/lang/Object;)Lio/netty/util/concurrent/Promise;
pop
14: 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 15 0 this Lio/vertx/core/net/impl/HAProxyMessageCompletionHandler;
0 15 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 15 2 msg Lio/netty/handler/codec/haproxy/HAProxyMessage;
0 15 3 out Ljava/util/List<Ljava/lang/Object;>;
1 15 4 protocol Lio/netty/handler/codec/haproxy/HAProxyProxiedProtocol;
Signature: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/haproxy/HAProxyMessage;Ljava/util/List<Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
ctx
msg
out
public void exceptionCaught(io.netty.channel.ChannelHandlerContext, java.lang.Throwable);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.vertx.core.net.impl.HAProxyMessageCompletionHandler.promise:Lio/netty/util/concurrent/Promise;
aload 2
invokeinterface io.netty.util.concurrent.Promise.tryFailure:(Ljava/lang/Throwable;)Z
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/net/impl/HAProxyMessageCompletionHandler;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 2 2 cause Ljava/lang/Throwable;
MethodParameters:
Name Flags
ctx
cause
public void userEventTriggered(io.netty.channel.ChannelHandlerContext, java.lang.Object);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof io.netty.handler.timeout.IdleStateEvent
ifeq 3
aload 2
checkcast io.netty.handler.timeout.IdleStateEvent
invokevirtual io.netty.handler.timeout.IdleStateEvent.state:()Lio/netty/handler/timeout/IdleState;
getstatic io.netty.handler.timeout.IdleState.ALL_IDLE:Lio/netty/handler/timeout/IdleState;
if_acmpne 3
1: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.close:()Lio/netty/channel/ChannelFuture;
pop
2: goto 4
3: StackMap locals:
StackMap stack:
aload 1
aload 2
invokeinterface io.netty.channel.ChannelHandlerContext.fireUserEventTriggered:(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext;
pop
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/net/impl/HAProxyMessageCompletionHandler;
0 5 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 5 2 evt Ljava/lang/Object;
MethodParameters:
Name Flags
ctx
evt
private io.vertx.core.net.SocketAddress createAddress(io.netty.handler.codec.haproxy.HAProxyProxiedProtocol, java.lang.String, int);
descriptor: (Lio/netty/handler/codec/haproxy/HAProxyProxiedProtocol;Ljava/lang/String;I)Lio/vertx/core/net/SocketAddress;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic io.vertx.core.net.impl.HAProxyMessageCompletionHandler.$SWITCH_TABLE$io$netty$handler$codec$haproxy$HAProxyProxiedProtocol:()[I
aload 1
invokevirtual io.netty.handler.codec.haproxy.HAProxyProxiedProtocol.ordinal:()I
iaload
tableswitch { // 2 - 6
2: 1
3: 1
4: 3
5: 3
6: 2
default: 3
}
1: StackMap locals:
StackMap stack:
iload 3
aload 2
invokestatic io.vertx.core.net.SocketAddress.inetSocketAddress:(ILjava/lang/String;)Lio/vertx/core/net/SocketAddress;
areturn
2: StackMap locals:
StackMap stack:
aload 2
invokestatic io.vertx.core.net.SocketAddress.domainSocketAddress:(Ljava/lang/String;)Lio/vertx/core/net/SocketAddress;
areturn
3: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "Should never happen"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/net/impl/HAProxyMessageCompletionHandler;
0 4 1 protocol Lio/netty/handler/codec/haproxy/HAProxyProxiedProtocol;
0 4 2 sourceAddress Ljava/lang/String;
0 4 3 port I
MethodParameters:
Name Flags
protocol
sourceAddress
port
protected void decode(io.netty.channel.ChannelHandlerContext, java.lang.Object, java.util.List);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Ljava/util/List;)V
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
checkcast io.netty.handler.codec.haproxy.HAProxyMessage
aload 3
invokevirtual io.vertx.core.net.impl.HAProxyMessageCompletionHandler.decode:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/haproxy/HAProxyMessage;Ljava/util/List;)V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
static int[] $SWITCH_TABLE$io$netty$handler$codec$haproxy$HAProxyProxiedProtocol();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic io.vertx.core.net.impl.HAProxyMessageCompletionHandler.$SWITCH_TABLE$io$netty$handler$codec$haproxy$HAProxyProxiedProtocol:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic io.netty.handler.codec.haproxy.HAProxyProxiedProtocol.values:()[Lio/netty/handler/codec/haproxy/HAProxyProxiedProtocol;
arraylength
newarray 10
astore 0
2: aload 0
getstatic io.netty.handler.codec.haproxy.HAProxyProxiedProtocol.TCP4:Lio/netty/handler/codec/haproxy/HAProxyProxiedProtocol;
invokevirtual io.netty.handler.codec.haproxy.HAProxyProxiedProtocol.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic io.netty.handler.codec.haproxy.HAProxyProxiedProtocol.TCP6:Lio/netty/handler/codec/haproxy/HAProxyProxiedProtocol;
invokevirtual io.netty.handler.codec.haproxy.HAProxyProxiedProtocol.ordinal:()I
iconst_3
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic io.netty.handler.codec.haproxy.HAProxyProxiedProtocol.UDP4:Lio/netty/handler/codec/haproxy/HAProxyProxiedProtocol;
invokevirtual io.netty.handler.codec.haproxy.HAProxyProxiedProtocol.ordinal:()I
iconst_4
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic io.netty.handler.codec.haproxy.HAProxyProxiedProtocol.UDP6:Lio/netty/handler/codec/haproxy/HAProxyProxiedProtocol;
invokevirtual io.netty.handler.codec.haproxy.HAProxyProxiedProtocol.ordinal:()I
iconst_5
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic io.netty.handler.codec.haproxy.HAProxyProxiedProtocol.UNIX_DGRAM:Lio/netty/handler/codec/haproxy/HAProxyProxiedProtocol;
invokevirtual io.netty.handler.codec.haproxy.HAProxyProxiedProtocol.ordinal:()I
bipush 7
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic io.netty.handler.codec.haproxy.HAProxyProxiedProtocol.UNIX_STREAM:Lio/netty/handler/codec/haproxy/HAProxyProxiedProtocol;
invokevirtual io.netty.handler.codec.haproxy.HAProxyProxiedProtocol.ordinal:()I
bipush 6
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic io.netty.handler.codec.haproxy.HAProxyProxiedProtocol.UNKNOWN:Lio/netty/handler/codec/haproxy/HAProxyProxiedProtocol;
invokevirtual io.netty.handler.codec.haproxy.HAProxyProxiedProtocol.ordinal:()I
iconst_1
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
dup
putstatic io.vertx.core.net.impl.HAProxyMessageCompletionHandler.$SWITCH_TABLE$io$netty$handler$codec$haproxy$HAProxyProxiedProtocol:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
}
Signature: Lio/netty/handler/codec/MessageToMessageDecoder<Lio/netty/handler/codec/haproxy/HAProxyMessage;>;
SourceFile: "HAProxyMessageCompletionHandler.java"
InnerClasses:
public final TransportProtocol = io.netty.handler.codec.haproxy.HAProxyProxiedProtocol$TransportProtocol of io.netty.handler.codec.haproxy.HAProxyProxiedProtocol