public class io.undertow.protocols.http2.Http2SettingsStreamSinkChannel extends io.undertow.protocols.http2.Http2StreamSinkChannel
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel
super_class: io.undertow.protocols.http2.Http2StreamSinkChannel
{
private final java.util.List<io.undertow.protocols.http2.Http2Setting> settings;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lio/undertow/protocols/http2/Http2Setting;>;
void <init>(io.undertow.protocols.http2.Http2Channel, java.util.List<io.undertow.protocols.http2.Http2Setting>);
descriptor: (Lio/undertow/protocols/http2/Http2Channel;Ljava/util/List;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 // io.undertow.protocols.http2.Http2SettingsStreamSinkChannel this
start local 1 // io.undertow.protocols.http2.Http2Channel channel
start local 2 // java.util.List settings
0: .line 37
aload 0 /* this */
aload 1 /* channel */
iconst_0
invokespecial io.undertow.protocols.http2.Http2StreamSinkChannel.<init>:(Lio/undertow/protocols/http2/Http2Channel;I)V
1: .line 38
aload 0 /* this */
aload 2 /* settings */
putfield io.undertow.protocols.http2.Http2SettingsStreamSinkChannel.settings:Ljava/util/List;
2: .line 39
return
end local 2 // java.util.List settings
end local 1 // io.undertow.protocols.http2.Http2Channel channel
end local 0 // io.undertow.protocols.http2.Http2SettingsStreamSinkChannel this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/protocols/http2/Http2SettingsStreamSinkChannel;
0 3 1 channel Lio/undertow/protocols/http2/Http2Channel;
0 3 2 settings Ljava/util/List<Lio/undertow/protocols/http2/Http2Setting;>;
Signature: (Lio/undertow/protocols/http2/Http2Channel;Ljava/util/List<Lio/undertow/protocols/http2/Http2Setting;>;)V
MethodParameters:
Name Flags
channel
settings
void <init>(io.undertow.protocols.http2.Http2Channel);
descriptor: (Lio/undertow/protocols/http2/Http2Channel;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 // io.undertow.protocols.http2.Http2SettingsStreamSinkChannel this
start local 1 // io.undertow.protocols.http2.Http2Channel channel
0: .line 47
aload 0 /* this */
aload 1 /* channel */
iconst_0
invokespecial io.undertow.protocols.http2.Http2StreamSinkChannel.<init>:(Lio/undertow/protocols/http2/Http2Channel;I)V
1: .line 48
aload 0 /* this */
aconst_null
putfield io.undertow.protocols.http2.Http2SettingsStreamSinkChannel.settings:Ljava/util/List;
2: .line 49
return
end local 1 // io.undertow.protocols.http2.Http2Channel channel
end local 0 // io.undertow.protocols.http2.Http2SettingsStreamSinkChannel this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/protocols/http2/Http2SettingsStreamSinkChannel;
0 3 1 channel Lio/undertow/protocols/http2/Http2Channel;
MethodParameters:
Name Flags
channel
protected io.undertow.server.protocol.framed.SendFrameHeader createFrameHeaderImpl();
descriptor: ()Lio/undertow/server/protocol/framed/SendFrameHeader;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=1
start local 0 // io.undertow.protocols.http2.Http2SettingsStreamSinkChannel this
0: .line 53
aload 0 /* this */
invokevirtual io.undertow.protocols.http2.Http2SettingsStreamSinkChannel.getChannel:()Lio/undertow/server/protocol/framed/AbstractFramedChannel;
checkcast io.undertow.protocols.http2.Http2Channel
invokevirtual io.undertow.protocols.http2.Http2Channel.getBufferPool:()Lio/undertow/connector/ByteBufferPool;
invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
astore 1 /* pooled */
start local 1 // io.undertow.connector.PooledByteBuffer pooled
1: .line 54
aload 1 /* pooled */
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
astore 2 /* currentBuffer */
start local 2 // java.nio.ByteBuffer currentBuffer
2: .line 55
aload 0 /* this */
getfield io.undertow.protocols.http2.Http2SettingsStreamSinkChannel.settings:Ljava/util/List;
ifnull 20
3: .line 56
aload 0 /* this */
getfield io.undertow.protocols.http2.Http2SettingsStreamSinkChannel.settings:Ljava/util/List;
invokeinterface java.util.List.size:()I
bipush 6
imul
istore 3 /* size */
start local 3 // int size
4: .line 57
aload 2 /* currentBuffer */
iload 3 /* size */
bipush 16
ishr
sipush 255
iand
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
5: .line 58
aload 2 /* currentBuffer */
iload 3 /* size */
bipush 8
ishr
sipush 255
iand
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
6: .line 59
aload 2 /* currentBuffer */
iload 3 /* size */
sipush 255
iand
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
7: .line 60
aload 2 /* currentBuffer */
iconst_4
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
8: .line 61
aload 2 /* currentBuffer */
iconst_0
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
9: .line 62
aload 2 /* currentBuffer */
aload 0 /* this */
invokevirtual io.undertow.protocols.http2.Http2SettingsStreamSinkChannel.getStreamId:()I
invokestatic io.undertow.protocols.http2.Http2ProtocolUtils.putInt:(Ljava/nio/ByteBuffer;I)V
10: .line 63
aload 0 /* this */
getfield io.undertow.protocols.http2.Http2SettingsStreamSinkChannel.settings:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 18
StackMap locals: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int top java.util.Iterator
StackMap stack:
11: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.undertow.protocols.http2.Http2Setting
astore 4 /* setting */
start local 4 // io.undertow.protocols.http2.Http2Setting setting
12: .line 64
aload 2 /* currentBuffer */
aload 4 /* setting */
invokevirtual io.undertow.protocols.http2.Http2Setting.getId:()I
bipush 8
ishr
sipush 255
iand
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
13: .line 65
aload 2 /* currentBuffer */
aload 4 /* setting */
invokevirtual io.undertow.protocols.http2.Http2Setting.getId:()I
sipush 255
iand
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
14: .line 67
aload 2 /* currentBuffer */
aload 4 /* setting */
invokevirtual io.undertow.protocols.http2.Http2Setting.getValue:()J
bipush 24
lshr
ldc 255
land
l2i
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
15: .line 68
aload 2 /* currentBuffer */
aload 4 /* setting */
invokevirtual io.undertow.protocols.http2.Http2Setting.getValue:()J
bipush 16
lshr
ldc 255
land
l2i
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
16: .line 69
aload 2 /* currentBuffer */
aload 4 /* setting */
invokevirtual io.undertow.protocols.http2.Http2Setting.getValue:()J
bipush 8
lshr
ldc 255
land
l2i
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
17: .line 70
aload 2 /* currentBuffer */
aload 4 /* setting */
invokevirtual io.undertow.protocols.http2.Http2Setting.getValue:()J
ldc 255
land
l2i
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
end local 4 // io.undertow.protocols.http2.Http2Setting setting
18: .line 63
StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
end local 3 // int size
19: .line 72
goto 26
20: .line 74
StackMap locals: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer
StackMap stack:
aload 2 /* currentBuffer */
iconst_0
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
21: .line 75
aload 2 /* currentBuffer */
iconst_0
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
22: .line 76
aload 2 /* currentBuffer */
iconst_0
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
23: .line 77
aload 2 /* currentBuffer */
iconst_4
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
24: .line 78
aload 2 /* currentBuffer */
iconst_1
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
25: .line 79
aload 2 /* currentBuffer */
aload 0 /* this */
invokevirtual io.undertow.protocols.http2.Http2SettingsStreamSinkChannel.getStreamId:()I
invokestatic io.undertow.protocols.http2.Http2ProtocolUtils.putInt:(Ljava/nio/ByteBuffer;I)V
26: .line 81
StackMap locals:
StackMap stack:
aload 2 /* currentBuffer */
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
27: .line 82
new io.undertow.server.protocol.framed.SendFrameHeader
dup
aload 1 /* pooled */
invokespecial io.undertow.server.protocol.framed.SendFrameHeader.<init>:(Lio/undertow/connector/PooledByteBuffer;)V
areturn
end local 2 // java.nio.ByteBuffer currentBuffer
end local 1 // io.undertow.connector.PooledByteBuffer pooled
end local 0 // io.undertow.protocols.http2.Http2SettingsStreamSinkChannel this
LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lio/undertow/protocols/http2/Http2SettingsStreamSinkChannel;
1 28 1 pooled Lio/undertow/connector/PooledByteBuffer;
2 28 2 currentBuffer Ljava/nio/ByteBuffer;
4 19 3 size I
12 18 4 setting Lio/undertow/protocols/http2/Http2Setting;
}
SourceFile: "Http2SettingsStreamSinkChannel.java"