public abstract class org.glassfish.grizzly.http2.Http2BaseFilter extends org.glassfish.grizzly.http.HttpBaseFilter
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.glassfish.grizzly.http2.Http2BaseFilter
super_class: org.glassfish.grizzly.http.HttpBaseFilter
{
private static final java.util.logging.Logger LOGGER;
descriptor: Ljava/util/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final java.lang.String HTTP2_CLEAR;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "h2c"
static final java.lang.String HTTP2_PUSH_ENABLED;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "http2-push-enabled"
static final byte[] PRI_PAYLOAD;
descriptor: [B
flags: (0x0018) ACC_STATIC, ACC_FINAL
protected static final org.glassfish.grizzly.http.TransferEncoding FIXED_LENGTH_ENCODING;
descriptor: Lorg/glassfish/grizzly/http/TransferEncoding;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
final org.glassfish.grizzly.http2.Http2FrameCodec frameCodec;
descriptor: Lorg/glassfish/grizzly/http2/Http2FrameCodec;
flags: (0x0010) ACC_FINAL
private final org.glassfish.grizzly.http2.Http2Configuration configuration;
descriptor: Lorg/glassfish/grizzly/http2/Http2Configuration;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected final java.util.concurrent.ExecutorService threadPool;
descriptor: Ljava/util/concurrent/ExecutorService;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private int localMaxFramePayloadSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/glassfish/grizzly/http2/Http2BaseFilter;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.glassfish.grizzly.http2.Http2BaseFilter.$assertionsDisabled:Z
3: ldc Lorg/glassfish/grizzly/http2/Http2BaseFilter;
invokestatic org.glassfish.grizzly.Grizzly.logger:(Ljava/lang/Class;)Ljava/util/logging/Logger;
putstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
4: ldc "SM\r\n\r\n"
getstatic org.glassfish.grizzly.utils.Charsets.ASCII_CHARSET:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
putstatic org.glassfish.grizzly.http2.Http2BaseFilter.PRI_PAYLOAD:[B
5: new org.glassfish.grizzly.http.FixedLengthTransferEncoding
dup
invokespecial org.glassfish.grizzly.http.FixedLengthTransferEncoding.<init>:()V
6: putstatic org.glassfish.grizzly.http2.Http2BaseFilter.FIXED_LENGTH_ENCODING:Lorg/glassfish/grizzly/http/TransferEncoding;
7: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.glassfish.grizzly.http2.Http2Configuration);
descriptor: (Lorg/glassfish/grizzly/http2/Http2Configuration;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.glassfish.grizzly.http.HttpBaseFilter.<init>:()V
1: aload 0
new org.glassfish.grizzly.http2.Http2FrameCodec
dup
invokespecial org.glassfish.grizzly.http2.Http2FrameCodec.<init>:()V
putfield org.glassfish.grizzly.http2.Http2BaseFilter.frameCodec:Lorg/glassfish/grizzly/http2/Http2FrameCodec;
2: aload 0
aload 1
putfield org.glassfish.grizzly.http2.Http2BaseFilter.configuration:Lorg/glassfish/grizzly/http2/Http2Configuration;
3: aload 1
invokevirtual org.glassfish.grizzly.http2.Http2Configuration.getThreadPoolConfig:()Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
astore 2
start local 2 4: aload 0
aload 2
ifnull 6
5: aload 2
invokestatic org.glassfish.grizzly.threadpool.GrizzlyExecutorService.createInstance:(Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;)Lorg/glassfish/grizzly/threadpool/GrizzlyExecutorService;
goto 7
6: StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.http2.Http2Configuration org.glassfish.grizzly.threadpool.ThreadPoolConfig
StackMap stack: org.glassfish.grizzly.http2.Http2BaseFilter
aload 1
invokevirtual org.glassfish.grizzly.http2.Http2Configuration.getExecutorService:()Ljava/util/concurrent/ExecutorService;
7: StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.http2.Http2Configuration org.glassfish.grizzly.threadpool.ThreadPoolConfig
StackMap stack: org.glassfish.grizzly.http2.Http2BaseFilter java.util.concurrent.ExecutorService
putfield org.glassfish.grizzly.http2.Http2BaseFilter.threadPool:Ljava/util/concurrent/ExecutorService;
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 9 1 configuration Lorg/glassfish/grizzly/http2/Http2Configuration;
4 9 2 tpConfig Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
MethodParameters:
Name Flags
configuration final
public int getLocalMaxFramePayloadSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http2.Http2BaseFilter.localMaxFramePayloadSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
public void setLocalMaxFramePayloadSize(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.glassfish.grizzly.http2.Http2BaseFilter.localMaxFramePayloadSize:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 2 1 localMaxFramePayloadSize I
MethodParameters:
Name Flags
localMaxFramePayloadSize final
public org.glassfish.grizzly.http2.Http2Configuration getConfiguration();
descriptor: ()Lorg/glassfish/grizzly/http2/Http2Configuration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http2.Http2BaseFilter.configuration:Lorg/glassfish/grizzly/http2/Http2Configuration;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
protected boolean processFrames(org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http2.Http2Session, java.util.List<org.glassfish.grizzly.http2.frames.Http2Frame>);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/Http2Session;Ljava/util/List;)Z
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 3
ifnull 1
aload 3
invokeinterface java.util.List.isEmpty:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 18
StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.http2.Http2Session java.util.List top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.glassfish.grizzly.http2.frames.Http2Frame
astore 4
start local 4 4: getstatic org.glassfish.grizzly.http2.NetLogger$Context.RX:Lorg/glassfish/grizzly/http2/NetLogger$Context;
aload 2
aload 4
invokestatic org.glassfish.grizzly.http2.NetLogger.log:(Lorg/glassfish/grizzly/http2/NetLogger$Context;Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
5: aload 0
aload 2
aload 1
aload 4
invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.processInFrame:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
6: goto 18
StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.http2.Http2Session java.util.List org.glassfish.grizzly.http2.frames.Http2Frame java.util.Iterator
StackMap stack: org.glassfish.grizzly.http2.Http2StreamException
7: astore 6
start local 6 8: getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 12
9: getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "Http2StreamException occurred on connection="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
10: aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " during Http2Frame processing"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 6
11: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
12: StackMap locals: org.glassfish.grizzly.http2.Http2StreamException
StackMap stack:
aload 6
invokevirtual org.glassfish.grizzly.http2.Http2StreamException.getStreamId:()I
istore 7
start local 7 13: iload 7
ifne 15
14: new org.glassfish.grizzly.http2.Http2SessionException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;)V
athrow
15: StackMap locals: int
StackMap stack:
aload 0
aload 1
aload 2
16: iload 7
aload 6
invokevirtual org.glassfish.grizzly.http2.Http2StreamException.getErrorCode:()Lorg/glassfish/grizzly/http2/frames/ErrorCode;
17: invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.sendRstStream:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/Http2Session;ILorg/glassfish/grizzly/http2/frames/ErrorCode;)V
end local 7 end local 6 end local 4 18: StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.http2.Http2Session java.util.List top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
19: goto 23
StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.http2.Http2Session java.util.List
StackMap stack: java.lang.Throwable
20: astore 8
21: aload 3
invokeinterface java.util.List.clear:()V
22: aload 8
athrow
23: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.List.clear:()V
24: aload 2
getfield org.glassfish.grizzly.http2.Http2Session.streamsToFlushInput:Ljava/util/List;
25: astore 4
start local 4 26: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 29
StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.http2.Http2Session java.util.List java.util.List top java.util.Iterator
StackMap stack:
27: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.glassfish.grizzly.http2.Http2Stream
astore 5
start local 5 28: aload 5
invokevirtual org.glassfish.grizzly.http2.Http2Stream.flushInputData:()V
end local 5 29: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 27
30: aload 4
invokeinterface java.util.List.clear:()V
31: iconst_1
ireturn
end local 4 32: StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.http2.Http2Session java.util.List
StackMap stack: org.glassfish.grizzly.http2.Http2SessionException
astore 4
start local 4 33: getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 37
34: getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "Http2SessionException occurred on connection="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
35: aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " during Http2Frame processing"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
36: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
37: StackMap locals: org.glassfish.grizzly.http2.Http2SessionException
StackMap stack:
aload 2
aload 4
invokevirtual org.glassfish.grizzly.http2.Http2SessionException.getErrorCode:()Lorg/glassfish/grizzly/http2/frames/ErrorCode;
aload 4
invokevirtual org.glassfish.grizzly.http2.Http2SessionException.getMessage:()Ljava/lang/String;
invokevirtual org.glassfish.grizzly.http2.Http2Session.terminate:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
end local 4 38: goto 45
39: StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.http2.Http2Session java.util.List
StackMap stack: java.io.IOException
astore 4
start local 4 40: getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 44
41: getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "IOException occurred on connection="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
42: aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " during Http2Frame processing"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
43: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
44: StackMap locals: java.io.IOException
StackMap stack:
aload 2
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.INTERNAL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
aload 4
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual org.glassfish.grizzly.http2.Http2Session.terminate:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
end local 4 45: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 46 1 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 46 2 http2Session Lorg/glassfish/grizzly/http2/Http2Session;
0 46 3 framesList Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;
4 18 4 inFrame Lorg/glassfish/grizzly/http2/frames/Http2Frame;
8 18 6 e Lorg/glassfish/grizzly/http2/Http2StreamException;
13 18 7 streamId I
26 32 4 streamsToFlushInput Ljava/util/List<Lorg/glassfish/grizzly/http2/Http2Stream;>;
28 29 5 streamsToFlush Lorg/glassfish/grizzly/http2/Http2Stream;
33 38 4 e Lorg/glassfish/grizzly/http2/Http2SessionException;
40 45 4 e Ljava/io/IOException;
Exception table:
from to target type
5 6 7 Class org.glassfish.grizzly.http2.Http2StreamException
2 20 20 any
2 31 32 Class org.glassfish.grizzly.http2.Http2SessionException
2 31 39 Class java.io.IOException
Signature: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/Http2Session;Ljava/util/List<Lorg/glassfish/grizzly/http2/frames/Http2Frame;>;)Z
MethodParameters:
Name Flags
ctx final
http2Session final
framesList final
protected boolean (org.glassfish.grizzly.http.HttpRequestPacket);
descriptor: (Lorg/glassfish/grizzly/http/HttpRequestPacket;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.isUpgrade:()Z
ifne 4
1: getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 3
2: getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
ldc "checkRequestHeadersOnUpgrade: failed no upgrade"
invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getHeaders:()Lorg/glassfish/grizzly/http/util/MimeHeaders;
getstatic org.glassfish.grizzly.http.util.Header.Connection:Lorg/glassfish/grizzly/http/util/Header;
invokevirtual org.glassfish.grizzly.http.util.MimeHeaders.getValue:(Lorg/glassfish/grizzly/http/util/Header;)Lorg/glassfish/grizzly/http/util/DataChunk;
5: astore 2
start local 2 6: aload 2
ifnonnull 10
7: getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 9
8: getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
ldc "checkRequestHeadersOnUpgrade: failed no connection"
invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
9: StackMap locals: org.glassfish.grizzly.http.util.DataChunk
StackMap stack:
iconst_0
ireturn
10: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 11: iconst_0
istore 4
start local 4 12: iconst_0
istore 5
start local 5 13: aload 2
invokevirtual org.glassfish.grizzly.http.util.DataChunk.getLength:()I
istore 6
start local 6 14: goto 27
15: StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.http.HttpRequestPacket org.glassfish.grizzly.http.util.DataChunk int int int int
StackMap stack:
aload 2
ldc ","
iload 5
invokevirtual org.glassfish.grizzly.http.util.DataChunk.indexOf:(Ljava/lang/String;I)I
istore 7
start local 7 16: iload 7
iconst_m1
if_icmpeq 17
iload 7
goto 18
StackMap locals: int
StackMap stack:
17: iload 6
StackMap locals:
StackMap stack: int
18: istore 8
start local 8 19: aload 2
iload 5
iload 8
invokevirtual org.glassfish.grizzly.http.util.DataChunk.toString:(II)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 9
start local 9 20: iload 3
ifne 21
ldc "Upgrade"
aload 9
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 21
iconst_0
goto 22
StackMap locals: int java.lang.String
StackMap stack:
21: iconst_1
StackMap locals:
StackMap stack: int
22: istore 3
23: iload 4
ifne 24
ldc "HTTP2-Settings"
aload 9
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 24
iconst_0
goto 25
StackMap locals:
StackMap stack:
24: iconst_1
StackMap locals:
StackMap stack: int
25: istore 4
26: iload 8
iconst_1
iadd
istore 5
end local 9 end local 8 end local 7 27: StackMap locals:
StackMap stack:
iload 5
iload 6
if_icmplt 15
28: iload 3
ifeq 29
iload 4
ifne 32
29: StackMap locals:
StackMap stack:
getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 31
30: getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
ldc "checkRequestHeadersOnUpgrade: failed incorrect connection: {0}"
aload 2
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
31: StackMap locals:
StackMap stack:
iconst_0
ireturn
32: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getHeaders:()Lorg/glassfish/grizzly/http/util/MimeHeaders;
getstatic org.glassfish.grizzly.http.util.Header.HTTP2Settings:Lorg/glassfish/grizzly/http/util/Header;
invokevirtual org.glassfish.grizzly.http.util.MimeHeaders.contains:(Lorg/glassfish/grizzly/http/util/Header;)Z
ifne 36
33: getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 35
34: getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
ldc "checkRequestHeadersOnUpgrade: failed no settings"
invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
35: StackMap locals:
StackMap stack:
iconst_0
ireturn
36: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 6 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 37 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 37 1 httpRequest Lorg/glassfish/grizzly/http/HttpRequestPacket;
6 37 2 connectionHeaderDC Lorg/glassfish/grizzly/http/util/DataChunk;
11 37 3 upgradeFound Z
12 37 4 http2SettingsFound Z
13 37 5 pos I
14 37 6 len I
16 27 7 comma I
19 27 8 valueEnd I
20 27 9 value Ljava/lang/String;
MethodParameters:
Name Flags
httpRequest final
protected boolean (org.glassfish.grizzly.http.HttpResponsePacket);
descriptor: (Lorg/glassfish/grizzly/http/HttpResponsePacket;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.getStatus:()I
bipush 101
if_icmpeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.isUpgrade:()Z
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.getHeaders:()Lorg/glassfish/grizzly/http/util/MimeHeaders;
getstatic org.glassfish.grizzly.http.util.Header.Connection:Lorg/glassfish/grizzly/http/util/Header;
invokevirtual org.glassfish.grizzly.http.util.MimeHeaders.getValue:(Lorg/glassfish/grizzly/http/util/Header;)Lorg/glassfish/grizzly/http/util/DataChunk;
5: astore 2
start local 2 6: aload 2
ifnull 8
aload 2
invokevirtual org.glassfish.grizzly.http.util.DataChunk.isNull:()Z
ifne 8
7: aload 2
getstatic org.glassfish.grizzly.http.util.Header.Upgrade:Lorg/glassfish/grizzly/http/util/Header;
invokevirtual org.glassfish.grizzly.http.util.Header.getBytes:()[B
invokevirtual org.glassfish.grizzly.http.util.DataChunk.equals:([B)Z
ifne 9
8: StackMap locals: org.glassfish.grizzly.http.util.DataChunk
StackMap stack:
iconst_0
goto 10
StackMap locals:
StackMap stack:
9: iconst_1
StackMap locals:
StackMap stack: int
10: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 11 1 httpResponse Lorg/glassfish/grizzly/http/HttpResponsePacket;
6 11 2 connectionHeaderDC Lorg/glassfish/grizzly/http/util/DataChunk;
MethodParameters:
Name Flags
httpResponse final
protected org.glassfish.grizzly.http2.frames.SettingsFrame getHttp2UpgradeSettings(org.glassfish.grizzly.http.HttpRequestPacket);
descriptor: (Lorg/glassfish/grizzly/http/HttpRequestPacket;)Lorg/glassfish/grizzly/http2/frames/SettingsFrame;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getHeaders:()Lorg/glassfish/grizzly/http/util/MimeHeaders;
getstatic org.glassfish.grizzly.http.util.Header.HTTP2Settings:Lorg/glassfish/grizzly/http/util/Header;
invokevirtual org.glassfish.grizzly.http.util.MimeHeaders.getValue:(Lorg/glassfish/grizzly/http/util/Header;)Lorg/glassfish/grizzly/http/util/DataChunk;
1: astore 2
start local 2 2: aload 2
ifnull 4
3: aload 2
invokestatic org.glassfish.grizzly.http2.frames.SettingsFrame.fromBase64Uri:(Lorg/glassfish/grizzly/http/util/DataChunk;)Lorg/glassfish/grizzly/http2/frames/SettingsFrame;
goto 5
4: StackMap locals: org.glassfish.grizzly.http.util.DataChunk
StackMap stack:
aconst_null
5: StackMap locals:
StackMap stack: org.glassfish.grizzly.http2.frames.SettingsFrame
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 6 1 httpRequest Lorg/glassfish/grizzly/http/HttpRequestPacket;
2 6 2 http2Settings Lorg/glassfish/grizzly/http/util/DataChunk;
MethodParameters:
Name Flags
httpRequest final
protected boolean (org.glassfish.grizzly.http.HttpHeader);
descriptor: (Lorg/glassfish/grizzly/http/HttpHeader;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.glassfish.grizzly.http.HttpHeader.getUpgradeDC:()Lorg/glassfish/grizzly/http/util/DataChunk;
astore 2
start local 2 1: getstatic org.glassfish.grizzly.http2.Http2BaseFilter.$assertionsDisabled:Z
ifne 3
aload 2
ifnull 2
aload 2
invokevirtual org.glassfish.grizzly.http.util.DataChunk.isNull:()Z
ifeq 3
StackMap locals: org.glassfish.grizzly.http.util.DataChunk
StackMap stack:
2: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 2
ldc "h2c"
invokevirtual org.glassfish.grizzly.http.util.DataChunk.equals:(Ljava/lang/String;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 4 1 httpHeader Lorg/glassfish/grizzly/http/HttpHeader;
1 4 2 upgradeDC Lorg/glassfish/grizzly/http/util/DataChunk;
MethodParameters:
Name Flags
httpHeader final
protected boolean (org.glassfish.grizzly.http.HttpHeader, org.glassfish.grizzly.filterchain.FilterChainContext);
descriptor: (Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 1 1 httpHeader Lorg/glassfish/grizzly/http/HttpHeader;
0 1 2 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
MethodParameters:
Name Flags
httpHeader
ctx
protected boolean (org.glassfish.grizzly.http.HttpHeader, org.glassfish.grizzly.Buffer, org.glassfish.grizzly.filterchain.FilterChainContext);
descriptor: (Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 1 1 httpHeader Lorg/glassfish/grizzly/http/HttpHeader;
0 1 2 buffer Lorg/glassfish/grizzly/Buffer;
0 1 3 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
MethodParameters:
Name Flags
httpHeader
buffer
ctx
protected void (org.glassfish.grizzly.http.HttpHeader, org.glassfish.grizzly.filterchain.FilterChainContext);
descriptor: (Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)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 Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 1 1 httpHeader Lorg/glassfish/grizzly/http/HttpHeader;
0 1 2 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
MethodParameters:
Name Flags
httpHeader final
ctx final
protected void (org.glassfish.grizzly.http.HttpHeader, org.glassfish.grizzly.filterchain.FilterChainContext);
descriptor: (Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)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 Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 1 1 httpHeader Lorg/glassfish/grizzly/http/HttpHeader;
0 1 2 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
MethodParameters:
Name Flags
httpHeader final
ctx final
protected void (org.glassfish.grizzly.http.HttpHeader, org.glassfish.grizzly.filterchain.FilterChainContext);
descriptor: (Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)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 Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 1 1 httpHeader Lorg/glassfish/grizzly/http/HttpHeader;
0 1 2 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
MethodParameters:
Name Flags
httpHeader final
ctx final
protected void (org.glassfish.grizzly.http.HttpHeader, org.glassfish.grizzly.filterchain.FilterChainContext);
descriptor: (Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)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 Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 1 1 httpHeader Lorg/glassfish/grizzly/http/HttpHeader;
0 1 2 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
MethodParameters:
Name Flags
httpHeader final
ctx final
protected void onHttpContentParsed(org.glassfish.grizzly.http.HttpContent, org.glassfish.grizzly.filterchain.FilterChainContext);
descriptor: (Lorg/glassfish/grizzly/http/HttpContent;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)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 Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 1 1 content Lorg/glassfish/grizzly/http/HttpContent;
0 1 2 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
MethodParameters:
Name Flags
content final
ctx final
protected void onHttpContentEncoded(org.glassfish.grizzly.http.HttpContent, org.glassfish.grizzly.filterchain.FilterChainContext);
descriptor: (Lorg/glassfish/grizzly/http/HttpContent;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)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 Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 1 1 content Lorg/glassfish/grizzly/http/HttpContent;
0 1 2 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
MethodParameters:
Name Flags
content final
ctx final
protected void (org.glassfish.grizzly.http.HttpHeader, org.glassfish.grizzly.filterchain.FilterChainContext, java.lang.Throwable);
descriptor: (Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Ljava/lang/Throwable;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 1 1 httpHeader Lorg/glassfish/grizzly/http/HttpHeader;
0 1 2 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 1 3 t Ljava/lang/Throwable;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
httpHeader final
ctx final
t final
protected void (org.glassfish.grizzly.http.HttpHeader, org.glassfish.grizzly.filterchain.FilterChainContext, java.lang.Throwable);
descriptor: (Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Ljava/lang/Throwable;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 1 1 httpHeader Lorg/glassfish/grizzly/http/HttpHeader;
0 1 2 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 1 3 t Ljava/lang/Throwable;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
httpHeader
ctx
t
private void processInFrame(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http2.frames.Http2Frame);
descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 3
invokevirtual org.glassfish.grizzly.http2.Http2Session.checkFrameSequenceSemantics:(Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
1: aload 3
invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getType:()I
tableswitch { // 0 - 9
0: 2
1: 6
2: 4
3: 12
4: 8
5: 6
6: 10
7: 14
8: 16
9: 6
default: 18
}
2: StackMap locals:
StackMap stack:
aload 1
aload 2
aload 3
invokestatic org.glassfish.grizzly.http2.Http2BaseFilter.processDataFrame:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
3: goto 24
4: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.processPriorityFrame:(Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
5: goto 24
6: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.processHeadersFrame:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
7: goto 24
8: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.processSettingsFrame:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
9: goto 24
10: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.processPingFrame:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
11: goto 24
12: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.processRstStreamFrame:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
13: goto 24
14: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.processGoAwayFrame:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
15: goto 24
16: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.processWindowUpdateFrame:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
17: goto 24
18: StackMap locals:
StackMap stack:
getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
ldc "Unknown or unhandled frame [type={0} flags={1} length={2} streamId={3}]"
19: iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 3
invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getType:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
20: aload 3
invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getFlags:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
21: aload 3
invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getLength:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
22: aload 3
invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getStreamId:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
23: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
24: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 25 1 http2Session Lorg/glassfish/grizzly/http2/Http2Session;
0 25 2 context Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 25 3 frame Lorg/glassfish/grizzly/http2/frames/Http2Frame;
Exceptions:
throws org.glassfish.grizzly.http2.Http2StreamException, org.glassfish.grizzly.http2.Http2SessionException, java.io.IOException
MethodParameters:
Name Flags
http2Session final
context final
frame final
private void processPriorityFrame(org.glassfish.grizzly.http2.frames.Http2Frame);
descriptor: (Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getStreamId:()I
istore 2
start local 2 1: iload 2
ifne 3
2: new org.glassfish.grizzly.http2.Http2SessionException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
ldc "PRIORITY frame on stream ID zero."
invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
athrow
3: StackMap locals: int
StackMap stack:
aload 1
invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getLength:()I
iconst_5
if_icmpeq 5
4: new org.glassfish.grizzly.http2.Http2StreamException
dup
iload 2
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.FRAME_SIZE_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
invokespecial org.glassfish.grizzly.http2.Http2StreamException.<init>:(ILorg/glassfish/grizzly/http2/frames/ErrorCode;)V
athrow
5: StackMap locals:
StackMap stack:
iload 2
aload 1
checkcast org.glassfish.grizzly.http2.frames.PriorityFrame
invokevirtual org.glassfish.grizzly.http2.frames.PriorityFrame.getStreamDependency:()I
if_icmpne 10
6: new org.glassfish.grizzly.http2.Http2SessionException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
ldc "PRIORITY frame dependent on itself."
invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
8: aload 1
invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.recycle:()V
9: aload 3
athrow
10: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.recycle:()V
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 12 1 frame Lorg/glassfish/grizzly/http2/frames/Http2Frame;
1 12 2 streamId I
Exception table:
from to target type
1 7 7 any
Exceptions:
throws org.glassfish.grizzly.http2.Http2SessionException, org.glassfish.grizzly.http2.Http2StreamException
MethodParameters:
Name Flags
frame final
private void processWindowUpdateFrame(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.http2.frames.Http2Frame);
descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
checkcast org.glassfish.grizzly.http2.frames.WindowUpdateFrame
astore 3
start local 3 1: aload 3
invokevirtual org.glassfish.grizzly.http2.frames.WindowUpdateFrame.getStreamId:()I
istore 4
start local 4 2: aload 3
invokevirtual org.glassfish.grizzly.http2.frames.WindowUpdateFrame.getWindowSizeIncrement:()I
istore 5
start local 5 3: aload 3
invokevirtual org.glassfish.grizzly.http2.frames.WindowUpdateFrame.recycle:()V
4: iload 4
ifne 9
5: iload 5
ifne 7
6: new org.glassfish.grizzly.http2.Http2SessionException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
ldc "Illegal WINDOW_UPDATE with a delta of 0."
invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
athrow
7: StackMap locals: org.glassfish.grizzly.http2.frames.WindowUpdateFrame int int
StackMap stack:
aload 1
invokevirtual org.glassfish.grizzly.http2.Http2Session.getOutputSink:()Lorg/glassfish/grizzly/http2/Http2SessionOutputSink;
iload 5
invokevirtual org.glassfish.grizzly.http2.Http2SessionOutputSink.onPeerWindowUpdate:(I)V
8: goto 16
9: StackMap locals:
StackMap stack:
iload 5
ifne 11
10: new org.glassfish.grizzly.http2.Http2StreamException
dup
iload 4
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
ldc "Illegal WINDOW_UPDATE with a delta of 0."
invokespecial org.glassfish.grizzly.http2.Http2StreamException.<init>:(ILorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 1
iload 4
invokevirtual org.glassfish.grizzly.http2.Http2Session.getStream:(I)Lorg/glassfish/grizzly/http2/Http2Stream;
astore 6
start local 6 12: aload 6
ifnull 15
13: aload 6
invokevirtual org.glassfish.grizzly.http2.Http2Stream.getOutputSink:()Lorg/glassfish/grizzly/http2/StreamOutputSink;
iload 5
invokeinterface org.glassfish.grizzly.http2.StreamOutputSink.onPeerWindowUpdate:(I)V
14: goto 16
15: StackMap locals: org.glassfish.grizzly.http2.Http2Stream
StackMap stack:
new org.glassfish.grizzly.http2.Http2SessionException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;)V
athrow
end local 6 16: 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 17 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 17 1 http2Session Lorg/glassfish/grizzly/http2/Http2Session;
0 17 2 frame Lorg/glassfish/grizzly/http2/frames/Http2Frame;
1 17 3 updateFrame Lorg/glassfish/grizzly/http2/frames/WindowUpdateFrame;
2 17 4 streamId I
3 17 5 delta I
12 16 6 stream Lorg/glassfish/grizzly/http2/Http2Stream;
Exceptions:
throws org.glassfish.grizzly.http2.Http2StreamException, org.glassfish.grizzly.http2.Http2SessionException
MethodParameters:
Name Flags
http2Session final
frame final
private void processGoAwayFrame(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.http2.frames.Http2Frame);
descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getStreamId:()I
ifeq 2
1: new org.glassfish.grizzly.http2.Http2SessionException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
ldc "GOAWAY frame for non-zero stream ID."
invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
aload 2
checkcast org.glassfish.grizzly.http2.frames.GoAwayFrame
invokevirtual org.glassfish.grizzly.http2.frames.GoAwayFrame.getLastStreamId:()I
invokevirtual org.glassfish.grizzly.http2.Http2Session.setGoAwayByPeer:(I)V
3: aload 2
invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.recycle:()V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 5 1 http2Session Lorg/glassfish/grizzly/http2/Http2Session;
0 5 2 frame Lorg/glassfish/grizzly/http2/frames/Http2Frame;
Exceptions:
throws org.glassfish.grizzly.http2.Http2SessionException
MethodParameters:
Name Flags
http2Session final
frame final
private void processSettingsFrame(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http2.frames.Http2Frame);
descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getStreamId:()I
ifeq 2
1: new org.glassfish.grizzly.http2.Http2SessionException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
ldc "SETTINGS frame with non-zero stream ID."
invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 3
checkcast org.glassfish.grizzly.http2.frames.SettingsFrame
astore 4
start local 4 3: aload 4
invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame.isAck:()Z
ifeq 8
4: aload 4
invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame.getLength:()I
ifeq 6
5: new org.glassfish.grizzly.http2.Http2SessionException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.FRAME_SIZE_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
ldc "SETTINGS frame ack with a non-zero length."
invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
athrow
6: StackMap locals: org.glassfish.grizzly.http2.frames.SettingsFrame
StackMap stack:
aload 3
invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.recycle:()V
7: return
8: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame.getLength:()I
bipush 6
irem
ifeq 10
9: new org.glassfish.grizzly.http2.Http2SessionException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.FRAME_SIZE_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
ldc "SETTINGS frame length not multiple of six."
invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.sendSettingsAck:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)V
11: aload 0
aload 1
aload 4
invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.applySettings:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/SettingsFrame;)V
12: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 5
14: aload 3
invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.recycle:()V
15: aload 5
athrow
16: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.recycle:()V
17: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 18 1 http2Session Lorg/glassfish/grizzly/http2/Http2Session;
0 18 2 context Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 18 3 frame Lorg/glassfish/grizzly/http2/frames/Http2Frame;
3 18 4 settingsFrame Lorg/glassfish/grizzly/http2/frames/SettingsFrame;
Exception table:
from to target type
3 6 13 any
8 13 13 any
Exceptions:
throws org.glassfish.grizzly.http2.Http2SessionException, org.glassfish.grizzly.http2.Http2StreamException
MethodParameters:
Name Flags
http2Session final
context final
frame final
void applySettings(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.http2.frames.SettingsFrame);
descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/SettingsFrame;)V
flags: (0x0000)
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aload 2
invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame.getNumberOfSettings:()I
istore 4
start local 4 2: goto 24
3: StackMap locals: int int
StackMap stack:
aload 2
iload 3
invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame.getSettingByIndex:(I)Lorg/glassfish/grizzly/http2/frames/SettingsFrame$Setting;
astore 5
start local 5 4: aload 5
invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame$Setting.getId:()I
tableswitch { // 1 - 6
1: 5
2: 6
3: 15
4: 17
5: 21
6: 23
default: 23
}
5: StackMap locals: org.glassfish.grizzly.http2.frames.SettingsFrame$Setting
StackMap stack:
goto 23
6: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame$Setting.getValue:()I
istore 6
start local 6 7: iload 6
iflt 8
iload 6
iconst_1
if_icmple 9
8: StackMap locals: int
StackMap stack:
new org.glassfish.grizzly.http2.Http2SessionException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
ldc "Invalid value for SETTINGS_ENABLE_PUSH."
invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
iload 6
iconst_1
if_icmpne 10
iconst_1
goto 11
StackMap locals:
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 7
start local 7 12: aload 1
invokevirtual org.glassfish.grizzly.http2.Http2Session.getConnection:()Lorg/glassfish/grizzly/Connection;
invokeinterface org.glassfish.grizzly.Connection.getAttributes:()Lorg/glassfish/grizzly/attributes/AttributeHolder;
ldc "http2-push-enabled"
iload 7
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokeinterface org.glassfish.grizzly.attributes.AttributeHolder.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
13: aload 1
iload 7
invokevirtual org.glassfish.grizzly.http2.Http2Session.setPushEnabled:(Z)V
14: goto 23
end local 7 end local 6 15: StackMap locals:
StackMap stack:
aload 1
aload 5
invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame$Setting.getValue:()I
invokevirtual org.glassfish.grizzly.http2.Http2Session.setPeerMaxConcurrentStreams:(I)V
16: goto 23
17: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame$Setting.getValue:()I
ldc -2147483648
if_icmpne 19
18: new org.glassfish.grizzly.http2.Http2SessionException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.FLOW_CONTROL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
ldc "SETTINGS_INITIAL_WINDOW_SIZE greater than 2^31-1."
invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
athrow
19: StackMap locals:
StackMap stack:
aload 1
aload 5
invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame$Setting.getValue:()I
invokevirtual org.glassfish.grizzly.http2.Http2Session.setPeerStreamWindowSize:(I)V
20: goto 23
21: StackMap locals:
StackMap stack:
aload 1
aload 5
invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame$Setting.getValue:()I
invokevirtual org.glassfish.grizzly.http2.Http2Session.setPeerMaxFramePayloadSize:(I)V
22: goto 23
end local 5 23: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
24: iload 3
iload 4
if_icmplt 3
end local 4 end local 3 25: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 26 1 http2Session Lorg/glassfish/grizzly/http2/Http2Session;
0 26 2 settingsFrame Lorg/glassfish/grizzly/http2/frames/SettingsFrame;
1 25 3 i I
2 25 4 numberOfSettings I
4 23 5 setting Lorg/glassfish/grizzly/http2/frames/SettingsFrame$Setting;
7 15 6 val I
12 15 7 pushEnabled Z
Exceptions:
throws org.glassfish.grizzly.http2.Http2SessionException, org.glassfish.grizzly.http2.Http2StreamException
MethodParameters:
Name Flags
http2Session final
settingsFrame final
private void processPingFrame(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.http2.frames.Http2Frame);
descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getStreamId:()I
ifeq 2
1: new org.glassfish.grizzly.http2.Http2SessionException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
ldc "PING frame with non-zero stream ID."
invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getLength:()I
bipush 8
if_icmpeq 4
3: new org.glassfish.grizzly.http2.Http2SessionException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.FRAME_SIZE_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
ldc "PING frame with invalid length."
invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 2
checkcast org.glassfish.grizzly.http2.frames.PingFrame
astore 3
start local 3 5: aload 3
invokevirtual org.glassfish.grizzly.http2.frames.PingFrame.isAckSet:()Z
ifeq 7
6: return
7: StackMap locals: org.glassfish.grizzly.http2.frames.PingFrame
StackMap stack:
aload 3
iconst_1
invokevirtual org.glassfish.grizzly.http2.frames.PingFrame.setFlag:(I)V
8: aload 1
invokevirtual org.glassfish.grizzly.http2.Http2Session.getOutputSink:()Lorg/glassfish/grizzly/http2/Http2SessionOutputSink;
aload 3
invokevirtual org.glassfish.grizzly.http2.Http2SessionOutputSink.writeDownStream:(Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 10 1 http2Session Lorg/glassfish/grizzly/http2/Http2Session;
0 10 2 frame Lorg/glassfish/grizzly/http2/frames/Http2Frame;
5 10 3 pingFrame Lorg/glassfish/grizzly/http2/frames/PingFrame;
Exceptions:
throws org.glassfish.grizzly.http2.Http2SessionException
MethodParameters:
Name Flags
http2Session final
frame final
private void processRstStreamFrame(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.http2.frames.Http2Frame);
descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getStreamId:()I
istore 3
start local 3 1: aload 2
invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.recycle:()V
2: iload 3
ifne 4
3: new org.glassfish.grizzly.http2.Http2SessionException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
ldc "RST frame on stream ID zero."
invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
athrow
4: StackMap locals: int
StackMap stack:
aload 1
iload 3
invokestatic org.glassfish.grizzly.http2.Http2BaseFilter.ignoreFrameForStreamId:(Lorg/glassfish/grizzly/http2/Http2Session;I)Z
ifeq 6
5: return
6: StackMap locals:
StackMap stack:
aload 1
iload 3
invokevirtual org.glassfish.grizzly.http2.Http2Session.getStream:(I)Lorg/glassfish/grizzly/http2/Http2Stream;
astore 4
start local 4 7: aload 4
ifnonnull 13
8: iload 3
aload 1
getfield org.glassfish.grizzly.http2.Http2Session.lastPeerStreamId:I
if_icmple 10
9: new org.glassfish.grizzly.http2.Http2SessionException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
ldc "Received RST frame on IDLE stream."
invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
athrow
10: StackMap locals: org.glassfish.grizzly.http2.Http2Stream
StackMap stack:
getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 12
11: getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
ldc "Received RST frame on on existent stream. Ignoring frame."
invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
12: StackMap locals:
StackMap stack:
return
13: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.glassfish.grizzly.http2.Http2Stream.isIdle:()Z
ifeq 15
14: new org.glassfish.grizzly.http2.Http2SessionException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
ldc "Illegal attempt to RST IDLE stream."
invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.glassfish.grizzly.http2.Http2Stream.resetRemotely:()V
16: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 17 1 http2Session Lorg/glassfish/grizzly/http2/Http2Session;
0 17 2 frame Lorg/glassfish/grizzly/http2/frames/Http2Frame;
1 17 3 streamId I
7 17 4 stream Lorg/glassfish/grizzly/http2/Http2Stream;
Exceptions:
throws org.glassfish.grizzly.http2.Http2SessionException
MethodParameters:
Name Flags
http2Session final
frame final
private void (org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http2.frames.Http2Frame);
descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
checkcast org.glassfish.grizzly.http2.frames.HeaderBlockFragment
astore 4
start local 4 1: aload 4
invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockFragment.getStreamId:()I
ifne 3
2: new org.glassfish.grizzly.http2.Http2SessionException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
ldc "HEADERS frame received on stream 0."
invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
athrow
3: StackMap locals: org.glassfish.grizzly.http2.frames.HeaderBlockFragment
StackMap stack:
aload 3
instanceof org.glassfish.grizzly.http2.frames.HeaderBlockHead
ifeq 7
4: aload 3
checkcast org.glassfish.grizzly.http2.frames.HeaderBlockHead
astore 5
start local 5 5: aload 5
invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockHead.isPadded:()Z
ifeq 7
aload 5
invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockHead.getPadLength:()I
aload 4
invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockFragment.getLength:()I
if_icmplt 7
6: new org.glassfish.grizzly.http2.Http2SessionException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
ldc "Pad length greater than or equal to the payload length."
invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
athrow
end local 5 7: StackMap locals:
StackMap stack:
aload 3
instanceof org.glassfish.grizzly.http2.frames.HeadersFrame
ifeq 12
8: aload 3
checkcast org.glassfish.grizzly.http2.frames.HeadersFrame
astore 5
start local 5 9: aload 5
invokevirtual org.glassfish.grizzly.http2.frames.HeadersFrame.getStreamId:()I
aload 5
invokevirtual org.glassfish.grizzly.http2.frames.HeadersFrame.getStreamDependency:()I
if_icmpne 11
10: new org.glassfish.grizzly.http2.Http2SessionException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
ldc "HEADER frame dependent upon itself."
invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
athrow
11: StackMap locals: org.glassfish.grizzly.http2.frames.HeadersFrame
StackMap stack:
aload 5
invokevirtual org.glassfish.grizzly.http2.frames.HeadersFrame.normalize:()Lorg/glassfish/grizzly/http2/frames/HeadersFrame;
pop
end local 5 12: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.glassfish.grizzly.http2.Http2Session.isServer:()Z
ifeq 14
aload 3
invokevirtual org.glassfish.grizzly.http2.frames.Http2Frame.getType:()I
iconst_5
if_icmpne 14
13: new org.glassfish.grizzly.http2.Http2SessionException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
ldc "Server endpoint received PUSH_PROMISE frame."
invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.glassfish.grizzly.http2.Http2Session.getHeadersDecoder:()Lorg/glassfish/grizzly/http2/HeadersDecoder;
astore 5
start local 5 15: aload 4
invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockFragment.getCompressedHeaders:()Lorg/glassfish/grizzly/Buffer;
invokeinterface org.glassfish.grizzly.Buffer.hasRemaining:()Z
ifeq 28
16: aload 5
aload 4
invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockFragment.takePayload:()Lorg/glassfish/grizzly/Buffer;
invokevirtual org.glassfish.grizzly.http2.HeadersDecoder.append:(Lorg/glassfish/grizzly/Buffer;)Z
ifne 28
17: aload 5
aload 4
checkcast org.glassfish.grizzly.http2.frames.HeaderBlockHead
invokevirtual org.glassfish.grizzly.http2.HeadersDecoder.setFirstHeaderFrame:(Lorg/glassfish/grizzly/http2/frames/HeaderBlockHead;)V
18: aload 5
invokevirtual org.glassfish.grizzly.http2.HeadersDecoder.finishHeader:()Lorg/glassfish/grizzly/http2/frames/HeaderBlockHead;
19: astore 6
start local 6 20: aload 6
invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockHead.setTruncated:()V
21: aload 0
aload 1
aload 2
aload 6
invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.processCompleteHeader:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/frames/HeaderBlockHead;)V
22: goto 26
StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.http2.Http2Session org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.http2.frames.Http2Frame org.glassfish.grizzly.http2.frames.HeaderBlockFragment org.glassfish.grizzly.http2.HeadersDecoder org.glassfish.grizzly.http2.frames.HeaderBlockHead
StackMap stack: java.lang.Throwable
23: astore 7
24: aload 6
invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockHead.recycle:()V
25: aload 7
athrow
26: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockHead.recycle:()V
27: return
end local 6 28: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockFragment.isEndHeaders:()Z
istore 6
start local 6 29: aload 5
invokevirtual org.glassfish.grizzly.http2.HeadersDecoder.isProcessingHeaders:()Z
ifne 32
30: aload 5
aload 4
checkcast org.glassfish.grizzly.http2.frames.HeaderBlockHead
invokevirtual org.glassfish.grizzly.http2.HeadersDecoder.setFirstHeaderFrame:(Lorg/glassfish/grizzly/http2/frames/HeaderBlockHead;)V
31: goto 33
32: StackMap locals: int
StackMap stack:
aload 4
invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockFragment.recycle:()V
33: StackMap locals:
StackMap stack:
iload 6
ifne 35
34: return
35: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.glassfish.grizzly.http2.HeadersDecoder.finishHeader:()Lorg/glassfish/grizzly/http2/frames/HeaderBlockHead;
36: astore 7
start local 7 37: aload 0
aload 1
aload 2
aload 7
invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.processCompleteHeader:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/frames/HeaderBlockHead;)V
38: goto 42
StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.http2.Http2Session org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.http2.frames.Http2Frame org.glassfish.grizzly.http2.frames.HeaderBlockFragment org.glassfish.grizzly.http2.HeadersDecoder int org.glassfish.grizzly.http2.frames.HeaderBlockHead
StackMap stack: java.lang.Throwable
39: astore 8
40: aload 7
invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockHead.recycle:()V
41: aload 8
athrow
42: StackMap locals:
StackMap stack:
aload 7
invokevirtual org.glassfish.grizzly.http2.frames.HeaderBlockHead.recycle:()V
43: return
end local 7 end local 6 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 44 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 44 1 http2Session Lorg/glassfish/grizzly/http2/Http2Session;
0 44 2 context Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 44 3 frame Lorg/glassfish/grizzly/http2/frames/Http2Frame;
1 44 4 headerBlockFragment Lorg/glassfish/grizzly/http2/frames/HeaderBlockFragment;
5 7 5 blockHead Lorg/glassfish/grizzly/http2/frames/HeaderBlockHead;
9 12 5 headersFrame Lorg/glassfish/grizzly/http2/frames/HeadersFrame;
15 44 5 headersDecoder Lorg/glassfish/grizzly/http2/HeadersDecoder;
20 28 6 firstHeaderFrame Lorg/glassfish/grizzly/http2/frames/HeaderBlockHead;
29 44 6 isEOH Z
37 44 7 firstHeaderFrame Lorg/glassfish/grizzly/http2/frames/HeaderBlockHead;
Exception table:
from to target type
21 23 23 any
37 39 39 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
http2Session final
context final
frame final
protected abstract void (org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http2.frames.HeaderBlockHead);
descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/frames/HeaderBlockHead;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
http2Session final
context final
firstHeaderFrame final
public org.glassfish.grizzly.filterchain.NextAction handleWrite(org.glassfish.grizzly.filterchain.FilterChainContext);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;)Lorg/glassfish/grizzly/filterchain/NextAction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
invokestatic org.glassfish.grizzly.http2.Http2State.get:(Lorg/glassfish/grizzly/Connection;)Lorg/glassfish/grizzly/http2/Http2State;
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
invokevirtual org.glassfish.grizzly.http2.Http2State.isNeverHttp2:()Z
ifeq 3
2: StackMap locals: org.glassfish.grizzly.http2.Http2State
StackMap stack:
aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getInvokeAction:()Lorg/glassfish/grizzly/filterchain/NextAction;
areturn
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getMessage:()Ljava/lang/Object;
astore 3
start local 3 4: aload 0
aload 1
iconst_0
invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.obtainHttp2Session:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;Z)Lorg/glassfish/grizzly/http2/Http2Session;
astore 4
start local 4 5: aload 4
invokevirtual org.glassfish.grizzly.http2.Http2Session.isHttp2OutputEnabled:()Z
ifeq 11
6: aload 3
invokestatic org.glassfish.grizzly.http.HttpPacket.isHttp:(Ljava/lang/Object;)Z
ifeq 11
7: aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getMessage:()Ljava/lang/Object;
checkcast org.glassfish.grizzly.http.HttpPacket
astore 5
start local 5 8: aload 5
invokevirtual org.glassfish.grizzly.http.HttpPacket.getHttpHeader:()Lorg/glassfish/grizzly/http/HttpHeader;
astore 6
start local 6 9: aload 0
aload 1
aload 4
aload 6
aload 5
invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.processOutgoingHttpHeader:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/http/HttpPacket;)V
end local 6 end local 5 10: goto 16
11: StackMap locals: java.lang.Object org.glassfish.grizzly.http2.Http2Session
StackMap stack:
aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getTransportContext:()Lorg/glassfish/grizzly/filterchain/FilterChainContext$TransportContext;
astore 5
start local 5 12: aload 4
invokevirtual org.glassfish.grizzly.http2.Http2Session.getOutputSink:()Lorg/glassfish/grizzly/http2/Http2SessionOutputSink;
aload 3
13: aload 5
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext$TransportContext.getCompletionHandler:()Lorg/glassfish/grizzly/CompletionHandler;
14: aload 5
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext$TransportContext.getMessageCloner:()Lorg/glassfish/grizzly/asyncqueue/MessageCloner;
15: invokevirtual org.glassfish.grizzly.http2.Http2SessionOutputSink.writeDownStream:(Ljava/lang/Object;Lorg/glassfish/grizzly/CompletionHandler;Lorg/glassfish/grizzly/asyncqueue/MessageCloner;)V
end local 5 16: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getStopAction:()Lorg/glassfish/grizzly/filterchain/NextAction;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 17 1 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
1 17 2 http2State Lorg/glassfish/grizzly/http2/Http2State;
4 17 3 message Ljava/lang/Object;
5 17 4 http2Session Lorg/glassfish/grizzly/http2/Http2Session;
8 10 5 httpPacket Lorg/glassfish/grizzly/http/HttpPacket;
9 10 6 httpHeader Lorg/glassfish/grizzly/http/HttpHeader;
12 16 5 transportContext Lorg/glassfish/grizzly/filterchain/FilterChainContext$TransportContext;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ctx final
protected abstract void (org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.http.HttpHeader, org.glassfish.grizzly.http.HttpPacket);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/http/HttpPacket;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ctx final
http2Session final
httpHeader final
entireHttpPacket final
protected void prepareOutgoingRequest(org.glassfish.grizzly.http.HttpRequestPacket);
descriptor: (Lorg/glassfish/grizzly/http/HttpRequestPacket;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getContentType:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 1
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getHeaders:()Lorg/glassfish/grizzly/http/util/MimeHeaders;
getstatic org.glassfish.grizzly.http.util.Header.ContentType:Lorg/glassfish/grizzly/http/util/Header;
invokevirtual org.glassfish.grizzly.http.util.MimeHeaders.setValue:(Lorg/glassfish/grizzly/http/util/Header;)Lorg/glassfish/grizzly/http/util/DataChunk;
aload 2
invokevirtual org.glassfish.grizzly.http.util.DataChunk.setString:(Ljava/lang/String;)V
3: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getContentLength:()J
ldc -1
lcmp
ifeq 5
4: getstatic org.glassfish.grizzly.http2.Http2BaseFilter.FIXED_LENGTH_ENCODING:Lorg/glassfish/grizzly/http/TransferEncoding;
aconst_null
aload 1
aconst_null
invokeinterface org.glassfish.grizzly.http.TransferEncoding.prepareSerialize:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/http/HttpContent;)V
5: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 6 1 request Lorg/glassfish/grizzly/http/HttpRequestPacket;
1 6 2 contentType Ljava/lang/String;
MethodParameters:
Name Flags
request final
public org.glassfish.grizzly.filterchain.NextAction handleEvent(org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.filterchain.FilterChainEvent);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/filterchain/FilterChainEvent;)Lorg/glassfish/grizzly/filterchain/NextAction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
invokestatic org.glassfish.grizzly.http2.Http2State.isHttp2:(Lorg/glassfish/grizzly/Connection;)Z
ifne 2
1: aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getInvokeAction:()Lorg/glassfish/grizzly/filterchain/NextAction;
areturn
2: StackMap locals:
StackMap stack:
aload 2
invokeinterface org.glassfish.grizzly.filterchain.FilterChainEvent.type:()Ljava/lang/Object;
astore 3
start local 3 3: aload 3
getstatic org.glassfish.grizzly.filterchain.TransportFilter$FlushEvent.TYPE:Ljava/lang/Object;
if_acmpne 11
4: getstatic org.glassfish.grizzly.http2.Http2BaseFilter.$assertionsDisabled:Z
ifne 5
aload 2
instanceof org.glassfish.grizzly.filterchain.TransportFilter$FlushEvent
ifne 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: java.lang.Object
StackMap stack:
aload 1
invokestatic org.glassfish.grizzly.http.HttpContext.get:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;)Lorg/glassfish/grizzly/http/HttpContext;
astore 4
start local 4 6: aload 4
invokevirtual org.glassfish.grizzly.http.HttpContext.getContextStorage:()Lorg/glassfish/grizzly/attributes/AttributeStorage;
checkcast org.glassfish.grizzly.http2.Http2Stream
astore 5
start local 5 7: aload 2
checkcast org.glassfish.grizzly.filterchain.TransportFilter$FlushEvent
8: astore 6
start local 6 9: aload 5
getfield org.glassfish.grizzly.http2.Http2Stream.outputSink:Lorg/glassfish/grizzly/http2/StreamOutputSink;
aload 6
invokevirtual org.glassfish.grizzly.filterchain.TransportFilter$FlushEvent.getCompletionHandler:()Lorg/glassfish/grizzly/CompletionHandler;
invokeinterface org.glassfish.grizzly.http2.StreamOutputSink.flush:(Lorg/glassfish/grizzly/CompletionHandler;)V
10: aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getStopAction:()Lorg/glassfish/grizzly/filterchain/NextAction;
areturn
end local 6 end local 5 end local 4 11: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getInvokeAction:()Lorg/glassfish/grizzly/filterchain/NextAction;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 12 1 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 12 2 event Lorg/glassfish/grizzly/filterchain/FilterChainEvent;
3 12 3 type Ljava/lang/Object;
6 11 4 httpContext Lorg/glassfish/grizzly/http/HttpContext;
7 11 5 stream Lorg/glassfish/grizzly/http2/Http2Stream;
9 11 6 flushEvent Lorg/glassfish/grizzly/filterchain/TransportFilter$FlushEvent;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ctx final
event final
boolean checkIfHttp2StreamChain(org.glassfish.grizzly.filterchain.FilterChainContext);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;)Z
flags: (0x0000)
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getMessage:()Ljava/lang/Object;
astore 2
start local 2 1: aload 2
ifnonnull 6
2: aload 1
invokestatic org.glassfish.grizzly.http.HttpContext.get:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;)Lorg/glassfish/grizzly/http/HttpContext;
invokevirtual org.glassfish.grizzly.http.HttpContext.getContextStorage:()Lorg/glassfish/grizzly/attributes/AttributeStorage;
checkcast org.glassfish.grizzly.http2.Http2Stream
3: astore 3
start local 3 4: aload 1
aload 3
invokevirtual org.glassfish.grizzly.http2.Http2Stream.pollInputData:()Lorg/glassfish/grizzly/http/HttpContent;
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.setMessage:(Ljava/lang/Object;)V
5: iconst_1
ireturn
end local 3 6: StackMap locals: java.lang.Object
StackMap stack:
aload 2
checkcast org.glassfish.grizzly.http.HttpContent
astore 3
start local 3 7: aload 3
invokevirtual org.glassfish.grizzly.http.HttpContent.getHttpHeader:()Lorg/glassfish/grizzly/http/HttpHeader;
astore 4
start local 4 8: aload 4
invokestatic org.glassfish.grizzly.http2.Http2Stream.getStreamFor:(Lorg/glassfish/grizzly/http/HttpHeader;)Lorg/glassfish/grizzly/http2/Http2Stream;
ifnull 9
iconst_1
ireturn
StackMap locals: org.glassfish.grizzly.http.HttpContent org.glassfish.grizzly.http.HttpHeader
StackMap stack:
9: iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 10 1 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
1 10 2 message Ljava/lang/Object;
4 6 3 http2Stream Lorg/glassfish/grizzly/http2/Http2Stream;
7 10 3 httpContent Lorg/glassfish/grizzly/http/HttpContent;
8 10 4 httpHeader Lorg/glassfish/grizzly/http/HttpHeader;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ctx final
protected org.glassfish.grizzly.http2.Http2Session createHttp2Session(org.glassfish.grizzly.Connection, boolean);
descriptor: (Lorg/glassfish/grizzly/Connection;Z)Lorg/glassfish/grizzly/http2/Http2Session;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new org.glassfish.grizzly.http2.Http2Session
dup
aload 1
iload 2
aload 0
invokespecial org.glassfish.grizzly.http2.Http2Session.<init>:(Lorg/glassfish/grizzly/Connection;ZLorg/glassfish/grizzly/http2/Http2BaseFilter;)V
1: astore 3
start local 3 2: aload 0
getfield org.glassfish.grizzly.http2.Http2BaseFilter.configuration:Lorg/glassfish/grizzly/http2/Http2Configuration;
invokevirtual org.glassfish.grizzly.http2.Http2Configuration.getInitialWindowSize:()I
istore 4
start local 4 3: iload 4
iconst_m1
if_icmpeq 5
4: aload 3
iload 4
invokevirtual org.glassfish.grizzly.http2.Http2Session.setLocalStreamWindowSize:(I)V
5: StackMap locals: org.glassfish.grizzly.http2.Http2Session int
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http2.Http2BaseFilter.configuration:Lorg/glassfish/grizzly/http2/Http2Configuration;
invokevirtual org.glassfish.grizzly.http2.Http2Configuration.getMaxConcurrentStreams:()I
istore 5
start local 5 6: iload 5
iconst_m1
if_icmpeq 8
7: aload 3
iload 5
invokevirtual org.glassfish.grizzly.http2.Http2Session.setLocalMaxConcurrentStreams:(I)V
8: StackMap locals: int
StackMap stack:
aload 1
aload 3
invokestatic org.glassfish.grizzly.http2.Http2Session.bind:(Lorg/glassfish/grizzly/Connection;Lorg/glassfish/grizzly/http2/Http2Session;)V
9: aload 3
areturn
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 10 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 10 1 connection Lorg/glassfish/grizzly/Connection;
0 10 2 isServer Z
2 10 3 http2Session Lorg/glassfish/grizzly/http2/Http2Session;
3 10 4 initialWindowSize I
6 10 5 maxConcurrentStreams I
MethodParameters:
Name Flags
connection final
isServer final
protected void onPrefaceReceived(org.glassfish.grizzly.http2.Http2Session);
descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;)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 Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 1 1 http2Session Lorg/glassfish/grizzly/http2/Http2Session;
MethodParameters:
Name Flags
http2Session final
void sendUpstream(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.http2.Http2Stream, org.glassfish.grizzly.http.HttpContent);
descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/Http2Stream;Lorg/glassfish/grizzly/http/HttpContent;)V
flags: (0x0000)
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual org.glassfish.grizzly.http2.Http2Stream.getRequest:()Lorg/glassfish/grizzly/http/HttpRequestPacket;
astore 4
start local 4 1: aload 2
2: aload 2
aload 2
aload 4
3: invokestatic org.glassfish.grizzly.http.HttpContext.newInstance:(Lorg/glassfish/grizzly/attributes/AttributeStorage;Lorg/glassfish/grizzly/OutputSink;Lorg/glassfish/grizzly/Closeable;Lorg/glassfish/grizzly/http/HttpRequestPacket;)Lorg/glassfish/grizzly/http/HttpContext;
astore 5
start local 5 4: aload 4
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getProcessingState:()Lorg/glassfish/grizzly/http/ProcessingState;
aload 5
invokevirtual org.glassfish.grizzly.http.ProcessingState.setHttpContext:(Lorg/glassfish/grizzly/http/HttpContext;)V
5: aload 0
getfield org.glassfish.grizzly.http2.Http2BaseFilter.threadPool:Ljava/util/concurrent/ExecutorService;
ifnonnull 14
6: iconst_1
invokestatic org.glassfish.grizzly.threadpool.Threads.setService:(Z)V
7: aload 1
aload 2
aload 3
invokevirtual org.glassfish.grizzly.http2.Http2Session.sendMessageUpstream:(Lorg/glassfish/grizzly/http2/Http2Stream;Lorg/glassfish/grizzly/http/HttpPacket;)V
8: goto 12
StackMap locals: org.glassfish.grizzly.http2.Http2BaseFilter org.glassfish.grizzly.http2.Http2Session org.glassfish.grizzly.http2.Http2Stream org.glassfish.grizzly.http.HttpContent org.glassfish.grizzly.http.HttpRequestPacket org.glassfish.grizzly.http.HttpContext
StackMap stack: java.lang.Throwable
9: astore 6
10: iconst_0
invokestatic org.glassfish.grizzly.threadpool.Threads.setService:(Z)V
11: aload 6
athrow
12: StackMap locals:
StackMap stack:
iconst_0
invokestatic org.glassfish.grizzly.threadpool.Threads.setService:(Z)V
13: goto 15
14: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http2.Http2BaseFilter.threadPool:Ljava/util/concurrent/ExecutorService;
new org.glassfish.grizzly.http2.Http2BaseFilter$1
dup
aload 0
aload 1
aload 2
aload 3
invokespecial org.glassfish.grizzly.http2.Http2BaseFilter$1.<init>:(Lorg/glassfish/grizzly/http2/Http2BaseFilter;Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/Http2Stream;Lorg/glassfish/grizzly/http/HttpContent;)V
invokeinterface java.util.concurrent.ExecutorService.execute:(Ljava/lang/Runnable;)V
15: 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 16 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 16 1 http2Session Lorg/glassfish/grizzly/http2/Http2Session;
0 16 2 stream Lorg/glassfish/grizzly/http2/Http2Stream;
0 16 3 content Lorg/glassfish/grizzly/http/HttpContent;
1 16 4 request Lorg/glassfish/grizzly/http/HttpRequestPacket;
4 16 5 httpContext Lorg/glassfish/grizzly/http/HttpContext;
Exception table:
from to target type
7 9 9 any
MethodParameters:
Name Flags
http2Session final
stream final
content final
void prepareIncomingRequest(org.glassfish.grizzly.http2.Http2Stream, org.glassfish.grizzly.http2.Http2Request);
descriptor: (Lorg/glassfish/grizzly/http2/Http2Stream;Lorg/glassfish/grizzly/http2/Http2Request;)V
flags: (0x0000)
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.glassfish.grizzly.http2.Http2Request.getProcessingState:()Lorg/glassfish/grizzly/http/ProcessingState;
astore 3
start local 3 1: aload 2
invokevirtual org.glassfish.grizzly.http2.Http2Request.getResponse:()Lorg/glassfish/grizzly/http/HttpResponsePacket;
astore 4
start local 4 2: aload 2
invokevirtual org.glassfish.grizzly.http2.Http2Request.getMethod:()Lorg/glassfish/grizzly/http/Method;
astore 5
start local 5 3: aload 1
invokevirtual org.glassfish.grizzly.http2.Http2Stream.isPushStream:()Z
ifne 8
4: getstatic org.glassfish.grizzly.http.Method.GET:Lorg/glassfish/grizzly/http/Method;
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 8
5: getstatic org.glassfish.grizzly.http.Method.HEAD:Lorg/glassfish/grizzly/http/Method;
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 8
6: getstatic org.glassfish.grizzly.http.Method.CONNECT:Lorg/glassfish/grizzly/http/Method;
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 9
7: aload 2
invokevirtual org.glassfish.grizzly.http2.Http2Request.getContentLength:()J
lconst_0
lcmp
ifne 9
8: StackMap locals: org.glassfish.grizzly.http.ProcessingState org.glassfish.grizzly.http.HttpResponsePacket org.glassfish.grizzly.http.Method
StackMap stack:
aload 2
iconst_0
invokevirtual org.glassfish.grizzly.http2.Http2Request.setExpectContent:(Z)V
9: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.glassfish.grizzly.http2.Http2Request.getProtocol:()Lorg/glassfish/grizzly/http/Protocol;
pop
10: goto 16
StackMap locals:
StackMap stack: java.lang.IllegalStateException
11: pop
12: aload 3
iconst_1
invokevirtual org.glassfish.grizzly.http.ProcessingState.setError:(Z)V
13: getstatic org.glassfish.grizzly.http.util.HttpStatus.HTTP_VERSION_NOT_SUPPORTED_505:Lorg/glassfish/grizzly/http/util/HttpStatus;
aload 4
invokevirtual org.glassfish.grizzly.http.util.HttpStatus.setValues:(Lorg/glassfish/grizzly/http/HttpResponsePacket;)V
14: aload 2
getstatic org.glassfish.grizzly.http.Protocol.HTTP_1_1:Lorg/glassfish/grizzly/http/Protocol;
invokevirtual org.glassfish.grizzly.http2.Http2Request.setProtocol:(Lorg/glassfish/grizzly/http/Protocol;)V
15: return
16: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.glassfish.grizzly.http2.Http2Request.getHeaders:()Lorg/glassfish/grizzly/http/util/MimeHeaders;
astore 6
start local 6 17: aload 6
getstatic org.glassfish.grizzly.http.util.Header.Host:Lorg/glassfish/grizzly/http/util/Header;
invokevirtual org.glassfish.grizzly.http.util.MimeHeaders.getValue:(Lorg/glassfish/grizzly/http/util/Header;)Lorg/glassfish/grizzly/http/util/DataChunk;
astore 7
start local 7 18: aload 7
ifnull 19
aload 7
invokevirtual org.glassfish.grizzly.http.util.DataChunk.getLength:()I
ifne 20
19: StackMap locals: org.glassfish.grizzly.http.util.MimeHeaders org.glassfish.grizzly.http.util.DataChunk
StackMap stack:
aload 3
iconst_1
invokevirtual org.glassfish.grizzly.http.ProcessingState.setError:(Z)V
20: StackMap locals:
StackMap stack:
return
end local 7 end local 6 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 21 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 21 1 stream Lorg/glassfish/grizzly/http2/Http2Stream;
0 21 2 request Lorg/glassfish/grizzly/http2/Http2Request;
1 21 3 state Lorg/glassfish/grizzly/http/ProcessingState;
2 21 4 response Lorg/glassfish/grizzly/http/HttpResponsePacket;
3 21 5 method Lorg/glassfish/grizzly/http/Method;
17 21 6 headers Lorg/glassfish/grizzly/http/util/MimeHeaders;
18 21 7 hostDC Lorg/glassfish/grizzly/http/util/DataChunk;
Exception table:
from to target type
9 10 11 Class java.lang.IllegalStateException
MethodParameters:
Name Flags
stream final
request final
void sendRstStream(org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http2.Http2Session, int, org.glassfish.grizzly.http2.frames.ErrorCode);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/Http2Session;ILorg/glassfish/grizzly/http2/frames/ErrorCode;)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: invokestatic org.glassfish.grizzly.http2.frames.RstStreamFrame.builder:()Lorg/glassfish/grizzly/http2/frames/RstStreamFrame$RstStreamFrameBuilder;
1: aload 4
invokevirtual org.glassfish.grizzly.http2.frames.RstStreamFrame$RstStreamFrameBuilder.errorCode:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;)Lorg/glassfish/grizzly/http2/frames/RstStreamFrame$RstStreamFrameBuilder;
2: iload 3
invokevirtual org.glassfish.grizzly.http2.frames.RstStreamFrame$RstStreamFrameBuilder.streamId:(I)Lorg/glassfish/grizzly/http2/frames/Http2Frame$Http2FrameBuilder;
checkcast org.glassfish.grizzly.http2.frames.RstStreamFrame$RstStreamFrameBuilder
3: invokevirtual org.glassfish.grizzly.http2.frames.RstStreamFrame$RstStreamFrameBuilder.build:()Lorg/glassfish/grizzly/http2/frames/RstStreamFrame;
4: astore 5
start local 5 5: aload 1
aload 0
getfield org.glassfish.grizzly.http2.Http2BaseFilter.frameCodec:Lorg/glassfish/grizzly/http2/Http2FrameCodec;
aload 2
aload 5
invokevirtual org.glassfish.grizzly.http2.Http2FrameCodec.serializeAndRecycle:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)Lorg/glassfish/grizzly/Buffer;
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.write:(Ljava/lang/Object;)V
6: 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 7 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 7 1 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 7 2 http2Session Lorg/glassfish/grizzly/http2/Http2Session;
0 7 3 streamId I
0 7 4 errorCode Lorg/glassfish/grizzly/http2/frames/ErrorCode;
5 7 5 rstStreamFrame Lorg/glassfish/grizzly/http2/frames/RstStreamFrame;
MethodParameters:
Name Flags
ctx final
http2Session final
streamId final
errorCode final
protected final org.glassfish.grizzly.http2.Http2Session obtainHttp2Session(org.glassfish.grizzly.filterchain.FilterChainContext, boolean);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Z)Lorg/glassfish/grizzly/http2/Http2Session;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aconst_null
aload 1
iload 2
invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.obtainHttp2Session:(Lorg/glassfish/grizzly/http2/Http2State;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Z)Lorg/glassfish/grizzly/http2/Http2Session;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 1 1 context Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 1 2 isUpStream Z
MethodParameters:
Name Flags
context final
isUpStream final
final org.glassfish.grizzly.http2.Http2Session obtainHttp2Session(org.glassfish.grizzly.http2.Http2State, org.glassfish.grizzly.filterchain.FilterChainContext, boolean);
descriptor: (Lorg/glassfish/grizzly/http2/Http2State;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Z)Lorg/glassfish/grizzly/http2/Http2Session;
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
astore 4
start local 4 1: aload 1
ifnull 3
2: aload 1
invokevirtual org.glassfish.grizzly.http2.Http2State.getHttp2Session:()Lorg/glassfish/grizzly/http2/Http2Session;
goto 4
3: StackMap locals: org.glassfish.grizzly.Connection
StackMap stack:
aconst_null
4: StackMap locals:
StackMap stack: org.glassfish.grizzly.http2.Http2Session
astore 5
start local 5 5: aload 5
ifnonnull 9
6: aload 4
invokestatic org.glassfish.grizzly.http2.Http2Session.get:(Lorg/glassfish/grizzly/Connection;)Lorg/glassfish/grizzly/http2/Http2Session;
astore 5
7: aload 5
ifnonnull 9
8: aload 0
aload 4
iconst_1
invokevirtual org.glassfish.grizzly.http2.Http2BaseFilter.createHttp2Session:(Lorg/glassfish/grizzly/Connection;Z)Lorg/glassfish/grizzly/http2/Http2Session;
astore 5
9: StackMap locals: org.glassfish.grizzly.http2.Http2Session
StackMap stack:
aload 5
aload 2
iload 3
invokevirtual org.glassfish.grizzly.http2.Http2Session.setupFilterChains:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;Z)V
10: aload 5
areturn
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 11 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 11 1 http2State Lorg/glassfish/grizzly/http2/Http2State;
0 11 2 context Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 11 3 isUpStream Z
1 11 4 connection Lorg/glassfish/grizzly/Connection;
5 11 5 http2Session Lorg/glassfish/grizzly/http2/Http2Session;
MethodParameters:
Name Flags
http2State final
context final
isUpStream final
private void sendSettingsAck(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.filterchain.FilterChainContext);
descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.glassfish.grizzly.http2.frames.SettingsFrame.builder:()Lorg/glassfish/grizzly/http2/frames/SettingsFrame$SettingsFrameBuilder;
1: invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame$SettingsFrameBuilder.setAck:()Lorg/glassfish/grizzly/http2/frames/SettingsFrame$SettingsFrameBuilder;
2: invokevirtual org.glassfish.grizzly.http2.frames.SettingsFrame$SettingsFrameBuilder.build:()Lorg/glassfish/grizzly/http2/frames/SettingsFrame;
3: astore 3
start local 3 4: aload 2
5: aload 0
getfield org.glassfish.grizzly.http2.Http2BaseFilter.frameCodec:Lorg/glassfish/grizzly/http2/Http2FrameCodec;
6: aload 1
aload 3
7: invokevirtual org.glassfish.grizzly.http2.Http2FrameCodec.serializeAndRecycle:(Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)Lorg/glassfish/grizzly/Buffer;
8: invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.write:(Ljava/lang/Object;)V
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/glassfish/grizzly/http2/Http2BaseFilter;
0 10 1 http2Session Lorg/glassfish/grizzly/http2/Http2Session;
0 10 2 context Lorg/glassfish/grizzly/filterchain/FilterChainContext;
4 10 3 frame Lorg/glassfish/grizzly/http2/frames/SettingsFrame;
MethodParameters:
Name Flags
http2Session final
context final
private static void processDataFrame(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http2.frames.Http2Frame);
descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http2/frames/Http2Frame;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
checkcast org.glassfish.grizzly.http2.frames.DataFrame
astore 3
start local 3 1: aload 3
invokevirtual org.glassfish.grizzly.http2.frames.DataFrame.isPadded:()Z
ifeq 3
aload 3
invokevirtual org.glassfish.grizzly.http2.frames.DataFrame.getPadLength:()I
aload 3
invokevirtual org.glassfish.grizzly.http2.frames.DataFrame.getLength:()I
if_icmplt 3
2: new org.glassfish.grizzly.http2.Http2SessionException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
ldc "Pad length greater than or equal to the payload length."
invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
athrow
3: StackMap locals: org.glassfish.grizzly.http2.frames.DataFrame
StackMap stack:
aload 3
invokevirtual org.glassfish.grizzly.http2.frames.DataFrame.normalize:()Lorg/glassfish/grizzly/http2/frames/DataFrame;
pop
4: aload 3
invokevirtual org.glassfish.grizzly.http2.frames.DataFrame.getData:()Lorg/glassfish/grizzly/Buffer;
astore 4
start local 4 5: aload 3
invokevirtual org.glassfish.grizzly.http2.frames.DataFrame.getStreamId:()I
istore 5
start local 5 6: aload 3
iconst_1
invokevirtual org.glassfish.grizzly.http2.frames.DataFrame.isFlagSet:(I)Z
istore 6
start local 6 7: goto 11
end local 6 end local 5 end local 4 StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 7
9: aload 3
invokevirtual org.glassfish.grizzly.http2.frames.DataFrame.recycle:()V
10: aload 7
athrow
start local 4 start local 5 start local 6 11: StackMap locals: org.glassfish.grizzly.Buffer int int
StackMap stack:
aload 3
invokevirtual org.glassfish.grizzly.http2.frames.DataFrame.recycle:()V
12: aload 0
aload 4
invokeinterface org.glassfish.grizzly.Buffer.remaining:()I
invokevirtual org.glassfish.grizzly.http2.Http2Session.ackConsumedData:(I)V
13: aload 0
iload 5
invokestatic org.glassfish.grizzly.http2.Http2BaseFilter.ignoreFrameForStreamId:(Lorg/glassfish/grizzly/http2/Http2Session;I)Z
ifeq 15
14: return
15: StackMap locals:
StackMap stack:
aload 0
iload 5
invokevirtual org.glassfish.grizzly.http2.Http2Session.getStream:(I)Lorg/glassfish/grizzly/http2/Http2Stream;
astore 7
start local 7 16: aload 7
ifnonnull 18
iload 5
aload 0
getfield org.glassfish.grizzly.http2.Http2Session.lastPeerStreamId:I
if_icmple 18
17: new org.glassfish.grizzly.http2.Http2SessionException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
ldc "Received DATA frame on IDLE stream."
invokespecial org.glassfish.grizzly.http2.Http2SessionException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Ljava/lang/String;)V
athrow
18: StackMap locals: org.glassfish.grizzly.http2.Http2Stream
StackMap stack:
aload 7
ifnonnull 24
19: getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 23
20: getstatic org.glassfish.grizzly.http2.Http2BaseFilter.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
ldc "Data frame received for non-existent stream: connection={0}, frame={1}, stream={2}"
21: iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getConnection:()Lorg/glassfish/grizzly/Connection;
aastore
dup
iconst_1
aload 3
aastore
dup
iconst_2
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
22: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
23: StackMap locals:
StackMap stack:
new org.glassfish.grizzly.http2.Http2StreamException
dup
iload 5
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.STREAM_CLOSED:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
invokespecial org.glassfish.grizzly.http2.Http2StreamException.<init>:(ILorg/glassfish/grizzly/http2/frames/ErrorCode;)V
athrow
24: StackMap locals:
StackMap stack:
aload 7
iload 6
invokevirtual org.glassfish.grizzly.http2.Http2Stream.assertCanAcceptData:(Z)Ljava/io/IOException;
astore 8
start local 8 25: aload 8
ifnull 27
26: aload 8
athrow
27: StackMap locals: java.io.IOException
StackMap stack:
aload 7
aload 4
iload 6
invokevirtual org.glassfish.grizzly.http2.Http2Stream.offerInputData:(Lorg/glassfish/grizzly/Buffer;Z)V
28: return
end local 8 end local 7 end local 6 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 29 0 http2Session Lorg/glassfish/grizzly/http2/Http2Session;
0 29 1 context Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 29 2 frame Lorg/glassfish/grizzly/http2/frames/Http2Frame;
1 29 3 dataFrame Lorg/glassfish/grizzly/http2/frames/DataFrame;
5 8 4 data Lorg/glassfish/grizzly/Buffer;
11 29 4 data Lorg/glassfish/grizzly/Buffer;
6 8 5 streamId I
11 29 5 streamId I
7 8 6 fin Z
11 29 6 fin Z
16 29 7 stream Lorg/glassfish/grizzly/http2/Http2Stream;
25 29 8 error Ljava/io/IOException;
Exception table:
from to target type
1 8 8 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
http2Session final
context final
frame final
protected static boolean ignoreFrameForStreamId(org.glassfish.grizzly.http2.Http2Session, int);
descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;I)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.glassfish.grizzly.http2.Http2Session.isGoingAway:()Z
ifeq 1
iload 1
aload 0
invokevirtual org.glassfish.grizzly.http2.Http2Session.getGoingAwayLastStreamId:()I
if_icmple 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 session Lorg/glassfish/grizzly/http2/Http2Session;
0 2 1 streamId I
MethodParameters:
Name Flags
session final
streamId final
}
SourceFile: "Http2BaseFilter.java"
NestMembers:
org.glassfish.grizzly.http2.Http2BaseFilter$1
InnerClasses:
public final TransportContext = org.glassfish.grizzly.filterchain.FilterChainContext$TransportContext of org.glassfish.grizzly.filterchain.FilterChainContext
public final FlushEvent = org.glassfish.grizzly.filterchain.TransportFilter$FlushEvent of org.glassfish.grizzly.filterchain.TransportFilter
org.glassfish.grizzly.http2.Http2BaseFilter$1
final Context = org.glassfish.grizzly.http2.NetLogger$Context of org.glassfish.grizzly.http2.NetLogger
public RstStreamFrameBuilder = org.glassfish.grizzly.http2.frames.RstStreamFrame$RstStreamFrameBuilder of org.glassfish.grizzly.http2.frames.RstStreamFrame
public final Setting = org.glassfish.grizzly.http2.frames.SettingsFrame$Setting of org.glassfish.grizzly.http2.frames.SettingsFrame
public SettingsFrameBuilder = org.glassfish.grizzly.http2.frames.SettingsFrame$SettingsFrameBuilder of org.glassfish.grizzly.http2.frames.SettingsFrame
protected abstract Http2FrameBuilder = org.glassfish.grizzly.http2.frames.Http2Frame$Http2FrameBuilder of org.glassfish.grizzly.http2.frames.Http2Frame