public abstract class io.netty.handler.codec.MessageAggregator<I, S, C extends io.netty.buffer.ByteBufHolder, O extends io.netty.buffer.ByteBufHolder> extends io.netty.handler.codec.MessageToMessageDecoder<I>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: io.netty.handler.codec.MessageAggregator
super_class: io.netty.handler.codec.MessageToMessageDecoder
{
private static final int DEFAULT_MAX_COMPOSITEBUFFER_COMPONENTS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1024
private final int maxContentLength;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private O currentMessage;
descriptor: Lio/netty/buffer/ByteBufHolder;
flags: (0x0002) ACC_PRIVATE
Signature: TO;
private boolean handlingOversizedMessage;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int maxCumulationBufferComponents;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private io.netty.channel.ChannelHandlerContext ctx;
descriptor: Lio/netty/channel/ChannelHandlerContext;
flags: (0x0002) ACC_PRIVATE
private io.netty.channel.ChannelFutureListener continueResponseWriteListener;
descriptor: Lio/netty/channel/ChannelFutureListener;
flags: (0x0002) ACC_PRIVATE
protected void <init>(int);
descriptor: (I)V
flags: (0x0004) ACC_PROTECTED
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
sipush 1024
putfield io.netty.handler.codec.MessageAggregator.maxCumulationBufferComponents:I
2: iload 1
invokestatic io.netty.handler.codec.MessageAggregator.validateMaxContentLength:(I)V
3: aload 0
iload 1
putfield io.netty.handler.codec.MessageAggregator.maxContentLength:I
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/handler/codec/MessageAggregator<TI;TS;TC;TO;>;
0 5 1 maxContentLength I
MethodParameters:
Name Flags
maxContentLength
protected void <init>(int, java.lang.Class<? extends I>);
descriptor: (ILjava/lang/Class;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokespecial io.netty.handler.codec.MessageToMessageDecoder.<init>:(Ljava/lang/Class;)V
1: aload 0
sipush 1024
putfield io.netty.handler.codec.MessageAggregator.maxCumulationBufferComponents:I
2: iload 1
invokestatic io.netty.handler.codec.MessageAggregator.validateMaxContentLength:(I)V
3: aload 0
iload 1
putfield io.netty.handler.codec.MessageAggregator.maxContentLength:I
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/handler/codec/MessageAggregator<TI;TS;TC;TO;>;
0 5 1 maxContentLength I
0 5 2 inboundMessageType Ljava/lang/Class<+TI;>;
Signature: (ILjava/lang/Class<+TI;>;)V
MethodParameters:
Name Flags
maxContentLength
inboundMessageType
private static void validateMaxContentLength(int);
descriptor: (I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: iload 0
ifge 2
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "maxContentLength: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " (expected: >= 0)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 maxContentLength I
MethodParameters:
Name Flags
maxContentLength
public boolean acceptInboundMessage(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial io.netty.handler.codec.MessageToMessageDecoder.acceptInboundMessage:(Ljava/lang/Object;)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
astore 2
start local 2 3: aload 0
aload 2
invokevirtual io.netty.handler.codec.MessageAggregator.isContentMessage:(Ljava/lang/Object;)Z
ifne 4
aload 0
aload 2
invokevirtual io.netty.handler.codec.MessageAggregator.isStartMessage:(Ljava/lang/Object;)Z
ifeq 5
StackMap locals: java.lang.Object
StackMap stack:
4: aload 0
aload 2
invokevirtual io.netty.handler.codec.MessageAggregator.isAggregated:(Ljava/lang/Object;)Z
ifne 5
iconst_1
ireturn
StackMap locals:
StackMap stack:
5: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/handler/codec/MessageAggregator<TI;TS;TC;TO;>;
0 6 1 msg Ljava/lang/Object;
3 6 2 in TI;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
msg
protected abstract boolean isStartMessage();
descriptor: (Ljava/lang/Object;)Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.lang.Exception
Signature: (TI;)Z
MethodParameters:
Name Flags
msg
protected abstract boolean isContentMessage();
descriptor: (Ljava/lang/Object;)Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.lang.Exception
Signature: (TI;)Z
MethodParameters:
Name Flags
msg
protected abstract boolean isLastContentMessage();
descriptor: (Lio/netty/buffer/ByteBufHolder;)Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.lang.Exception
Signature: (TC;)Z
MethodParameters:
Name Flags
msg
protected abstract boolean isAggregated();
descriptor: (Ljava/lang/Object;)Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.lang.Exception
Signature: (TI;)Z
MethodParameters:
Name Flags
msg
public final int maxContentLength();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.MessageAggregator.maxContentLength:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/MessageAggregator<TI;TS;TC;TO;>;
public final int maxCumulationBufferComponents();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.MessageAggregator.maxCumulationBufferComponents:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/MessageAggregator<TI;TS;TC;TO;>;
public final void setMaxCumulationBufferComponents(int);
descriptor: (I)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iconst_2
if_icmpge 6
1: new java.lang.IllegalArgumentException
dup
2: new java.lang.StringBuilder
dup
ldc "maxCumulationBufferComponents: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
3: ldc " (expected: >= 2)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.MessageAggregator.ctx:Lio/netty/channel/ChannelHandlerContext;
ifnonnull 9
7: aload 0
iload 1
putfield io.netty.handler.codec.MessageAggregator.maxCumulationBufferComponents:I
8: goto 12
9: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
10: ldc "decoder properties cannot be changed once the decoder is added to a pipeline."
11: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/netty/handler/codec/MessageAggregator<TI;TS;TC;TO;>;
0 13 1 maxCumulationBufferComponents I
MethodParameters:
Name Flags
maxCumulationBufferComponents
public final boolean isHandlingOversizedMessage();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.MessageAggregator.handlingOversizedMessage:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/MessageAggregator<TI;TS;TC;TO;>;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
protected final io.netty.channel.ChannelHandlerContext ctx();
descriptor: ()Lio/netty/channel/ChannelHandlerContext;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.MessageAggregator.ctx:Lio/netty/channel/ChannelHandlerContext;
ifnonnull 2
1: new java.lang.IllegalStateException
dup
ldc "not added to a pipeline yet"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.MessageAggregator.ctx:Lio/netty/channel/ChannelHandlerContext;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/codec/MessageAggregator<TI;TS;TC;TO;>;
protected void decode(io.netty.channel.ChannelHandlerContext, I, java.util.List<java.lang.Object>);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Ljava/util/List;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
invokevirtual io.netty.handler.codec.MessageAggregator.isStartMessage:(Ljava/lang/Object;)Z
ifeq 36
1: aload 0
iconst_0
putfield io.netty.handler.codec.MessageAggregator.handlingOversizedMessage:Z
2: aload 0
getfield io.netty.handler.codec.MessageAggregator.currentMessage:Lio/netty/buffer/ByteBufHolder;
ifnull 6
3: aload 0
getfield io.netty.handler.codec.MessageAggregator.currentMessage:Lio/netty/buffer/ByteBufHolder;
invokeinterface io.netty.buffer.ByteBufHolder.release:()Z
pop
4: aload 0
aconst_null
putfield io.netty.handler.codec.MessageAggregator.currentMessage:Lio/netty/buffer/ByteBufHolder;
5: new io.netty.handler.codec.MessageAggregationException
dup
invokespecial io.netty.handler.codec.MessageAggregationException.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
aload 2
astore 4
start local 4 7: aload 0
aload 4
aload 0
getfield io.netty.handler.codec.MessageAggregator.maxContentLength:I
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.pipeline:()Lio/netty/channel/ChannelPipeline;
invokevirtual io.netty.handler.codec.MessageAggregator.newContinueResponse:(Ljava/lang/Object;ILio/netty/channel/ChannelPipeline;)Ljava/lang/Object;
astore 5
start local 5 8: aload 5
ifnull 20
9: aload 0
getfield io.netty.handler.codec.MessageAggregator.continueResponseWriteListener:Lio/netty/channel/ChannelFutureListener;
astore 6
start local 6 10: aload 6
ifnonnull 12
11: aload 0
new io.netty.handler.codec.MessageAggregator$1
dup
aload 0
aload 1
invokespecial io.netty.handler.codec.MessageAggregator$1.<init>:(Lio/netty/handler/codec/MessageAggregator;Lio/netty/channel/ChannelHandlerContext;)V
dup
astore 6
putfield io.netty.handler.codec.MessageAggregator.continueResponseWriteListener:Lio/netty/channel/ChannelFutureListener;
12: StackMap locals: java.lang.Object java.lang.Object io.netty.channel.ChannelFutureListener
StackMap stack:
aload 0
aload 5
invokevirtual io.netty.handler.codec.MessageAggregator.closeAfterContinueResponse:(Ljava/lang/Object;)Z
istore 7
start local 7 13: aload 0
aload 0
aload 5
invokevirtual io.netty.handler.codec.MessageAggregator.ignoreContentAfterContinueResponse:(Ljava/lang/Object;)Z
putfield io.netty.handler.codec.MessageAggregator.handlingOversizedMessage:Z
14: aload 1
aload 5
invokeinterface io.netty.channel.ChannelHandlerContext.writeAndFlush:(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
aload 6
invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
astore 8
start local 8 15: iload 7
ifeq 18
16: aload 8
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
17: return
18: StackMap locals: int io.netty.channel.ChannelFuture
StackMap stack:
aload 0
getfield io.netty.handler.codec.MessageAggregator.handlingOversizedMessage:Z
ifeq 23
19: return
end local 8 end local 7 end local 6 20: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 0
getfield io.netty.handler.codec.MessageAggregator.maxContentLength:I
invokevirtual io.netty.handler.codec.MessageAggregator.isContentLengthInvalid:(Ljava/lang/Object;I)Z
ifeq 23
21: aload 0
aload 1
aload 4
invokevirtual io.netty.handler.codec.MessageAggregator.invokeHandleOversizedMessage:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
22: return
23: StackMap locals:
StackMap stack:
aload 4
instanceof io.netty.handler.codec.DecoderResultProvider
ifeq 31
aload 4
checkcast io.netty.handler.codec.DecoderResultProvider
invokeinterface io.netty.handler.codec.DecoderResultProvider.decoderResult:()Lio/netty/handler/codec/DecoderResult;
invokevirtual io.netty.handler.codec.DecoderResult.isSuccess:()Z
ifne 31
24: aload 4
instanceof io.netty.buffer.ByteBufHolder
ifeq 27
25: aload 0
aload 4
aload 4
checkcast io.netty.buffer.ByteBufHolder
invokeinterface io.netty.buffer.ByteBufHolder.content:()Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.buffer.ByteBuf.retain:()Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.handler.codec.MessageAggregator.beginAggregation:(Ljava/lang/Object;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBufHolder;
astore 6
start local 6 26: goto 28
end local 6 27: StackMap locals:
StackMap stack:
aload 0
aload 4
getstatic io.netty.buffer.Unpooled.EMPTY_BUFFER:Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.handler.codec.MessageAggregator.beginAggregation:(Ljava/lang/Object;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBufHolder;
astore 6
start local 6 28: StackMap locals: io.netty.buffer.ByteBufHolder
StackMap stack:
aload 0
aload 6
invokevirtual io.netty.handler.codec.MessageAggregator.finishAggregation:(Lio/netty/buffer/ByteBufHolder;)V
29: aload 3
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
30: return
end local 6 31: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
aload 0
getfield io.netty.handler.codec.MessageAggregator.maxCumulationBufferComponents:I
invokeinterface io.netty.buffer.ByteBufAllocator.compositeBuffer:(I)Lio/netty/buffer/CompositeByteBuf;
astore 6
start local 6 32: aload 4
instanceof io.netty.buffer.ByteBufHolder
ifeq 34
33: aload 6
aload 4
checkcast io.netty.buffer.ByteBufHolder
invokeinterface io.netty.buffer.ByteBufHolder.content:()Lio/netty/buffer/ByteBuf;
invokestatic io.netty.handler.codec.MessageAggregator.appendPartialContent:(Lio/netty/buffer/CompositeByteBuf;Lio/netty/buffer/ByteBuf;)V
34: StackMap locals: io.netty.buffer.CompositeByteBuf
StackMap stack:
aload 0
aload 0
aload 4
aload 6
invokevirtual io.netty.handler.codec.MessageAggregator.beginAggregation:(Ljava/lang/Object;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBufHolder;
putfield io.netty.handler.codec.MessageAggregator.currentMessage:Lio/netty/buffer/ByteBufHolder;
end local 6 end local 5 end local 4 35: goto 65
StackMap locals:
StackMap stack:
36: aload 0
aload 2
invokevirtual io.netty.handler.codec.MessageAggregator.isContentMessage:(Ljava/lang/Object;)Z
ifeq 64
37: aload 0
getfield io.netty.handler.codec.MessageAggregator.currentMessage:Lio/netty/buffer/ByteBufHolder;
ifnonnull 39
38: return
39: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.MessageAggregator.currentMessage:Lio/netty/buffer/ByteBufHolder;
invokeinterface io.netty.buffer.ByteBufHolder.content:()Lio/netty/buffer/ByteBuf;
checkcast io.netty.buffer.CompositeByteBuf
astore 4
start local 4 40: aload 2
checkcast io.netty.buffer.ByteBufHolder
astore 5
start local 5 41: aload 4
invokevirtual io.netty.buffer.CompositeByteBuf.readableBytes:()I
aload 0
getfield io.netty.handler.codec.MessageAggregator.maxContentLength:I
aload 5
invokeinterface io.netty.buffer.ByteBufHolder.content:()Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
isub
if_icmple 45
42: aload 0
getfield io.netty.handler.codec.MessageAggregator.currentMessage:Lio/netty/buffer/ByteBufHolder;
astore 6
start local 6 43: aload 0
aload 1
aload 6
invokevirtual io.netty.handler.codec.MessageAggregator.invokeHandleOversizedMessage:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
44: return
end local 6 45: StackMap locals: io.netty.buffer.CompositeByteBuf io.netty.buffer.ByteBufHolder
StackMap stack:
aload 4
aload 5
invokeinterface io.netty.buffer.ByteBufHolder.content:()Lio/netty/buffer/ByteBuf;
invokestatic io.netty.handler.codec.MessageAggregator.appendPartialContent:(Lio/netty/buffer/CompositeByteBuf;Lio/netty/buffer/ByteBuf;)V
46: aload 0
aload 0
getfield io.netty.handler.codec.MessageAggregator.currentMessage:Lio/netty/buffer/ByteBufHolder;
aload 5
invokevirtual io.netty.handler.codec.MessageAggregator.aggregate:(Lio/netty/buffer/ByteBufHolder;Lio/netty/buffer/ByteBufHolder;)V
47: aload 5
instanceof io.netty.handler.codec.DecoderResultProvider
ifeq 58
48: aload 5
checkcast io.netty.handler.codec.DecoderResultProvider
invokeinterface io.netty.handler.codec.DecoderResultProvider.decoderResult:()Lio/netty/handler/codec/DecoderResult;
astore 7
start local 7 49: aload 7
invokevirtual io.netty.handler.codec.DecoderResult.isSuccess:()Z
ifne 56
50: aload 0
getfield io.netty.handler.codec.MessageAggregator.currentMessage:Lio/netty/buffer/ByteBufHolder;
instanceof io.netty.handler.codec.DecoderResultProvider
ifeq 54
51: aload 0
getfield io.netty.handler.codec.MessageAggregator.currentMessage:Lio/netty/buffer/ByteBufHolder;
checkcast io.netty.handler.codec.DecoderResultProvider
52: aload 7
invokevirtual io.netty.handler.codec.DecoderResult.cause:()Ljava/lang/Throwable;
invokestatic io.netty.handler.codec.DecoderResult.failure:(Ljava/lang/Throwable;)Lio/netty/handler/codec/DecoderResult;
53: invokeinterface io.netty.handler.codec.DecoderResultProvider.setDecoderResult:(Lio/netty/handler/codec/DecoderResult;)V
54: StackMap locals: io.netty.handler.codec.MessageAggregator io.netty.channel.ChannelHandlerContext java.lang.Object java.util.List io.netty.buffer.CompositeByteBuf io.netty.buffer.ByteBufHolder top io.netty.handler.codec.DecoderResult
StackMap stack:
iconst_1
istore 6
start local 6 55: goto 59
end local 6 56: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual io.netty.handler.codec.MessageAggregator.isLastContentMessage:(Lio/netty/buffer/ByteBufHolder;)Z
istore 6
end local 7 start local 6 57: goto 59
end local 6 58: StackMap locals: io.netty.handler.codec.MessageAggregator io.netty.channel.ChannelHandlerContext java.lang.Object java.util.List io.netty.buffer.CompositeByteBuf io.netty.buffer.ByteBufHolder
StackMap stack:
aload 0
aload 5
invokevirtual io.netty.handler.codec.MessageAggregator.isLastContentMessage:(Lio/netty/buffer/ByteBufHolder;)Z
istore 6
start local 6 59: StackMap locals: int
StackMap stack:
iload 6
ifeq 65
60: aload 0
aload 0
getfield io.netty.handler.codec.MessageAggregator.currentMessage:Lio/netty/buffer/ByteBufHolder;
invokevirtual io.netty.handler.codec.MessageAggregator.finishAggregation:(Lio/netty/buffer/ByteBufHolder;)V
61: aload 3
aload 0
getfield io.netty.handler.codec.MessageAggregator.currentMessage:Lio/netty/buffer/ByteBufHolder;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
62: aload 0
aconst_null
putfield io.netty.handler.codec.MessageAggregator.currentMessage:Lio/netty/buffer/ByteBufHolder;
end local 6 end local 5 end local 4 63: goto 65
64: StackMap locals:
StackMap stack:
new io.netty.handler.codec.MessageAggregationException
dup
invokespecial io.netty.handler.codec.MessageAggregationException.<init>:()V
athrow
65: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 66 0 this Lio/netty/handler/codec/MessageAggregator<TI;TS;TC;TO;>;
0 66 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 66 2 msg TI;
0 66 3 out Ljava/util/List<Ljava/lang/Object;>;
7 35 4 m TS;
8 35 5 continueResponse Ljava/lang/Object;
10 20 6 listener Lio/netty/channel/ChannelFutureListener;
13 20 7 closeAfterWrite Z
15 20 8 future Lio/netty/channel/ChannelFuture;
26 27 6 aggregated TO;
28 31 6 aggregated TO;
32 35 6 content Lio/netty/buffer/CompositeByteBuf;
40 63 4 content Lio/netty/buffer/CompositeByteBuf;
41 63 5 m TC;
43 45 6 s TS;
55 56 6 last Z
57 58 6 last Z
59 63 6 last Z
49 57 7 decoderResult Lio/netty/handler/codec/DecoderResult;
Exceptions:
throws java.lang.Exception
Signature: (Lio/netty/channel/ChannelHandlerContext;TI;Ljava/util/List<Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
ctx final
msg
out
private static void appendPartialContent(io.netty.buffer.CompositeByteBuf, io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/buffer/CompositeByteBuf;Lio/netty/buffer/ByteBuf;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifeq 2
1: aload 0
iconst_1
aload 1
invokevirtual io.netty.buffer.ByteBuf.retain:()Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.buffer.CompositeByteBuf.addComponent:(ZLio/netty/buffer/ByteBuf;)Lio/netty/buffer/CompositeByteBuf;
pop
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 content Lio/netty/buffer/CompositeByteBuf;
0 3 1 partialContent Lio/netty/buffer/ByteBuf;
MethodParameters:
Name Flags
content
partialContent
protected abstract boolean isContentLengthInvalid(S, );
descriptor: (Ljava/lang/Object;I)Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.lang.Exception
Signature: (TS;I)Z
MethodParameters:
Name Flags
start
maxContentLength
protected abstract newContinueResponse(S, int, io.netty.channel.ChannelPipeline);
descriptor: (Ljava/lang/Object;ILio/netty/channel/ChannelPipeline;)Ljava/lang/Object;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.lang.Exception
Signature: (TS;ILio/netty/channel/ChannelPipeline;)Ljava/lang/Object;
MethodParameters:
Name Flags
start
maxContentLength
pipeline
protected abstract boolean closeAfterContinueResponse(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
msg
protected abstract boolean ignoreContentAfterContinueResponse(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
msg
protected abstract O beginAggregation(S, io.netty.buffer.ByteBuf);
descriptor: (Ljava/lang/Object;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBufHolder;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.lang.Exception
Signature: (TS;Lio/netty/buffer/ByteBuf;)TO;
MethodParameters:
Name Flags
start
content
protected void aggregate(O, );
descriptor: (Lio/netty/buffer/ByteBufHolder;Lio/netty/buffer/ByteBufHolder;)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/netty/handler/codec/MessageAggregator<TI;TS;TC;TO;>;
0 1 1 aggregated TO;
0 1 2 content TC;
Exceptions:
throws java.lang.Exception
Signature: (TO;TC;)V
MethodParameters:
Name Flags
aggregated
content
protected void finishAggregation();
descriptor: (Lio/netty/buffer/ByteBufHolder;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/MessageAggregator<TI;TS;TC;TO;>;
0 1 1 aggregated TO;
Exceptions:
throws java.lang.Exception
Signature: (TO;)V
MethodParameters:
Name Flags
aggregated
private void invokeHandleOversizedMessage(io.netty.channel.ChannelHandlerContext, );
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_1
putfield io.netty.handler.codec.MessageAggregator.handlingOversizedMessage:Z
1: aload 0
aconst_null
putfield io.netty.handler.codec.MessageAggregator.currentMessage:Lio/netty/buffer/ByteBufHolder;
2: aload 0
aload 1
aload 2
invokevirtual io.netty.handler.codec.MessageAggregator.handleOversizedMessage:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
3: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 3
5: aload 2
invokestatic io.netty.util.ReferenceCountUtil.release:(Ljava/lang/Object;)Z
pop
6: aload 3
athrow
7: StackMap locals:
StackMap stack:
aload 2
invokestatic io.netty.util.ReferenceCountUtil.release:(Ljava/lang/Object;)Z
pop
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/netty/handler/codec/MessageAggregator<TI;TS;TC;TO;>;
0 9 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 9 2 oversized TS;
Exception table:
from to target type
2 4 4 any
Exceptions:
throws java.lang.Exception
Signature: (Lio/netty/channel/ChannelHandlerContext;TS;)V
MethodParameters:
Name Flags
ctx
oversized
protected void handleOversizedMessage(io.netty.channel.ChannelHandlerContext, );
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
1: new io.netty.handler.codec.TooLongFrameException
dup
new java.lang.StringBuilder
dup
ldc "content length exceeded "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual io.netty.handler.codec.MessageAggregator.maxContentLength:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bytes."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial io.netty.handler.codec.TooLongFrameException.<init>:(Ljava/lang/String;)V
2: invokeinterface io.netty.channel.ChannelHandlerContext.fireExceptionCaught:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelHandlerContext;
pop
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/codec/MessageAggregator<TI;TS;TC;TO;>;
0 4 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 4 2 oversized TS;
Exceptions:
throws java.lang.Exception
Signature: (Lio/netty/channel/ChannelHandlerContext;TS;)V
MethodParameters:
Name Flags
ctx
oversized
public void channelReadComplete(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.handler.codec.MessageAggregator.currentMessage:Lio/netty/buffer/ByteBufHolder;
ifnull 2
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.config:()Lio/netty/channel/ChannelConfig;
invokeinterface io.netty.channel.ChannelConfig.isAutoRead:()Z
ifne 2
1: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.read:()Lio/netty/channel/ChannelHandlerContext;
pop
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelReadComplete:()Lio/netty/channel/ChannelHandlerContext;
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/codec/MessageAggregator<TI;TS;TC;TO;>;
0 4 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
public void channelInactive(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial io.netty.handler.codec.MessageToMessageDecoder.channelInactive:(Lio/netty/channel/ChannelHandlerContext;)V
1: goto 5
StackMap locals:
StackMap stack: java.lang.Throwable
2: astore 2
3: aload 0
invokevirtual io.netty.handler.codec.MessageAggregator.releaseCurrentMessage:()V
4: aload 2
athrow
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.codec.MessageAggregator.releaseCurrentMessage:()V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/netty/handler/codec/MessageAggregator<TI;TS;TC;TO;>;
0 7 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exception table:
from to target type
0 2 2 any
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
public void handlerAdded(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.netty.handler.codec.MessageAggregator.ctx:Lio/netty/channel/ChannelHandlerContext;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/MessageAggregator<TI;TS;TC;TO;>;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
public void handlerRemoved(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial io.netty.handler.codec.MessageToMessageDecoder.handlerRemoved:(Lio/netty/channel/ChannelHandlerContext;)V
1: goto 5
StackMap locals:
StackMap stack: java.lang.Throwable
2: astore 2
3: aload 0
invokevirtual io.netty.handler.codec.MessageAggregator.releaseCurrentMessage:()V
4: aload 2
athrow
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.codec.MessageAggregator.releaseCurrentMessage:()V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/netty/handler/codec/MessageAggregator<TI;TS;TC;TO;>;
0 7 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exception table:
from to target type
0 2 2 any
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
private void releaseCurrentMessage();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.MessageAggregator.currentMessage:Lio/netty/buffer/ByteBufHolder;
ifnull 4
1: aload 0
getfield io.netty.handler.codec.MessageAggregator.currentMessage:Lio/netty/buffer/ByteBufHolder;
invokeinterface io.netty.buffer.ByteBufHolder.release:()Z
pop
2: aload 0
aconst_null
putfield io.netty.handler.codec.MessageAggregator.currentMessage:Lio/netty/buffer/ByteBufHolder;
3: aload 0
iconst_0
putfield io.netty.handler.codec.MessageAggregator.handlingOversizedMessage:Z
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/handler/codec/MessageAggregator<TI;TS;TC;TO;>;
}
Signature: <I:Ljava/lang/Object;S:Ljava/lang/Object;C::Lio/netty/buffer/ByteBufHolder;O::Lio/netty/buffer/ByteBufHolder;>Lio/netty/handler/codec/MessageToMessageDecoder<TI;>;
SourceFile: "MessageAggregator.java"
NestMembers:
io.netty.handler.codec.MessageAggregator$1
InnerClasses:
io.netty.handler.codec.MessageAggregator$1