class io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator implements io.vertx.core.Handler<io.vertx.core.http.impl.ws.WebSocketFrameInternal>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator
super_class: java.lang.Object
{
private io.vertx.core.Handler<java.lang.String> textMessageHandler;
descriptor: Lio/vertx/core/Handler;
flags: (0x0002) ACC_PRIVATE
Signature: Lio/vertx/core/Handler<Ljava/lang/String;>;
private io.vertx.core.Handler<io.vertx.core.buffer.Buffer> binaryMessageHandler;
descriptor: Lio/vertx/core/Handler;
flags: (0x0002) ACC_PRIVATE
Signature: Lio/vertx/core/Handler<Lio/vertx/core/buffer/Buffer;>;
private io.vertx.core.buffer.Buffer textMessageBuffer;
descriptor: Lio/vertx/core/buffer/Buffer;
flags: (0x0002) ACC_PRIVATE
private io.vertx.core.buffer.Buffer binaryMessageBuffer;
descriptor: Lio/vertx/core/buffer/Buffer;
flags: (0x0002) ACC_PRIVATE
final io.vertx.core.http.impl.WebSocketImplBase this$0;
descriptor: Lio/vertx/core/http/impl/WebSocketImplBase;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$io$vertx$core$http$impl$FrameType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
private void <init>(io.vertx.core.http.impl.WebSocketImplBase);
descriptor: (Lio/vertx/core/http/impl/WebSocketImplBase;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.this$0:Lio/vertx/core/http/impl/WebSocketImplBase;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/http/impl/WebSocketImplBase$FrameAggregator;
MethodParameters:
Name Flags
this$0 final
public void handle(io.vertx.core.http.impl.ws.WebSocketFrameInternal);
descriptor: (Lio/vertx/core/http/impl/ws/WebSocketFrameInternal;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: invokestatic io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.$SWITCH_TABLE$io$vertx$core$http$impl$FrameType:()[I
aload 1
invokeinterface io.vertx.core.http.impl.ws.WebSocketFrameInternal.type:()Lio/vertx/core/http/impl/FrameType;
invokevirtual io.vertx.core.http.impl.FrameType.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 5
2: 1
3: 3
default: 10
}
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.handleTextFrame:(Lio/vertx/core/http/impl/ws/WebSocketFrameInternal;)V
2: goto 10
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.handleBinaryFrame:(Lio/vertx/core/http/impl/ws/WebSocketFrameInternal;)V
4: goto 10
5: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.textMessageBuffer:Lio/vertx/core/buffer/Buffer;
ifnull 8
aload 0
getfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.textMessageBuffer:Lio/vertx/core/buffer/Buffer;
invokeinterface io.vertx.core.buffer.Buffer.length:()I
ifle 8
6: aload 0
aload 1
invokevirtual io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.handleTextFrame:(Lio/vertx/core/http/impl/ws/WebSocketFrameInternal;)V
7: goto 10
StackMap locals:
StackMap stack:
8: aload 0
getfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.binaryMessageBuffer:Lio/vertx/core/buffer/Buffer;
ifnull 10
aload 0
getfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.binaryMessageBuffer:Lio/vertx/core/buffer/Buffer;
invokeinterface io.vertx.core.buffer.Buffer.length:()I
ifle 10
9: aload 0
aload 1
invokevirtual io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.handleBinaryFrame:(Lio/vertx/core/http/impl/ws/WebSocketFrameInternal;)V
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/vertx/core/http/impl/WebSocketImplBase$FrameAggregator;
0 11 1 frame Lio/vertx/core/http/impl/ws/WebSocketFrameInternal;
MethodParameters:
Name Flags
frame
private void handleTextFrame(io.vertx.core.http.impl.ws.WebSocketFrameInternal);
descriptor: (Lio/vertx/core/http/impl/ws/WebSocketFrameInternal;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.vertx.core.http.impl.ws.WebSocketFrameInternal.getBinaryData:()Lio/netty/buffer/ByteBuf;
invokestatic io.vertx.core.buffer.Buffer.buffer:(Lio/netty/buffer/ByteBuf;)Lio/vertx/core/buffer/Buffer;
astore 2
start local 2 1: aload 0
getfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.textMessageBuffer:Lio/vertx/core/buffer/Buffer;
ifnonnull 4
2: aload 0
aload 2
putfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.textMessageBuffer:Lio/vertx/core/buffer/Buffer;
3: goto 5
4: StackMap locals: io.vertx.core.buffer.Buffer
StackMap stack:
aload 0
getfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.textMessageBuffer:Lio/vertx/core/buffer/Buffer;
aload 2
invokeinterface io.vertx.core.buffer.Buffer.appendBuffer:(Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/buffer/Buffer;
pop
5: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.textMessageBuffer:Lio/vertx/core/buffer/Buffer;
invokeinterface io.vertx.core.buffer.Buffer.length:()I
aload 0
getfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.this$0:Lio/vertx/core/http/impl/WebSocketImplBase;
getfield io.vertx.core.http.impl.WebSocketImplBase.maxWebSocketMessageSize:I
if_icmple 13
6: aload 0
getfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.textMessageBuffer:Lio/vertx/core/buffer/Buffer;
invokeinterface io.vertx.core.buffer.Buffer.length:()I
aload 2
invokeinterface io.vertx.core.buffer.Buffer.length:()I
isub
istore 3
start local 3 7: aload 0
aconst_null
putfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.textMessageBuffer:Lio/vertx/core/buffer/Buffer;
8: new java.lang.StringBuilder
dup
ldc "Cannot process text frame of size "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokeinterface io.vertx.core.buffer.Buffer.length:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", it would cause message buffer (size "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") to overflow max message size of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.this$0:Lio/vertx/core/http/impl/WebSocketImplBase;
getfield io.vertx.core.http.impl.WebSocketImplBase.maxWebSocketMessageSize:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
10: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 11: aload 0
getfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.this$0:Lio/vertx/core/http/impl/WebSocketImplBase;
new java.lang.IllegalStateException
dup
aload 4
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
invokevirtual io.vertx.core.http.impl.WebSocketImplBase.handleException:(Ljava/lang/Throwable;)V
12: return
end local 4 end local 3 13: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.vertx.core.http.impl.ws.WebSocketFrameInternal.isFinal:()Z
ifeq 18
14: aload 0
getfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.textMessageBuffer:Lio/vertx/core/buffer/Buffer;
invokeinterface io.vertx.core.buffer.Buffer.toString:()Ljava/lang/String;
astore 3
start local 3 15: aload 0
aconst_null
putfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.textMessageBuffer:Lio/vertx/core/buffer/Buffer;
16: aload 0
getfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.textMessageHandler:Lio/vertx/core/Handler;
ifnull 18
17: aload 0
getfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.textMessageHandler:Lio/vertx/core/Handler;
aload 3
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
end local 3 18: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lio/vertx/core/http/impl/WebSocketImplBase$FrameAggregator;
0 19 1 frame Lio/vertx/core/http/impl/ws/WebSocketFrameInternal;
1 19 2 frameBuffer Lio/vertx/core/buffer/Buffer;
7 13 3 len I
11 13 4 msg Ljava/lang/String;
15 18 3 fullMessage Ljava/lang/String;
MethodParameters:
Name Flags
frame
private void handleBinaryFrame(io.vertx.core.http.impl.ws.WebSocketFrameInternal);
descriptor: (Lio/vertx/core/http/impl/ws/WebSocketFrameInternal;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.vertx.core.http.impl.ws.WebSocketFrameInternal.getBinaryData:()Lio/netty/buffer/ByteBuf;
invokestatic io.vertx.core.buffer.Buffer.buffer:(Lio/netty/buffer/ByteBuf;)Lio/vertx/core/buffer/Buffer;
astore 2
start local 2 1: aload 0
getfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.binaryMessageBuffer:Lio/vertx/core/buffer/Buffer;
ifnonnull 4
2: aload 0
aload 2
putfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.binaryMessageBuffer:Lio/vertx/core/buffer/Buffer;
3: goto 5
4: StackMap locals: io.vertx.core.buffer.Buffer
StackMap stack:
aload 0
getfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.binaryMessageBuffer:Lio/vertx/core/buffer/Buffer;
aload 2
invokeinterface io.vertx.core.buffer.Buffer.appendBuffer:(Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/buffer/Buffer;
pop
5: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.binaryMessageBuffer:Lio/vertx/core/buffer/Buffer;
invokeinterface io.vertx.core.buffer.Buffer.length:()I
aload 0
getfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.this$0:Lio/vertx/core/http/impl/WebSocketImplBase;
getfield io.vertx.core.http.impl.WebSocketImplBase.maxWebSocketMessageSize:I
if_icmple 13
6: aload 0
getfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.binaryMessageBuffer:Lio/vertx/core/buffer/Buffer;
invokeinterface io.vertx.core.buffer.Buffer.length:()I
aload 2
invokeinterface io.vertx.core.buffer.Buffer.length:()I
isub
istore 3
start local 3 7: aload 0
aconst_null
putfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.binaryMessageBuffer:Lio/vertx/core/buffer/Buffer;
8: new java.lang.StringBuilder
dup
ldc "Cannot process binary frame of size "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokeinterface io.vertx.core.buffer.Buffer.length:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", it would cause message buffer (size "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") to overflow max message size of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.this$0:Lio/vertx/core/http/impl/WebSocketImplBase;
getfield io.vertx.core.http.impl.WebSocketImplBase.maxWebSocketMessageSize:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
10: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 11: aload 0
getfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.this$0:Lio/vertx/core/http/impl/WebSocketImplBase;
new java.lang.IllegalStateException
dup
aload 4
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
invokevirtual io.vertx.core.http.impl.WebSocketImplBase.handleException:(Ljava/lang/Throwable;)V
12: return
end local 4 end local 3 13: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.vertx.core.http.impl.ws.WebSocketFrameInternal.isFinal:()Z
ifeq 18
14: aload 0
getfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.binaryMessageBuffer:Lio/vertx/core/buffer/Buffer;
invokeinterface io.vertx.core.buffer.Buffer.copy:()Lio/vertx/core/buffer/Buffer;
astore 3
start local 3 15: aload 0
aconst_null
putfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.binaryMessageBuffer:Lio/vertx/core/buffer/Buffer;
16: aload 0
getfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.binaryMessageHandler:Lio/vertx/core/Handler;
ifnull 18
17: aload 0
getfield io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.binaryMessageHandler:Lio/vertx/core/Handler;
aload 3
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
end local 3 18: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lio/vertx/core/http/impl/WebSocketImplBase$FrameAggregator;
0 19 1 frame Lio/vertx/core/http/impl/ws/WebSocketFrameInternal;
1 19 2 frameBuffer Lio/vertx/core/buffer/Buffer;
7 13 3 len I
11 13 4 msg Ljava/lang/String;
15 18 3 fullMessage Lio/vertx/core/buffer/Buffer;
MethodParameters:
Name Flags
frame
public void handle(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast io.vertx.core.http.impl.ws.WebSocketFrameInternal
invokevirtual io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.handle:(Lio/vertx/core/http/impl/ws/WebSocketFrameInternal;)V
return
LocalVariableTable:
Start End Slot Name Signature
static int[] $SWITCH_TABLE$io$vertx$core$http$impl$FrameType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.$SWITCH_TABLE$io$vertx$core$http$impl$FrameType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic io.vertx.core.http.impl.FrameType.values:()[Lio/vertx/core/http/impl/FrameType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic io.vertx.core.http.impl.FrameType.BINARY:Lio/vertx/core/http/impl/FrameType;
invokevirtual io.vertx.core.http.impl.FrameType.ordinal:()I
iconst_3
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic io.vertx.core.http.impl.FrameType.CLOSE:Lio/vertx/core/http/impl/FrameType;
invokevirtual io.vertx.core.http.impl.FrameType.ordinal:()I
iconst_4
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic io.vertx.core.http.impl.FrameType.CONTINUATION:Lio/vertx/core/http/impl/FrameType;
invokevirtual io.vertx.core.http.impl.FrameType.ordinal:()I
iconst_1
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic io.vertx.core.http.impl.FrameType.PING:Lio/vertx/core/http/impl/FrameType;
invokevirtual io.vertx.core.http.impl.FrameType.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.vertx.core.http.impl.FrameType.PONG:Lio/vertx/core/http/impl/FrameType;
invokevirtual io.vertx.core.http.impl.FrameType.ordinal:()I
bipush 6
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic io.vertx.core.http.impl.FrameType.TEXT:Lio/vertx/core/http/impl/FrameType;
invokevirtual io.vertx.core.http.impl.FrameType.ordinal:()I
iconst_2
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
dup
putstatic io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator.$SWITCH_TABLE$io$vertx$core$http$impl$FrameType:[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
}
Signature: Ljava/lang/Object;Lio/vertx/core/Handler<Lio/vertx/core/http/impl/ws/WebSocketFrameInternal;>;
SourceFile: "WebSocketImplBase.java"
NestHost: io.vertx.core.http.impl.WebSocketImplBase
InnerClasses:
private FrameAggregator = io.vertx.core.http.impl.WebSocketImplBase$FrameAggregator of io.vertx.core.http.impl.WebSocketImplBase