public class io.netty.handler.codec.http.websocketx.Utf8FrameValidator extends io.netty.channel.ChannelInboundHandlerAdapter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.handler.codec.http.websocketx.Utf8FrameValidator
super_class: io.netty.channel.ChannelInboundHandlerAdapter
{
private int fragmentedFramesCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private io.netty.handler.codec.http.websocketx.Utf8Validator utf8Validator;
descriptor: Lio/netty/handler/codec/http/websocketx/Utf8Validator;
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // io.netty.handler.codec.http.websocketx.Utf8FrameValidator this
0: .line 28
aload 0 /* this */
invokespecial io.netty.channel.ChannelInboundHandlerAdapter.<init>:()V
return
end local 0 // io.netty.handler.codec.http.websocketx.Utf8FrameValidator this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http/websocketx/Utf8FrameValidator;
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=3, locals=4, args_size=3
start local 0 // io.netty.handler.codec.http.websocketx.Utf8FrameValidator this
start local 1 // io.netty.channel.ChannelHandlerContext ctx
start local 2 // java.lang.Object msg
0: .line 35
aload 2 /* msg */
instanceof io.netty.handler.codec.http.websocketx.WebSocketFrame
ifeq 17
1: .line 36
aload 2 /* msg */
checkcast io.netty.handler.codec.http.websocketx.WebSocketFrame
astore 3 /* frame */
start local 3 // io.netty.handler.codec.http.websocketx.WebSocketFrame frame
2: .line 40
aload 2 /* msg */
checkcast io.netty.handler.codec.http.websocketx.WebSocketFrame
invokevirtual io.netty.handler.codec.http.websocketx.WebSocketFrame.isFinalFragment:()Z
ifeq 10
3: .line 43
aload 3 /* frame */
instanceof io.netty.handler.codec.http.websocketx.PingWebSocketFrame
ifne 17
4: .line 44
aload 0 /* this */
iconst_0
putfield io.netty.handler.codec.http.websocketx.Utf8FrameValidator.fragmentedFramesCount:I
5: .line 47
aload 3 /* frame */
instanceof io.netty.handler.codec.http.websocketx.TextWebSocketFrame
ifne 7
6: .line 48
aload 0 /* this */
getfield io.netty.handler.codec.http.websocketx.Utf8FrameValidator.utf8Validator:Lio/netty/handler/codec/http/websocketx/Utf8Validator;
ifnull 17
aload 0 /* this */
getfield io.netty.handler.codec.http.websocketx.Utf8FrameValidator.utf8Validator:Lio/netty/handler/codec/http/websocketx/Utf8Validator;
invokevirtual io.netty.handler.codec.http.websocketx.Utf8Validator.isChecking:()Z
ifeq 17
7: .line 50
StackMap locals: io.netty.handler.codec.http.websocketx.WebSocketFrame
StackMap stack:
aload 0 /* this */
aload 1 /* ctx */
aload 3 /* frame */
invokevirtual io.netty.handler.codec.http.websocketx.WebSocketFrame.content:()Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.handler.codec.http.websocketx.Utf8FrameValidator.checkUTF8String:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;)V
8: .line 54
aload 0 /* this */
getfield io.netty.handler.codec.http.websocketx.Utf8FrameValidator.utf8Validator:Lio/netty/handler/codec/http/websocketx/Utf8Validator;
invokevirtual io.netty.handler.codec.http.websocketx.Utf8Validator.finish:()V
9: .line 57
goto 17
10: .line 60
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield io.netty.handler.codec.http.websocketx.Utf8FrameValidator.fragmentedFramesCount:I
ifne 14
11: .line 62
aload 3 /* frame */
instanceof io.netty.handler.codec.http.websocketx.TextWebSocketFrame
ifeq 16
12: .line 63
aload 0 /* this */
aload 1 /* ctx */
aload 3 /* frame */
invokevirtual io.netty.handler.codec.http.websocketx.WebSocketFrame.content:()Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.handler.codec.http.websocketx.Utf8FrameValidator.checkUTF8String:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;)V
13: .line 65
goto 16
14: .line 67
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield io.netty.handler.codec.http.websocketx.Utf8FrameValidator.utf8Validator:Lio/netty/handler/codec/http/websocketx/Utf8Validator;
ifnull 16
aload 0 /* this */
getfield io.netty.handler.codec.http.websocketx.Utf8FrameValidator.utf8Validator:Lio/netty/handler/codec/http/websocketx/Utf8Validator;
invokevirtual io.netty.handler.codec.http.websocketx.Utf8Validator.isChecking:()Z
ifeq 16
15: .line 68
aload 0 /* this */
aload 1 /* ctx */
aload 3 /* frame */
invokevirtual io.netty.handler.codec.http.websocketx.WebSocketFrame.content:()Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.handler.codec.http.websocketx.Utf8FrameValidator.checkUTF8String:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;)V
16: .line 73
StackMap locals:
StackMap stack:
aload 0 /* this */
dup
getfield io.netty.handler.codec.http.websocketx.Utf8FrameValidator.fragmentedFramesCount:I
iconst_1
iadd
putfield io.netty.handler.codec.http.websocketx.Utf8FrameValidator.fragmentedFramesCount:I
end local 3 // io.netty.handler.codec.http.websocketx.WebSocketFrame frame
17: .line 77
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* ctx */
aload 2 /* msg */
invokespecial io.netty.channel.ChannelInboundHandlerAdapter.channelRead:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
18: .line 78
return
end local 2 // java.lang.Object msg
end local 1 // io.netty.channel.ChannelHandlerContext ctx
end local 0 // io.netty.handler.codec.http.websocketx.Utf8FrameValidator this
LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lio/netty/handler/codec/http/websocketx/Utf8FrameValidator;
0 19 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 19 2 msg Ljava/lang/Object;
2 17 3 frame Lio/netty/handler/codec/http/websocketx/WebSocketFrame;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
msg
private void checkUTF8String(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 // io.netty.handler.codec.http.websocketx.Utf8FrameValidator this
start local 1 // io.netty.channel.ChannelHandlerContext ctx
start local 2 // io.netty.buffer.ByteBuf buffer
0: .line 82
aload 0 /* this */
getfield io.netty.handler.codec.http.websocketx.Utf8FrameValidator.utf8Validator:Lio/netty/handler/codec/http/websocketx/Utf8Validator;
ifnonnull 2
1: .line 83
aload 0 /* this */
new io.netty.handler.codec.http.websocketx.Utf8Validator
dup
invokespecial io.netty.handler.codec.http.websocketx.Utf8Validator.<init>:()V
putfield io.netty.handler.codec.http.websocketx.Utf8FrameValidator.utf8Validator:Lio/netty/handler/codec/http/websocketx/Utf8Validator;
2: .line 85
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield io.netty.handler.codec.http.websocketx.Utf8FrameValidator.utf8Validator:Lio/netty/handler/codec/http/websocketx/Utf8Validator;
aload 2 /* buffer */
invokevirtual io.netty.handler.codec.http.websocketx.Utf8Validator.check:(Lio/netty/buffer/ByteBuf;)V
3: .line 86
goto 7
StackMap locals:
StackMap stack: io.netty.handler.codec.CorruptedFrameException
4: pop
5: .line 87
aload 1 /* ctx */
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.isActive:()Z
ifeq 7
6: .line 88
aload 1 /* ctx */
getstatic io.netty.buffer.Unpooled.EMPTY_BUFFER:Lio/netty/buffer/ByteBuf;
invokeinterface io.netty.channel.ChannelHandlerContext.writeAndFlush:(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
getstatic io.netty.channel.ChannelFutureListener.CLOSE:Lio/netty/channel/ChannelFutureListener;
invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
pop
7: .line 91
StackMap locals:
StackMap stack:
return
end local 2 // io.netty.buffer.ByteBuf buffer
end local 1 // io.netty.channel.ChannelHandlerContext ctx
end local 0 // io.netty.handler.codec.http.websocketx.Utf8FrameValidator this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/netty/handler/codec/http/websocketx/Utf8FrameValidator;
0 8 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 8 2 buffer Lio/netty/buffer/ByteBuf;
Exception table:
from to target type
0 3 4 Class io.netty.handler.codec.CorruptedFrameException
MethodParameters:
Name Flags
ctx
buffer
}
SourceFile: "Utf8FrameValidator.java"