public class io.vertx.core.http.impl.Http1xOrH2CHandler extends io.netty.channel.ChannelInboundHandlerAdapter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.core.http.impl.Http1xOrH2CHandler
super_class: io.netty.channel.ChannelInboundHandlerAdapter
{
public static final java.lang.String HTTP_2_PREFACE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n"
private static final byte[] HTTP_2_PREFACE_ARRAY;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private int current;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n"
invokevirtual java.lang.String.getBytes:()[B
putstatic io.vertx.core.http.impl.Http1xOrH2CHandler.HTTP_2_PREFACE_ARRAY:[B
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial io.netty.channel.ChannelInboundHandlerAdapter.<init>:()V
1: aload 0
iconst_0
putfield io.vertx.core.http.impl.Http1xOrH2CHandler.current:I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/http/impl/Http1xOrH2CHandler;
public void channelRead(io.netty.channel.ChannelHandlerContext, java.lang.Object);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
checkcast io.netty.buffer.ByteBuf
astore 3
start local 3 1: aload 3
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
getstatic io.vertx.core.http.impl.Http1xOrH2CHandler.HTTP_2_PREFACE_ARRAY:[B
arraylength
aload 0
getfield io.vertx.core.http.impl.Http1xOrH2CHandler.current:I
isub
invokestatic java.lang.Math.min:(II)I
istore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 8
4: StackMap locals: io.netty.buffer.ByteBuf int int
StackMap stack:
aload 3
aload 3
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
iload 5
iadd
invokevirtual io.netty.buffer.ByteBuf.getByte:(I)B
getstatic io.vertx.core.http.impl.Http1xOrH2CHandler.HTTP_2_PREFACE_ARRAY:[B
aload 0
getfield io.vertx.core.http.impl.Http1xOrH2CHandler.current:I
iload 5
iadd
baload
if_icmpeq 7
5: aload 0
aload 1
aload 3
iconst_0
invokevirtual io.vertx.core.http.impl.Http1xOrH2CHandler.end:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Z)V
6: return
7: StackMap locals:
StackMap stack:
iinc 5 1
8: StackMap locals:
StackMap stack:
iload 5
iload 4
if_icmplt 4
9: aload 0
getfield io.vertx.core.http.impl.Http1xOrH2CHandler.current:I
iload 5
iadd
getstatic io.vertx.core.http.impl.Http1xOrH2CHandler.HTTP_2_PREFACE_ARRAY:[B
arraylength
if_icmpne 12
10: aload 0
aload 1
aload 3
iconst_1
invokevirtual io.vertx.core.http.impl.Http1xOrH2CHandler.end:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Z)V
11: goto 14
12: StackMap locals:
StackMap stack:
aload 0
dup
getfield io.vertx.core.http.impl.Http1xOrH2CHandler.current:I
iload 4
iadd
putfield io.vertx.core.http.impl.Http1xOrH2CHandler.current:I
13: aload 3
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
14: StackMap locals:
StackMap stack:
return
end local 5 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/http/impl/Http1xOrH2CHandler;
0 15 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 15 2 msg Ljava/lang/Object;
1 15 3 buf Lio/netty/buffer/ByteBuf;
2 15 4 len I
3 15 5 i I
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
msg
private void end(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, boolean);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.vertx.core.http.impl.Http1xOrH2CHandler.current:I
ifle 6
1: aload 0
getfield io.vertx.core.http.impl.Http1xOrH2CHandler.current:I
aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iadd
invokestatic io.netty.buffer.Unpooled.buffer:(I)Lio/netty/buffer/ByteBuf;
astore 4
start local 4 2: aload 4
getstatic io.vertx.core.http.impl.Http1xOrH2CHandler.HTTP_2_PREFACE_ARRAY:[B
iconst_0
aload 0
getfield io.vertx.core.http.impl.Http1xOrH2CHandler.current:I
invokevirtual io.netty.buffer.ByteBuf.writeBytes:([BII)Lio/netty/buffer/ByteBuf;
pop
3: aload 4
aload 2
invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
pop
4: aload 2
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
5: aload 4
astore 2
end local 4 6: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 3
invokevirtual io.vertx.core.http.impl.Http1xOrH2CHandler.configure:(Lio/netty/channel/ChannelHandlerContext;Z)V
7: 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
8: aload 1
aload 2
invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelRead:(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext;
pop
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/vertx/core/http/impl/Http1xOrH2CHandler;
0 10 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 10 2 buf Lio/netty/buffer/ByteBuf;
0 10 3 h2c Z
2 6 4 msg Lio/netty/buffer/ByteBuf;
MethodParameters:
Name Flags
ctx
buf
h2c
protected void configure(io.netty.channel.ChannelHandlerContext, boolean);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/http/impl/Http1xOrH2CHandler;
0 1 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 1 2 h2c Z
MethodParameters:
Name Flags
ctx
h2c
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=1, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
astore 3
start local 3 1: aload 3
invokeinterface io.netty.channel.Channel.close:()Lio/netty/channel/ChannelFuture;
pop
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/http/impl/Http1xOrH2CHandler;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 3 2 cause Ljava/lang/Throwable;
1 3 3 channel Lio/netty/channel/Channel;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
cause
}
SourceFile: "Http1xOrH2CHandler.java"