public class org.glassfish.grizzly.http.Http2Session extends java.lang.Object
{
private static final java.util.logging.Logger LOGGER;
private final boolean isServer;
private final org.glassfish.grizzly.Connection connection;
org.glassfish.grizzly.http.Http2State http2State;
private org.glassfish.grizzly.http.HeadersDecoder headersDecoder;
private org.glassfish.grizzly.http.HeadersEncoder headersEncoder;
private final java.util.concurrent.locks.ReentrantLock deflaterLock;
int lastPeerStreamId;
private int lastLocalStreamId;
private boolean pushEnabled;
private final java.util.concurrent.locks.ReentrantLock newClientStreamLock;
private volatile org.glassfish.grizzly.filterchain.FilterChain http2StreamChain;
private volatile org.glassfish.grizzly.filterchain.FilterChain htt2SessionChain;
private final java.util.concurrent.atomic.AtomicInteger concurrentStreamsCount;
private final java.util.TreeMap streamsMap;
final java.util.List streamsToFlushInput;
protected final java.util.List tmpHeaderFramesList;
private final java.lang.Object sessionLock;
private volatile org.glassfish.grizzly.CloseType closeFlag;
private int peerStreamWindowSize;
private volatile int localStreamWindowSize;
private volatile int localConnectionWindowSize;
private volatile int maxHeaderListSize;
private volatile int localMaxConcurrentStreams;
private int peerMaxConcurrentStreams;
private final org.glassfish.grizzly.http.Http2SessionOutputSink outputSink;
private final org.glassfish.grizzly.http.Http2Configuration http2Configuration;
private volatile int streamsHighWaterMark;
private int checkCount;
private int goingAwayLastStreamId;
private org.glassfish.grizzly.impl.FutureImpl sessionClosed;
private volatile boolean isPrefaceReceived;
private volatile boolean isPrefaceSent;
private final org.glassfish.grizzly.utils.Holder addressHolder;
final org.glassfish.grizzly.http.Http2BaseFilter handlerFilter;
private final int localMaxFramePayloadSize;
private int peerMaxFramePayloadSize;
private boolean isFirstInFrame;
private volatile org.glassfish.grizzly.ssl.SSLBaseFilter sslFilter;
private final java.util.concurrent.atomic.AtomicInteger unackedReadBytes;
static final boolean $assertionsDisabled;
public static org.glassfish.grizzly.http.Http2Session get(org.glassfish.grizzly.Connection)
{
org.glassfish.grizzly.Connection v;
org.glassfish.grizzly.http.Http2State v;
org.glassfish.grizzly.http.Http2Session v;
v := @parameter: org.glassfish.grizzly.Connection;
v = staticinvoke <org.glassfish.grizzly.http.Http2State: org.glassfish.grizzly.http.Http2State get(org.glassfish.grizzly.Connection)>(v);
if v == null goto label;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2State: org.glassfish.grizzly.http.Http2Session getHttp2Session()>();
goto label;
label:
v = null;
label:
return v;
}
static void bind(org.glassfish.grizzly.Connection, org.glassfish.grizzly.http.Http2Session)
{
org.glassfish.grizzly.Connection v;
org.glassfish.grizzly.http.Http2State v;
org.glassfish.grizzly.http.Http2Session v;
v := @parameter: org.glassfish.grizzly.Connection;
v := @parameter: org.glassfish.grizzly.http.Http2Session;
v = staticinvoke <org.glassfish.grizzly.http.Http2State: org.glassfish.grizzly.http.Http2State obtain(org.glassfish.grizzly.Connection)>(v);
virtualinvoke v.<org.glassfish.grizzly.http.Http2State: void setHttp2Session(org.glassfish.grizzly.http.Http2Session)>(v);
return;
}
public void <init>(org.glassfish.grizzly.Connection, boolean, org.glassfish.grizzly.http.Http2BaseFilter)
{
org.glassfish.grizzly.utils.NullaryFunction v;
java.util.concurrent.atomic.AtomicInteger v, v;
boolean v;
org.glassfish.grizzly.http.Http2Session$ConnectionCloseListener v;
org.glassfish.grizzly.http.Http2SessionOutputSink v;
org.glassfish.grizzly.Connection v;
org.glassfish.grizzly.http.Http2Configuration v, v, v, v, v, v;
java.util.ArrayList v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.glassfish.grizzly.utils.Holder$LazyHolder v;
java.util.concurrent.locks.ReentrantLock v, v;
org.glassfish.grizzly.Processor v;
org.glassfish.grizzly.http.Http2Session v;
org.glassfish.grizzly.http.Http2BaseFilter v;
java.util.TreeMap v;
java.lang.Object v, v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: org.glassfish.grizzly.Connection;
v := @parameter: boolean;
v := @parameter: org.glassfish.grizzly.http.Http2BaseFilter;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.locks.ReentrantLock;
specialinvoke v.<java.util.concurrent.locks.ReentrantLock: void <init>()>();
v.<org.glassfish.grizzly.http.Http2Session: java.util.concurrent.locks.ReentrantLock deflaterLock> = v;
v.<org.glassfish.grizzly.http.Http2Session: boolean pushEnabled> = 1;
v = new java.util.concurrent.locks.ReentrantLock;
specialinvoke v.<java.util.concurrent.locks.ReentrantLock: void <init>()>();
v.<org.glassfish.grizzly.http.Http2Session: java.util.concurrent.locks.ReentrantLock newClientStreamLock> = v;
v = new java.util.concurrent.atomic.AtomicInteger;
specialinvoke v.<java.util.concurrent.atomic.AtomicInteger: void <init>(int)>(0);
v.<org.glassfish.grizzly.http.Http2Session: java.util.concurrent.atomic.AtomicInteger concurrentStreamsCount> = v;
v = new java.util.TreeMap;
specialinvoke v.<java.util.TreeMap: void <init>()>();
v.<org.glassfish.grizzly.http.Http2Session: java.util.TreeMap streamsMap> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.glassfish.grizzly.http.Http2Session: java.util.List streamsToFlushInput> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(int)>(2);
v.<org.glassfish.grizzly.http.Http2Session: java.util.List tmpHeaderFramesList> = v;
v = new java.lang.Object;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.glassfish.grizzly.http.Http2Session: java.lang.Object sessionLock> = v;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: int getDefaultStreamWindowSize()>();
v.<org.glassfish.grizzly.http.Http2Session: int peerStreamWindowSize> = v;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: int getDefaultStreamWindowSize()>();
v.<org.glassfish.grizzly.http.Http2Session: int localStreamWindowSize> = v;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: int getDefaultConnectionWindowSize()>();
v.<org.glassfish.grizzly.http.Http2Session: int localConnectionWindowSize> = v;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: int getDefaultMaxConcurrentStreams()>();
v.<org.glassfish.grizzly.http.Http2Session: int localMaxConcurrentStreams> = v;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: int getDefaultMaxConcurrentStreams()>();
v.<org.glassfish.grizzly.http.Http2Session: int peerMaxConcurrentStreams> = v;
v.<org.glassfish.grizzly.http.Http2Session: int goingAwayLastStreamId> = -2147483648;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: int getSpecDefaultFramePayloadSize()>();
v.<org.glassfish.grizzly.http.Http2Session: int peerMaxFramePayloadSize> = v;
v.<org.glassfish.grizzly.http.Http2Session: boolean isFirstInFrame> = 1;
v = new java.util.concurrent.atomic.AtomicInteger;
specialinvoke v.<java.util.concurrent.atomic.AtomicInteger: void <init>()>();
v.<org.glassfish.grizzly.http.Http2Session: java.util.concurrent.atomic.AtomicInteger unackedReadBytes> = v;
v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.Connection connection> = v;
v = interfaceinvoke v.<org.glassfish.grizzly.Connection: org.glassfish.grizzly.Processor getProcessor()>();
v = interfaceinvoke v.<org.glassfish.grizzly.filterchain.FilterChain: int indexOfType(java.lang.Class)>(class "Lorg/glassfish/grizzly/ssl/SSLBaseFilter;");
v = (int) -1;
if v == v goto label;
v = interfaceinvoke v.<org.glassfish.grizzly.filterchain.FilterChain: java.lang.Object get(int)>(v);
v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.ssl.SSLBaseFilter sslFilter> = v;
label:
v.<org.glassfish.grizzly.http.Http2Session: boolean isServer> = v;
v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2BaseFilter handlerFilter> = v;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2BaseFilter: org.glassfish.grizzly.http.Http2Configuration getConfiguration()>();
v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2Configuration http2Configuration> = v;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2Configuration http2Configuration>;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Configuration: int getMaxConcurrentStreams()>();
v = (int) -1;
if v == v goto label;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2Configuration http2Configuration>;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Configuration: int getMaxConcurrentStreams()>();
virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: void setLocalMaxConcurrentStreams(int)>(v);
goto label;
label:
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: int getDefaultMaxConcurrentStreams()>();
virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: void setLocalMaxConcurrentStreams(int)>(v);
label:
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2Configuration http2Configuration>;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Configuration: int getInitialWindowSize()>();
v = (int) -1;
if v == v goto label;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2Configuration http2Configuration>;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Configuration: int getInitialWindowSize()>();
v.<org.glassfish.grizzly.http.Http2Session: int localStreamWindowSize> = v;
label:
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2BaseFilter: int getLocalMaxFramePayloadSize()>();
if v <= 0 goto label;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2BaseFilter: int getLocalMaxFramePayloadSize()>();
goto label;
label:
v = (int) -1;
v = v;
label:
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: int getSpecMinFramePayloadSize()>();
if v < v goto label;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: int getSpecMaxFramePayloadSize()>();
if v > v goto label;
v = v;
goto label;
label:
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: int getSpecDefaultFramePayloadSize()>();
label:
v.<org.glassfish.grizzly.http.Http2Session: int localMaxFramePayloadSize> = v;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2BaseFilter: org.glassfish.grizzly.http.Http2Configuration getConfiguration()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Configuration: int getMaxHeaderListSize()>();
v.<org.glassfish.grizzly.http.Http2Session: int maxHeaderListSize> = v;
if v == 0 goto label;
v.<org.glassfish.grizzly.http.Http2Session: int lastLocalStreamId> = 0;
v = (int) -1;
v.<org.glassfish.grizzly.http.Http2Session: int lastPeerStreamId> = v;
goto label;
label:
v = (int) -1;
v.<org.glassfish.grizzly.http.Http2Session: int lastLocalStreamId> = v;
v.<org.glassfish.grizzly.http.Http2Session: int lastPeerStreamId> = 0;
label:
v = staticinvoke <org.glassfish.grizzly.http.Http2Session$lambda_new_0__164: org.glassfish.grizzly.utils.NullaryFunction bootstrap$(org.glassfish.grizzly.Connection)>(v);
v = staticinvoke <org.glassfish.grizzly.utils.Holder: org.glassfish.grizzly.utils.Holder$LazyHolder lazyHolder(org.glassfish.grizzly.utils.NullaryFunction)>(v);
v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.utils.Holder addressHolder> = v;
v = new org.glassfish.grizzly.http.Http2Session$ConnectionCloseListener;
specialinvoke v.<org.glassfish.grizzly.http.Http2Session$ConnectionCloseListener: void <init>(org.glassfish.grizzly.http.Http2Session)>(v);
interfaceinvoke v.<org.glassfish.grizzly.Connection: void addCloseListener(org.glassfish.grizzly.CloseListener)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2SessionOutputSink newOutputSink()>();
v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2SessionOutputSink outputSink> = v;
staticinvoke <org.glassfish.grizzly.http.NetLogger: void logOpen(org.glassfish.grizzly.http.Http2Session)>(v);
return;
}
protected org.glassfish.grizzly.http.Http2SessionOutputSink newOutputSink()
{
org.glassfish.grizzly.http.Http2Session v;
org.glassfish.grizzly.http.Http2SessionOutputSink v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = new org.glassfish.grizzly.http.Http2SessionOutputSink;
specialinvoke v.<org.glassfish.grizzly.http.Http2SessionOutputSink: void <init>(org.glassfish.grizzly.http.Http2Session)>(v);
return v;
}
protected int getSpecDefaultFramePayloadSize()
{
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
return 16384;
}
protected int getSpecMinFramePayloadSize()
{
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
return 16384;
}
protected int getSpecMaxFramePayloadSize()
{
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
return 16777215;
}
public int getDefaultConnectionWindowSize()
{
int v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = (int) 65535;
return v;
}
public int getDefaultStreamWindowSize()
{
int v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = (int) 65535;
return v;
}
public int getDefaultMaxConcurrentStreams()
{
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
return 100;
}
public int getMaxHeaderListSize()
{
int v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: int maxHeaderListSize>;
return v;
}
public void setMaxHeaderListSize(int)
{
int v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: int;
v.<org.glassfish.grizzly.http.Http2Session: int maxHeaderListSize> = v;
return;
}
protected int getFrameSize(org.glassfish.grizzly.Buffer)
{
org.glassfish.grizzly.Buffer v;
org.glassfish.grizzly.http.Http2Session v;
int v, v, v, v, v, v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: org.glassfish.grizzly.Buffer;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int remaining()>();
if v >= 4 goto label;
v = (int) -1;
v = v;
goto label;
label:
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int position()>();
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int getInt(int)>(v);
v = v >>> 8;
v = v + 9;
label:
return v;
}
public org.glassfish.grizzly.http.frames.Http2Frame parseHttp2FrameHeader(org.glassfish.grizzly.Buffer) throws org.glassfish.grizzly.http.Http2SessionException
{
org.glassfish.grizzly.http.frames.ContinuationFrame v;
org.glassfish.grizzly.http.frames.ErrorCode v;
org.glassfish.grizzly.http.frames.DataFrame v;
org.glassfish.grizzly.http.frames.Http2Frame v, v, v, v, v;
org.glassfish.grizzly.http.frames.HeadersFrame v;
org.glassfish.grizzly.http.frames.PushPromiseFrame v;
short v;
byte v;
int v, v, v, v, v, v;
org.glassfish.grizzly.http.frames.UnknownFrame v;
org.glassfish.grizzly.http.Http2SessionException v;
org.glassfish.grizzly.Buffer v;
org.glassfish.grizzly.http.frames.SettingsFrame v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: org.glassfish.grizzly.Buffer;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: int getFrameSize(org.glassfish.grizzly.Buffer)>(v);
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int remaining()>();
if v == v goto label;
v = new org.glassfish.grizzly.http.Http2SessionException;
v = <org.glassfish.grizzly.http.frames.ErrorCode: org.glassfish.grizzly.http.frames.ErrorCode FRAME_SIZE_ERROR>;
specialinvoke v.<org.glassfish.grizzly.http.Http2SessionException: void <init>(org.glassfish.grizzly.http.frames.ErrorCode)>(v);
throw v;
label:
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int getInt()>();
v = v & 255;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: byte get()>();
v = v & 255;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int getInt()>();
v = v & 2147483647;
tableswitch(v)
{
case 0: goto label;
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
default: goto label;
};
label:
v = staticinvoke <org.glassfish.grizzly.http.frames.DataFrame: org.glassfish.grizzly.http.frames.DataFrame fromBuffer(int,int,org.glassfish.grizzly.Buffer)>(v, v, v);
return v;
label:
v = staticinvoke <org.glassfish.grizzly.http.frames.HeadersFrame: org.glassfish.grizzly.http.frames.HeadersFrame fromBuffer(int,int,org.glassfish.grizzly.Buffer)>(v, v, v);
return v;
label:
v = staticinvoke <org.glassfish.grizzly.http.frames.PriorityFrame: org.glassfish.grizzly.http.frames.Http2Frame fromBuffer(int,org.glassfish.grizzly.Buffer)>(v, v);
return v;
label:
v = staticinvoke <org.glassfish.grizzly.http.frames.RstStreamFrame: org.glassfish.grizzly.http.frames.Http2Frame fromBuffer(int,int,org.glassfish.grizzly.Buffer)>(v, v, v);
return v;
label:
v = staticinvoke <org.glassfish.grizzly.http.frames.SettingsFrame: org.glassfish.grizzly.http.frames.SettingsFrame fromBuffer(int,int,org.glassfish.grizzly.Buffer)>(v, v, v);
return v;
label:
v = staticinvoke <org.glassfish.grizzly.http.frames.PushPromiseFrame: org.glassfish.grizzly.http.frames.PushPromiseFrame fromBuffer(int,int,org.glassfish.grizzly.Buffer)>(v, v, v);
return v;
label:
v = staticinvoke <org.glassfish.grizzly.http.frames.PingFrame: org.glassfish.grizzly.http.frames.Http2Frame fromBuffer(int,int,org.glassfish.grizzly.Buffer)>(v, v, v);
return v;
label:
v = staticinvoke <org.glassfish.grizzly.http.frames.GoAwayFrame: org.glassfish.grizzly.http.frames.Http2Frame fromBuffer(int,org.glassfish.grizzly.Buffer)>(v, v);
return v;
label:
v = staticinvoke <org.glassfish.grizzly.http.frames.WindowUpdateFrame: org.glassfish.grizzly.http.frames.Http2Frame fromBuffer(int,int,org.glassfish.grizzly.Buffer)>(v, v, v);
return v;
label:
v = staticinvoke <org.glassfish.grizzly.http.frames.ContinuationFrame: org.glassfish.grizzly.http.frames.ContinuationFrame fromBuffer(int,int,org.glassfish.grizzly.Buffer)>(v, v, v);
return v;
label:
v = new org.glassfish.grizzly.http.frames.UnknownFrame;
specialinvoke v.<org.glassfish.grizzly.http.frames.UnknownFrame: void <init>(int,int)>(v, v);
return v;
}
protected org.glassfish.grizzly.http.Http2Stream newStream(org.glassfish.grizzly.http.HttpRequestPacket, int, int, boolean, int)
{
org.glassfish.grizzly.http.HttpRequestPacket v;
int v, v, v;
org.glassfish.grizzly.http.Http2Stream v;
org.glassfish.grizzly.http.Http2Session v;
boolean v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: org.glassfish.grizzly.http.HttpRequestPacket;
v := @parameter: int;
v := @parameter: int;
v := @parameter: boolean;
v := @parameter: int;
v = new org.glassfish.grizzly.http.Http2Stream;
specialinvoke v.<org.glassfish.grizzly.http.Http2Stream: void <init>(org.glassfish.grizzly.http.Http2Session,org.glassfish.grizzly.http.HttpRequestPacket,int,int,boolean,int)>(v, v, v, v, v, v);
return v;
}
protected org.glassfish.grizzly.http.Http2Stream newUpgradeStream(org.glassfish.grizzly.http.HttpRequestPacket, int)
{
org.glassfish.grizzly.http.HttpRequestPacket v;
int v;
org.glassfish.grizzly.http.Http2Stream v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: org.glassfish.grizzly.http.HttpRequestPacket;
v := @parameter: int;
v = new org.glassfish.grizzly.http.Http2Stream;
specialinvoke v.<org.glassfish.grizzly.http.Http2Stream: void <init>(org.glassfish.grizzly.http.Http2Session,org.glassfish.grizzly.http.HttpRequestPacket,int)>(v, v, v);
return v;
}
protected void checkFrameSequenceSemantics(org.glassfish.grizzly.http.frames.Http2Frame) throws org.glassfish.grizzly.http.Http2SessionException
{
org.glassfish.grizzly.http.frames.ErrorCode v, v, v;
org.glassfish.grizzly.http.frames.Http2Frame v;
java.util.logging.Level v, v, v, v, v, v;
int v;
boolean v, v, v, v, v;
org.glassfish.grizzly.http.Http2SessionException v, v, v;
org.glassfish.grizzly.http.Http2State v;
java.util.logging.Logger v, v, v, v, v, v;
org.glassfish.grizzly.http.Http2Session v;
org.glassfish.grizzly.http.Http2BaseFilter v;
org.glassfish.grizzly.Connection v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: org.glassfish.grizzly.http.frames.Http2Frame;
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.Http2Frame: int getType()>();
v = v.<org.glassfish.grizzly.http.Http2Session: boolean isFirstInFrame>;
if v == 0 goto label;
if v == 4 goto label;
v = <org.glassfish.grizzly.http.Http2Session: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.glassfish.grizzly.http.Http2Session: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object)>(v, "First in frame should be a SettingsFrame (preface)", v);
label:
v = new org.glassfish.grizzly.http.Http2SessionException;
v = <org.glassfish.grizzly.http.frames.ErrorCode: org.glassfish.grizzly.http.frames.ErrorCode PROTOCOL_ERROR>;
specialinvoke v.<org.glassfish.grizzly.http.Http2SessionException: void <init>(org.glassfish.grizzly.http.frames.ErrorCode)>(v);
throw v;
label:
v.<org.glassfish.grizzly.http.Http2Session: boolean isPrefaceReceived> = 1;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2BaseFilter handlerFilter>;
virtualinvoke v.<org.glassfish.grizzly.http.Http2BaseFilter: void onPrefaceReceived(org.glassfish.grizzly.http.Http2Session)>(v);
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.Connection connection>;
v = staticinvoke <org.glassfish.grizzly.http.Http2State: org.glassfish.grizzly.http.Http2State get(org.glassfish.grizzly.Connection)>(v);
virtualinvoke v.<org.glassfish.grizzly.http.Http2State: void setOpen()>();
v.<org.glassfish.grizzly.http.Http2Session: boolean isFirstInFrame> = 0;
label:
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: boolean isParsingHeaders()>();
if v == 0 goto label;
if v == 9 goto label;
v = <org.glassfish.grizzly.http.Http2Session: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.glassfish.grizzly.http.Http2Session: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object)>(v, "ContinuationFrame is expected, but {0} came", v);
label:
v = new org.glassfish.grizzly.http.Http2SessionException;
v = <org.glassfish.grizzly.http.frames.ErrorCode: org.glassfish.grizzly.http.frames.ErrorCode PROTOCOL_ERROR>;
specialinvoke v.<org.glassfish.grizzly.http.Http2SessionException: void <init>(org.glassfish.grizzly.http.frames.ErrorCode)>(v);
throw v;
label:
if v != 9 goto label;
v = <org.glassfish.grizzly.http.Http2Session: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.glassfish.grizzly.http.Http2Session: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String)>(v, "ContinuationFrame is not expected");
label:
v = new org.glassfish.grizzly.http.Http2SessionException;
v = <org.glassfish.grizzly.http.frames.ErrorCode: org.glassfish.grizzly.http.frames.ErrorCode PROTOCOL_ERROR>;
specialinvoke v.<org.glassfish.grizzly.http.Http2SessionException: void <init>(org.glassfish.grizzly.http.frames.ErrorCode)>(v);
throw v;
label:
return;
}
protected void onOversizedFrame(org.glassfish.grizzly.Buffer) throws org.glassfish.grizzly.http.Http2SessionException
{
org.glassfish.grizzly.http.Http2SessionException v;
int v;
org.glassfish.grizzly.http.frames.ErrorCode v;
org.glassfish.grizzly.Buffer v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: org.glassfish.grizzly.Buffer;
interfaceinvoke v.<org.glassfish.grizzly.Buffer: int position()>();
v = new org.glassfish.grizzly.http.Http2SessionException;
v = <org.glassfish.grizzly.http.frames.ErrorCode: org.glassfish.grizzly.http.frames.ErrorCode FRAME_SIZE_ERROR>;
specialinvoke v.<org.glassfish.grizzly.http.Http2SessionException: void <init>(org.glassfish.grizzly.http.frames.ErrorCode)>(v);
throw v;
}
boolean isParsingHeaders()
{
org.glassfish.grizzly.http.HeadersDecoder v, v;
org.glassfish.grizzly.http.Http2Session v;
boolean v, v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.HeadersDecoder headersDecoder>;
if v == null goto label;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.HeadersDecoder headersDecoder>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HeadersDecoder: boolean isProcessingHeaders()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public final int getLocalMaxFramePayloadSize()
{
int v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: int localMaxFramePayloadSize>;
return v;
}
public int getPeerMaxFramePayloadSize()
{
int v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: int peerMaxFramePayloadSize>;
return v;
}
protected void setPeerMaxFramePayloadSize(int) throws org.glassfish.grizzly.http.Http2SessionException
{
org.glassfish.grizzly.http.Http2SessionException v;
int v, v, v;
org.glassfish.grizzly.http.frames.ErrorCode v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: int;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: int getSpecMinFramePayloadSize()>();
if v < v goto label;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: int getSpecMaxFramePayloadSize()>();
if v <= v goto label;
label:
v = new org.glassfish.grizzly.http.Http2SessionException;
v = <org.glassfish.grizzly.http.frames.ErrorCode: org.glassfish.grizzly.http.frames.ErrorCode FRAME_SIZE_ERROR>;
specialinvoke v.<org.glassfish.grizzly.http.Http2SessionException: void <init>(org.glassfish.grizzly.http.frames.ErrorCode)>(v);
throw v;
label:
v.<org.glassfish.grizzly.http.Http2Session: int peerMaxFramePayloadSize> = v;
return;
}
public int getLocalStreamWindowSize()
{
int v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: int localStreamWindowSize>;
return v;
}
public void setLocalStreamWindowSize(int)
{
int v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: int;
v.<org.glassfish.grizzly.http.Http2Session: int localStreamWindowSize> = v;
return;
}
public int getPeerStreamWindowSize()
{
int v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: int peerStreamWindowSize>;
return v;
}
void setPeerStreamWindowSize(int) throws org.glassfish.grizzly.http.Http2StreamException
{
java.lang.Throwable v;
java.util.Iterator v;
java.util.Collection v;
org.glassfish.grizzly.http.StreamOutputSink v;
org.glassfish.grizzly.http.Http2Session v;
java.util.TreeMap v, v;
int v, v, v;
java.lang.Object v, v;
boolean v, v, v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: int;
v = v.<org.glassfish.grizzly.http.Http2Session: java.lang.Object sessionLock>;
entermonitor v;
label:
v = v.<org.glassfish.grizzly.http.Http2Session: int peerStreamWindowSize>;
v = v - v;
v.<org.glassfish.grizzly.http.Http2Session: int peerStreamWindowSize> = v;
v = v.<org.glassfish.grizzly.http.Http2Session: java.util.TreeMap streamsMap>;
v = virtualinvoke v.<java.util.TreeMap: boolean isEmpty()>();
if v != 0 goto label;
v = v.<org.glassfish.grizzly.http.Http2Session: java.util.TreeMap streamsMap>;
v = virtualinvoke v.<java.util.TreeMap: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Stream: boolean isClosed()>();
if v != 0 goto label;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Stream: org.glassfish.grizzly.http.StreamOutputSink getOutputSink()>();
interfaceinvoke v.<org.glassfish.grizzly.http.StreamOutputSink: void onPeerWindowUpdate(int)>(v);
goto label;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public int getLocalConnectionWindowSize()
{
int v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: int localConnectionWindowSize>;
return v;
}
public void setLocalConnectionWindowSize(int)
{
int v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: int;
v.<org.glassfish.grizzly.http.Http2Session: int localConnectionWindowSize> = v;
return;
}
public int getAvailablePeerConnectionWindowSize()
{
int v;
org.glassfish.grizzly.http.Http2Session v;
org.glassfish.grizzly.http.Http2SessionOutputSink v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2SessionOutputSink outputSink>;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2SessionOutputSink: int getAvailablePeerConnectionWindowSize()>();
return v;
}
public int getLocalMaxConcurrentStreams()
{
int v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: int localMaxConcurrentStreams>;
return v;
}
public void setLocalMaxConcurrentStreams(int)
{
java.lang.Float v;
org.glassfish.grizzly.http.Http2Configuration v;
org.glassfish.grizzly.http.Http2Session v;
int v, v, v;
float v, v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: int;
v.<org.glassfish.grizzly.http.Http2Session: int localMaxConcurrentStreams> = v;
v = v.<org.glassfish.grizzly.http.Http2Session: int localMaxConcurrentStreams>;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2Configuration http2Configuration>;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Configuration: float getStreamsHighWaterMark()>();
v = v * v;
v = staticinvoke <java.lang.Float: java.lang.Float valueOf(float)>(v);
v = virtualinvoke v.<java.lang.Float: int intValue()>();
v.<org.glassfish.grizzly.http.Http2Session: int streamsHighWaterMark> = v;
return;
}
public int getPeerMaxConcurrentStreams()
{
int v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: int peerMaxConcurrentStreams>;
return v;
}
void setPeerMaxConcurrentStreams(int)
{
int v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: int;
v.<org.glassfish.grizzly.http.Http2Session: int peerMaxConcurrentStreams> = v;
return;
}
public boolean isPushEnabled()
{
org.glassfish.grizzly.http.Http2Configuration v;
org.glassfish.grizzly.http.Http2Session v;
boolean v, v, v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: boolean pushEnabled>;
if v == 0 goto label;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2Configuration http2Configuration>;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Configuration: boolean isPushEnabled()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void setPushEnabled(boolean)
{
org.glassfish.grizzly.http.Http2Session v;
boolean v, v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: boolean;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: boolean isGoingAway()>();
if v == 0 goto label;
return;
label:
v.<org.glassfish.grizzly.http.Http2Session: boolean pushEnabled> = v;
return;
}
public int getNextLocalStreamId()
{
int v, v, v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: int lastLocalStreamId>;
v = v + 2;
v.<org.glassfish.grizzly.http.Http2Session: int lastLocalStreamId> = v;
v = v.<org.glassfish.grizzly.http.Http2Session: int lastLocalStreamId>;
return v;
}
public org.glassfish.grizzly.Connection getConnection()
{
org.glassfish.grizzly.Connection v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.Connection connection>;
return v;
}
public org.glassfish.grizzly.memory.MemoryManager getMemoryManager()
{
org.glassfish.grizzly.Connection v;
org.glassfish.grizzly.http.Http2Session v;
org.glassfish.grizzly.memory.MemoryManager v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.Connection connection>;
v = interfaceinvoke v.<org.glassfish.grizzly.Connection: org.glassfish.grizzly.memory.MemoryManager getMemoryManager()>();
return v;
}
public boolean isServer()
{
org.glassfish.grizzly.http.Http2Session v;
boolean v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: boolean isServer>;
return v;
}
public boolean isLocallyInitiatedStream(int)
{
java.lang.AssertionError v;
org.glassfish.grizzly.http.Http2Session v;
int v, v;
boolean v, v, v, v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: int;
v = <org.glassfish.grizzly.http.Http2Session: boolean $assertionsDisabled>;
if v != 0 goto label;
if v > 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: boolean isServer()>();
v = v % 2;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v ^ v;
return v;
}
org.glassfish.grizzly.http.Http2State getHttp2State()
{
org.glassfish.grizzly.http.Http2State v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2State http2State>;
return v;
}
boolean isHttp2InputEnabled()
{
org.glassfish.grizzly.http.Http2Session v;
boolean v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: boolean isPrefaceReceived>;
return v;
}
boolean isHttp2OutputEnabled()
{
org.glassfish.grizzly.http.Http2Session v;
boolean v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: boolean isPrefaceSent>;
return v;
}
public org.glassfish.grizzly.http.Http2Stream getStream(int)
{
java.util.TreeMap v;
int v;
java.lang.Object v;
org.glassfish.grizzly.http.Http2Session v;
java.lang.Integer v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: int;
v = v.<org.glassfish.grizzly.http.Http2Session: java.util.TreeMap streamsMap>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = virtualinvoke v.<java.util.TreeMap: java.lang.Object get(java.lang.Object)>(v);
return v;
}
protected org.glassfish.grizzly.http.Http2SessionOutputSink getOutputSink()
{
org.glassfish.grizzly.http.Http2Session v;
org.glassfish.grizzly.http.Http2SessionOutputSink v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2SessionOutputSink outputSink>;
return v;
}
org.glassfish.grizzly.impl.FutureImpl terminateGracefully()
{
java.lang.IllegalStateException v;
org.glassfish.grizzly.http.frames.ErrorCode v;
org.glassfish.grizzly.http.Http2Session v;
org.glassfish.grizzly.http.Http2SessionOutputSink v;
org.glassfish.grizzly.http.frames.GoAwayFrame v;
org.glassfish.grizzly.impl.FutureImpl v, v;
boolean v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: boolean isServer>;
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Illegal use of graceful termination on client.");
throw v;
label:
v = <org.glassfish.grizzly.http.frames.ErrorCode: org.glassfish.grizzly.http.frames.ErrorCode NO_ERROR>;
v = specialinvoke v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.frames.GoAwayFrame setGoAwayLocally(org.glassfish.grizzly.http.frames.ErrorCode,java.lang.String,boolean)>(v, "Shutting Down", 1);
if v == null goto label;
v = staticinvoke <org.glassfish.grizzly.utils.Futures: org.glassfish.grizzly.impl.FutureImpl createSafeFuture()>();
v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.impl.FutureImpl sessionClosed> = v;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2SessionOutputSink outputSink>;
virtualinvoke v.<org.glassfish.grizzly.http.Http2SessionOutputSink: void writeDownStream(org.glassfish.grizzly.http.frames.Http2Frame)>(v);
label:
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.impl.FutureImpl sessionClosed>;
return v;
}
void terminate(org.glassfish.grizzly.http.frames.ErrorCode, java.lang.String)
{
org.glassfish.grizzly.http.frames.GoAwayFrame v;
org.glassfish.grizzly.http.frames.ErrorCode v;
java.lang.String v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: org.glassfish.grizzly.http.frames.ErrorCode;
v := @parameter: java.lang.String;
v = specialinvoke v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.frames.GoAwayFrame setGoAwayLocally(org.glassfish.grizzly.http.frames.ErrorCode,java.lang.String,boolean)>(v, v, 0);
specialinvoke v.<org.glassfish.grizzly.http.Http2Session: void sendGoAwayAndClose(org.glassfish.grizzly.http.frames.Http2Frame)>(v);
return;
}
private void sendGoAwayAndClose(org.glassfish.grizzly.http.frames.Http2Frame)
{
org.glassfish.grizzly.http.Http2Session$1 v;
org.glassfish.grizzly.http.Http2Session v;
org.glassfish.grizzly.http.frames.Http2Frame v;
org.glassfish.grizzly.http.Http2SessionOutputSink v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: org.glassfish.grizzly.http.frames.Http2Frame;
if v == null goto label;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2SessionOutputSink outputSink>;
v = new org.glassfish.grizzly.http.Http2Session$1;
specialinvoke v.<org.glassfish.grizzly.http.Http2Session$1: void <init>(org.glassfish.grizzly.http.Http2Session)>(v);
virtualinvoke v.<org.glassfish.grizzly.http.Http2SessionOutputSink: void writeDownStream(java.lang.Object,org.glassfish.grizzly.CompletionHandler,org.glassfish.grizzly.asyncqueue.MessageCloner)>(v, v, null);
label:
return;
}
private org.glassfish.grizzly.http.frames.GoAwayFrame setGoAwayLocally(org.glassfish.grizzly.http.frames.ErrorCode, java.lang.String, boolean)
{
java.lang.Throwable v;
org.glassfish.grizzly.memory.MemoryManager v;
org.glassfish.grizzly.http.frames.ErrorCode v;
java.util.concurrent.atomic.AtomicInteger v;
org.glassfish.grizzly.CloseType v;
org.glassfish.grizzly.http.frames.GoAwayFrame v;
int v, v, v, v, v, v, v;
org.glassfish.grizzly.http.frames.GoAwayFrame$GoAwayFrameBuilder v, v, v, v;
java.lang.String v;
boolean v;
org.glassfish.grizzly.Buffer v;
org.glassfish.grizzly.http.Http2Session v;
java.lang.Object v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: org.glassfish.grizzly.http.frames.ErrorCode;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v = v.<org.glassfish.grizzly.http.Http2Session: java.lang.Object sessionLock>;
entermonitor v;
label:
v = v.<org.glassfish.grizzly.http.Http2Session: int goingAwayLastStreamId>;
if v == -2147483648 goto label;
v = v.<org.glassfish.grizzly.http.Http2Session: int goingAwayLastStreamId>;
if v != 2147483647 goto label;
if v != 0 goto label;
label:
v = <org.glassfish.grizzly.CloseType: org.glassfish.grizzly.CloseType LOCALLY>;
v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.CloseType closeFlag> = v;
if v == 0 goto label;
v = 2147483647;
goto label;
label:
v = v.<org.glassfish.grizzly.http.Http2Session: int lastPeerStreamId>;
if v <= 0 goto label;
v = v.<org.glassfish.grizzly.http.Http2Session: int lastPeerStreamId>;
goto label;
label:
v = 0;
label:
v.<org.glassfish.grizzly.http.Http2Session: int goingAwayLastStreamId> = v;
v = v.<org.glassfish.grizzly.http.Http2Session: int goingAwayLastStreamId>;
if v == 2147483647 goto label;
v = v.<org.glassfish.grizzly.http.Http2Session: java.util.concurrent.atomic.AtomicInteger concurrentStreamsCount>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
if v <= 0 goto label;
specialinvoke v.<org.glassfish.grizzly.http.Http2Session: void pruneStreams()>();
label:
v = staticinvoke <org.glassfish.grizzly.http.frames.GoAwayFrame: org.glassfish.grizzly.http.frames.GoAwayFrame$GoAwayFrameBuilder builder()>();
v = v.<org.glassfish.grizzly.http.Http2Session: int goingAwayLastStreamId>;
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.GoAwayFrame$GoAwayFrameBuilder: org.glassfish.grizzly.http.frames.GoAwayFrame$GoAwayFrameBuilder lastStreamId(int)>(v);
if v == null goto label;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.memory.MemoryManager getMemoryManager()>();
v = staticinvoke <org.glassfish.grizzly.memory.Buffers: org.glassfish.grizzly.Buffer wrap(org.glassfish.grizzly.memory.MemoryManager,java.lang.String)>(v, v);
goto label;
label:
v = null;
label:
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.GoAwayFrame$GoAwayFrameBuilder: org.glassfish.grizzly.http.frames.GoAwayFrame$GoAwayFrameBuilder additionalDebugData(org.glassfish.grizzly.Buffer)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.GoAwayFrame$GoAwayFrameBuilder: org.glassfish.grizzly.http.frames.GoAwayFrame$GoAwayFrameBuilder errorCode(org.glassfish.grizzly.http.frames.ErrorCode)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.GoAwayFrame$GoAwayFrameBuilder: org.glassfish.grizzly.http.frames.GoAwayFrame build()>();
exitmonitor v;
label:
return v;
label:
exitmonitor v;
label:
return null;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void pruneStreams()
{
java.util.Iterator v;
java.util.Collection v;
java.util.NavigableMap v;
java.util.logging.Logger v;
org.glassfish.grizzly.http.Http2Session v;
java.lang.Integer v, v;
java.util.ArrayList v;
java.util.logging.Level v;
java.util.TreeMap v;
int v;
java.lang.Object v;
boolean v, v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = <org.glassfish.grizzly.http.Http2Session: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String)>(v, "pruneStreams()");
v = v.<org.glassfish.grizzly.http.Http2Session: java.util.TreeMap streamsMap>;
v = v.<org.glassfish.grizzly.http.Http2Session: int goingAwayLastStreamId>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(2147483647);
v = virtualinvoke v.<java.util.TreeMap: java.util.NavigableMap subMap(java.lang.Object,boolean,java.lang.Object,boolean)>(v, 0, v, 1);
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v != 0 goto label;
v = new java.util.ArrayList;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
virtualinvoke v.<org.glassfish.grizzly.http.Http2Stream: void closedRemotely()>();
virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: void deregisterStream()>();
goto label;
label:
return;
}
void setGoAwayByPeer(int)
{
java.lang.Throwable v;
org.glassfish.grizzly.memory.MemoryManager v;
org.glassfish.grizzly.http.frames.ErrorCode v;
org.glassfish.grizzly.Buffer v;
org.glassfish.grizzly.http.Http2Session v;
org.glassfish.grizzly.CloseType v;
org.glassfish.grizzly.http.frames.GoAwayFrame v;
int v, v;
java.lang.Object v;
org.glassfish.grizzly.http.frames.GoAwayFrame$GoAwayFrameBuilder v, v, v, v;
boolean v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: int;
v = v.<org.glassfish.grizzly.http.Http2Session: java.lang.Object sessionLock>;
entermonitor v;
label:
v.<org.glassfish.grizzly.http.Http2Session: boolean pushEnabled> = 0;
v.<org.glassfish.grizzly.http.Http2Session: int goingAwayLastStreamId> = v;
v = <org.glassfish.grizzly.CloseType: org.glassfish.grizzly.CloseType REMOTELY>;
v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.CloseType closeFlag> = v;
specialinvoke v.<org.glassfish.grizzly.http.Http2Session: void pruneStreams()>();
v = v.<org.glassfish.grizzly.http.Http2Session: boolean isServer>;
if v != 0 goto label;
if v == 2147483647 goto label;
label:
v = staticinvoke <org.glassfish.grizzly.http.frames.GoAwayFrame: org.glassfish.grizzly.http.frames.GoAwayFrame$GoAwayFrameBuilder builder()>();
v = v.<org.glassfish.grizzly.http.Http2Session: int goingAwayLastStreamId>;
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.GoAwayFrame$GoAwayFrameBuilder: org.glassfish.grizzly.http.frames.GoAwayFrame$GoAwayFrameBuilder lastStreamId(int)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.memory.MemoryManager getMemoryManager()>();
v = staticinvoke <org.glassfish.grizzly.memory.Buffers: org.glassfish.grizzly.Buffer wrap(org.glassfish.grizzly.memory.MemoryManager,java.lang.String)>(v, "Peer Requested.");
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.GoAwayFrame$GoAwayFrameBuilder: org.glassfish.grizzly.http.frames.GoAwayFrame$GoAwayFrameBuilder additionalDebugData(org.glassfish.grizzly.Buffer)>(v);
v = <org.glassfish.grizzly.http.frames.ErrorCode: org.glassfish.grizzly.http.frames.ErrorCode NO_ERROR>;
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.GoAwayFrame$GoAwayFrameBuilder: org.glassfish.grizzly.http.frames.GoAwayFrame$GoAwayFrameBuilder errorCode(org.glassfish.grizzly.http.frames.ErrorCode)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.GoAwayFrame$GoAwayFrameBuilder: org.glassfish.grizzly.http.frames.GoAwayFrame build()>();
specialinvoke v.<org.glassfish.grizzly.http.Http2Session: void sendGoAwayAndClose(org.glassfish.grizzly.http.frames.Http2Frame)>(v);
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
boolean isGoingAway()
{
org.glassfish.grizzly.http.Http2Session v;
org.glassfish.grizzly.CloseType v;
boolean v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.CloseType closeFlag>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public int getGoingAwayLastStreamId()
{
int v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: int goingAwayLastStreamId>;
return v;
}
protected void sendWindowUpdate(int, int)
{
org.glassfish.grizzly.http.frames.WindowUpdateFrame v;
org.glassfish.grizzly.http.frames.WindowUpdateFrame$WindowUpdateFrameBuilder v, v;
org.glassfish.grizzly.http.Http2Session v;
org.glassfish.grizzly.http.Http2SessionOutputSink v;
org.glassfish.grizzly.http.frames.Http2Frame$Http2FrameBuilder v;
org.glassfish.grizzly.http.NetLogger$Context v;
int v, v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: int;
v := @parameter: int;
v = staticinvoke <org.glassfish.grizzly.http.frames.WindowUpdateFrame: org.glassfish.grizzly.http.frames.WindowUpdateFrame$WindowUpdateFrameBuilder builder()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.WindowUpdateFrame$WindowUpdateFrameBuilder: org.glassfish.grizzly.http.frames.Http2Frame$Http2FrameBuilder streamId(int)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.WindowUpdateFrame$WindowUpdateFrameBuilder: org.glassfish.grizzly.http.frames.WindowUpdateFrame$WindowUpdateFrameBuilder windowSizeIncrement(int)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.WindowUpdateFrame$WindowUpdateFrameBuilder: org.glassfish.grizzly.http.frames.WindowUpdateFrame build()>();
v = <org.glassfish.grizzly.http.NetLogger$Context: org.glassfish.grizzly.http.NetLogger$Context TX>;
staticinvoke <org.glassfish.grizzly.http.NetLogger: void log(org.glassfish.grizzly.http.NetLogger$Context,org.glassfish.grizzly.http.Http2Session,org.glassfish.grizzly.http.frames.WindowUpdateFrame)>(v, v, v);
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2SessionOutputSink outputSink>;
virtualinvoke v.<org.glassfish.grizzly.http.Http2SessionOutputSink: void writeDownStream(org.glassfish.grizzly.http.frames.Http2Frame)>(v);
return;
}
void sendPreface()
{
java.lang.Throwable v;
org.glassfish.grizzly.http.Http2Session v;
java.lang.Object v;
org.glassfish.grizzly.http.Http2Stream v;
boolean v, v, v, v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: boolean isPrefaceSent>;
if v != 0 goto label;
v = v.<org.glassfish.grizzly.http.Http2Session: java.lang.Object sessionLock>;
entermonitor v;
label:
v = v.<org.glassfish.grizzly.http.Http2Session: boolean isPrefaceSent>;
if v != 0 goto label;
v = v.<org.glassfish.grizzly.http.Http2Session: boolean isServer>;
if v == 0 goto label;
virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: void sendServerPreface()>();
goto label;
label:
virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: void sendClientPreface()>();
label:
v.<org.glassfish.grizzly.http.Http2Session: boolean isPrefaceSent> = 1;
v = v.<org.glassfish.grizzly.http.Http2Session: boolean isServer>;
if v != 0 goto label;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2Stream getStream(int)>(0);
virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: void ackConsumedData(org.glassfish.grizzly.http.Http2Stream,int)>(v, 0);
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected void sendServerPreface()
{
org.glassfish.grizzly.http.frames.SettingsFrame$SettingsFrameBuilder v;
org.glassfish.grizzly.memory.MemoryManager v;
org.glassfish.grizzly.Buffer v;
org.glassfish.grizzly.http.frames.SettingsFrame v;
org.glassfish.grizzly.http.Http2Session v;
org.glassfish.grizzly.ssl.SSLBaseFilter v;
org.glassfish.grizzly.http.NetLogger$Context v;
org.glassfish.grizzly.http.Http2Session$2 v;
org.glassfish.grizzly.Connection v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.frames.SettingsFrame$SettingsFrameBuilder prepareSettings()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.SettingsFrame$SettingsFrameBuilder: org.glassfish.grizzly.http.frames.SettingsFrame build()>();
v = <org.glassfish.grizzly.http.NetLogger$Context: org.glassfish.grizzly.http.NetLogger$Context TX>;
staticinvoke <org.glassfish.grizzly.http.NetLogger: void log(org.glassfish.grizzly.http.NetLogger$Context,org.glassfish.grizzly.http.Http2Session,org.glassfish.grizzly.http.frames.SettingsFrame)>(v, v, v);
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.Connection connection>;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.memory.MemoryManager getMemoryManager()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.SettingsFrame: org.glassfish.grizzly.Buffer toBuffer(org.glassfish.grizzly.memory.MemoryManager)>(v);
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.ssl.SSLBaseFilter sslFilter>;
if v == null goto label;
v = new org.glassfish.grizzly.http.Http2Session$2;
specialinvoke v.<org.glassfish.grizzly.http.Http2Session$2: void <init>(org.glassfish.grizzly.http.Http2Session)>(v);
goto label;
label:
v = null;
label:
interfaceinvoke v.<org.glassfish.grizzly.Connection: void write(java.lang.Object,org.glassfish.grizzly.CompletionHandler)>(v, v);
return;
}
protected void sendClientPreface()
{
byte[] v;
org.glassfish.grizzly.http.HttpRequestPacket v;
org.glassfish.grizzly.http.HttpRequestPacket$Builder v, v, v;
org.glassfish.grizzly.http.Protocol v;
org.glassfish.grizzly.memory.MemoryManager v, v, v;
org.glassfish.grizzly.http.Method v;
org.glassfish.grizzly.http.NetLogger$Context v;
org.glassfish.grizzly.http.HttpContent v;
org.glassfish.grizzly.http.frames.SettingsFrame$SettingsFrameBuilder v;
org.glassfish.grizzly.Buffer v, v, v;
org.glassfish.grizzly.http.frames.SettingsFrame v;
org.glassfish.grizzly.http.Http2Session v;
org.glassfish.grizzly.http.HttpContent$Builder v, v;
org.glassfish.grizzly.http.HttpHeader$Builder v;
org.glassfish.grizzly.Connection v, v, v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = staticinvoke <org.glassfish.grizzly.http.HttpRequestPacket: org.glassfish.grizzly.http.HttpRequestPacket$Builder builder()>();
v = <org.glassfish.grizzly.http.Method: org.glassfish.grizzly.http.Method PRI>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpRequestPacket$Builder: org.glassfish.grizzly.http.HttpRequestPacket$Builder method(org.glassfish.grizzly.http.Method)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpRequestPacket$Builder: org.glassfish.grizzly.http.HttpRequestPacket$Builder uri(java.lang.String)>("*");
v = <org.glassfish.grizzly.http.Protocol: org.glassfish.grizzly.http.Protocol HTTP_2_0>;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpRequestPacket$Builder: org.glassfish.grizzly.http.HttpHeader$Builder protocol(org.glassfish.grizzly.http.Protocol)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpRequestPacket$Builder: org.glassfish.grizzly.http.HttpRequestPacket build()>();
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.Connection connection>;
v = interfaceinvoke v.<org.glassfish.grizzly.Connection: org.glassfish.grizzly.memory.MemoryManager getMemoryManager()>();
v = <org.glassfish.grizzly.http.Http2BaseFilter: byte[] PRI_PAYLOAD>;
v = staticinvoke <org.glassfish.grizzly.memory.Buffers: org.glassfish.grizzly.Buffer wrap(org.glassfish.grizzly.memory.MemoryManager,byte[])>(v, v);
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.frames.SettingsFrame$SettingsFrameBuilder prepareSettings()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.SettingsFrame$SettingsFrameBuilder: org.glassfish.grizzly.http.frames.SettingsFrame build()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.memory.MemoryManager getMemoryManager()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.SettingsFrame: org.glassfish.grizzly.Buffer toBuffer(org.glassfish.grizzly.memory.MemoryManager)>(v);
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.Connection connection>;
v = interfaceinvoke v.<org.glassfish.grizzly.Connection: org.glassfish.grizzly.memory.MemoryManager getMemoryManager()>();
v = staticinvoke <org.glassfish.grizzly.memory.Buffers: org.glassfish.grizzly.Buffer appendBuffers(org.glassfish.grizzly.memory.MemoryManager,org.glassfish.grizzly.Buffer,org.glassfish.grizzly.Buffer)>(v, v, v);
v = staticinvoke <org.glassfish.grizzly.http.HttpContent: org.glassfish.grizzly.http.HttpContent$Builder builder(org.glassfish.grizzly.http.HttpHeader)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpContent$Builder: org.glassfish.grizzly.http.HttpContent$Builder content(org.glassfish.grizzly.Buffer)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpContent$Builder: org.glassfish.grizzly.http.HttpContent build()>();
v = <org.glassfish.grizzly.http.NetLogger$Context: org.glassfish.grizzly.http.NetLogger$Context TX>;
staticinvoke <org.glassfish.grizzly.http.NetLogger: void log(org.glassfish.grizzly.http.NetLogger$Context,org.glassfish.grizzly.http.Http2Session,org.glassfish.grizzly.http.frames.SettingsFrame)>(v, v, v);
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.Connection connection>;
interfaceinvoke v.<org.glassfish.grizzly.Connection: org.glassfish.grizzly.GrizzlyFuture write(java.lang.Object)>(v);
return;
}
org.glassfish.grizzly.http.HeadersDecoder getHeadersDecoder()
{
org.glassfish.grizzly.memory.MemoryManager v;
org.glassfish.grizzly.http.HeadersDecoder v, v, v;
int v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.HeadersDecoder headersDecoder>;
if v != null goto label;
v = new org.glassfish.grizzly.http.HeadersDecoder;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.memory.MemoryManager getMemoryManager()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: int getMaxHeaderListSize()>();
specialinvoke v.<org.glassfish.grizzly.http.HeadersDecoder: void <init>(org.glassfish.grizzly.memory.MemoryManager,int,int)>(v, v, 4096);
v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.HeadersDecoder headersDecoder> = v;
label:
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.HeadersDecoder headersDecoder>;
return v;
}
java.util.concurrent.locks.ReentrantLock getDeflaterLock()
{
java.util.concurrent.locks.ReentrantLock v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: java.util.concurrent.locks.ReentrantLock deflaterLock>;
return v;
}
org.glassfish.grizzly.http.HeadersEncoder getHeadersEncoder()
{
org.glassfish.grizzly.memory.MemoryManager v;
org.glassfish.grizzly.http.HeadersEncoder v, v, v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.HeadersEncoder headersEncoder>;
if v != null goto label;
v = new org.glassfish.grizzly.http.HeadersEncoder;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.memory.MemoryManager getMemoryManager()>();
specialinvoke v.<org.glassfish.grizzly.http.HeadersEncoder: void <init>(org.glassfish.grizzly.memory.MemoryManager,int)>(v, 4096);
v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.HeadersEncoder headersEncoder> = v;
label:
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.HeadersEncoder headersEncoder>;
return v;
}
protected java.util.List encodeHttpHeaderAsHeaderFrames(org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http.HttpHeader, int, boolean, java.util.List, java.util.Map) throws java.io.IOException
{
org.glassfish.grizzly.Buffer v;
org.glassfish.grizzly.http.Http2Session v;
org.glassfish.grizzly.filterchain.FilterChainContext v;
org.glassfish.grizzly.http.Http2BaseFilter v;
java.util.List v, v;
java.util.Map v;
int v;
boolean v, v;
org.glassfish.grizzly.http.HttpHeader v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: org.glassfish.grizzly.filterchain.FilterChainContext;
v := @parameter: org.glassfish.grizzly.http.HttpHeader;
v := @parameter: int;
v := @parameter: boolean;
v := @parameter: java.util.List;
v := @parameter: java.util.Map;
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpHeader: boolean isRequest()>();
if v != 0 goto label;
v = staticinvoke <org.glassfish.grizzly.http.EncoderUtils: org.glassfish.grizzly.Buffer encodeResponseHeaders(org.glassfish.grizzly.http.Http2Session,org.glassfish.grizzly.http.HttpResponsePacket,java.util.Map)>(v, v, v);
goto label;
label:
v = staticinvoke <org.glassfish.grizzly.http.EncoderUtils: org.glassfish.grizzly.Buffer encodeRequestHeaders(org.glassfish.grizzly.http.Http2Session,org.glassfish.grizzly.http.HttpRequestPacket,java.util.Map)>(v, v, v);
label:
v = specialinvoke v.<org.glassfish.grizzly.http.Http2Session: java.util.List bufferToHeaderFrames(int,org.glassfish.grizzly.Buffer,boolean,java.util.List)>(v, v, v, v);
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2BaseFilter handlerFilter>;
virtualinvoke v.<org.glassfish.grizzly.http.Http2BaseFilter: void onHttpHeadersEncoded(org.glassfish.grizzly.http.HttpHeader,org.glassfish.grizzly.filterchain.FilterChainContext)>(v, v);
return v;
}
protected java.util.List encodeTrailersAsHeaderFrames(int, java.util.List, org.glassfish.grizzly.http.util.MimeHeaders, java.util.Map) throws java.io.IOException
{
java.util.List v, v;
org.glassfish.grizzly.http.util.MimeHeaders v;
java.util.Map v;
int v;
org.glassfish.grizzly.Buffer v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: int;
v := @parameter: java.util.List;
v := @parameter: org.glassfish.grizzly.http.util.MimeHeaders;
v := @parameter: java.util.Map;
v = staticinvoke <org.glassfish.grizzly.http.EncoderUtils: org.glassfish.grizzly.Buffer encodeTrailerHeaders(org.glassfish.grizzly.http.Http2Session,org.glassfish.grizzly.http.util.MimeHeaders,java.util.Map)>(v, v, v);
v = specialinvoke v.<org.glassfish.grizzly.http.Http2Session: java.util.List bufferToHeaderFrames(int,org.glassfish.grizzly.Buffer,boolean,java.util.List)>(v, v, 1, v);
return v;
}
protected java.util.List encodeHttpRequestAsPushPromiseFrames(org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http.HttpRequestPacket, int, int, java.util.List, java.util.Map) throws java.io.IOException
{
org.glassfish.grizzly.http.HttpRequestPacket v;
org.glassfish.grizzly.Buffer v;
org.glassfish.grizzly.http.Http2Session v;
org.glassfish.grizzly.filterchain.FilterChainContext v;
org.glassfish.grizzly.http.Http2BaseFilter v;
java.util.List v, v;
java.util.Map v;
int v, v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: org.glassfish.grizzly.filterchain.FilterChainContext;
v := @parameter: org.glassfish.grizzly.http.HttpRequestPacket;
v := @parameter: int;
v := @parameter: int;
v := @parameter: java.util.List;
v := @parameter: java.util.Map;
v = staticinvoke <org.glassfish.grizzly.http.EncoderUtils: org.glassfish.grizzly.Buffer encodeRequestHeaders(org.glassfish.grizzly.http.Http2Session,org.glassfish.grizzly.http.HttpRequestPacket,java.util.Map)>(v, v, v);
v = specialinvoke v.<org.glassfish.grizzly.http.Http2Session: java.util.List bufferToPushPromiseFrames(int,int,org.glassfish.grizzly.Buffer,java.util.List)>(v, v, v, v);
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2BaseFilter handlerFilter>;
virtualinvoke v.<org.glassfish.grizzly.http.Http2BaseFilter: void onHttpHeadersEncoded(org.glassfish.grizzly.http.HttpHeader,org.glassfish.grizzly.filterchain.FilterChainContext)>(v, v);
return v;
}
private java.util.List bufferToHeaderFrames(int, org.glassfish.grizzly.Buffer, boolean, java.util.List)
{
org.glassfish.grizzly.Buffer v;
org.glassfish.grizzly.http.Http2Session v;
org.glassfish.grizzly.http.frames.Http2Frame$Http2FrameBuilder v;
java.util.List v, v;
int v;
boolean v;
org.glassfish.grizzly.http.frames.HeadersFrame$HeadersFrameBuilder v, v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: int;
v := @parameter: org.glassfish.grizzly.Buffer;
v := @parameter: boolean;
v := @parameter: java.util.List;
v = staticinvoke <org.glassfish.grizzly.http.frames.HeadersFrame: org.glassfish.grizzly.http.frames.HeadersFrame$HeadersFrameBuilder builder()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.HeadersFrame$HeadersFrameBuilder: org.glassfish.grizzly.http.frames.Http2Frame$Http2FrameBuilder streamId(int)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.HeadersFrame$HeadersFrameBuilder: org.glassfish.grizzly.http.frames.HeadersFrame$HeadersFrameBuilder endStream(boolean)>(v);
v = specialinvoke v.<org.glassfish.grizzly.http.Http2Session: java.util.List completeHeadersProviderFrameSerialization(org.glassfish.grizzly.http.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder,int,org.glassfish.grizzly.Buffer,java.util.List)>(v, v, v, v);
return v;
}
private java.util.List bufferToPushPromiseFrames(int, int, org.glassfish.grizzly.Buffer, java.util.List)
{
org.glassfish.grizzly.Buffer v;
org.glassfish.grizzly.http.Http2Session v;
org.glassfish.grizzly.http.frames.Http2Frame$Http2FrameBuilder v;
java.util.List v, v;
org.glassfish.grizzly.http.frames.PushPromiseFrame$PushPromiseFrameBuilder v, v;
int v, v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: int;
v := @parameter: int;
v := @parameter: org.glassfish.grizzly.Buffer;
v := @parameter: java.util.List;
v = staticinvoke <org.glassfish.grizzly.http.frames.PushPromiseFrame: org.glassfish.grizzly.http.frames.PushPromiseFrame$PushPromiseFrameBuilder builder()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.PushPromiseFrame$PushPromiseFrameBuilder: org.glassfish.grizzly.http.frames.Http2Frame$Http2FrameBuilder streamId(int)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.PushPromiseFrame$PushPromiseFrameBuilder: org.glassfish.grizzly.http.frames.PushPromiseFrame$PushPromiseFrameBuilder promisedStreamId(int)>(v);
v = specialinvoke v.<org.glassfish.grizzly.http.Http2Session: java.util.List completeHeadersProviderFrameSerialization(org.glassfish.grizzly.http.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder,int,org.glassfish.grizzly.Buffer,java.util.List)>(v, v, v, v);
return v;
}
private java.util.List completeHeadersProviderFrameSerialization(org.glassfish.grizzly.http.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder, int, org.glassfish.grizzly.Buffer, java.util.List)
{
org.glassfish.grizzly.http.frames.ContinuationFrame v;
org.glassfish.grizzly.http.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder v, v, v, v, v, v, v;
boolean v, v, v, v;
org.glassfish.grizzly.Buffer v, v, v, v;
org.glassfish.grizzly.http.frames.Http2Frame$Http2FrameBuilder v;
java.util.List v, v;
org.glassfish.grizzly.http.frames.ContinuationFrame$ContinuationFrameBuilder v;
java.lang.AssertionError v, v;
org.glassfish.grizzly.http.frames.Http2Frame v, v;
int v, v, v, v, v, v, v, v, v, v, v;
java.util.concurrent.locks.ReentrantLock v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: org.glassfish.grizzly.http.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder;
v := @parameter: int;
v := @parameter: org.glassfish.grizzly.Buffer;
v := @parameter: java.util.List;
v = <org.glassfish.grizzly.http.Http2Session: boolean $assertionsDisabled>;
if v != 0 goto label;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: java.util.concurrent.locks.ReentrantLock getDeflaterLock()>();
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: boolean isHeldByCurrentThread()>();
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
if v != null goto label;
v = v.<org.glassfish.grizzly.http.Http2Session: java.util.List tmpHeaderFramesList>;
label:
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int remaining()>();
v = v.<org.glassfish.grizzly.http.Http2Session: int peerMaxFramePayloadSize>;
if v > v goto label;
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder: org.glassfish.grizzly.http.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder endHeaders(boolean)>(1);
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder: org.glassfish.grizzly.http.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder compressedHeaders(org.glassfish.grizzly.Buffer)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder: org.glassfish.grizzly.http.frames.Http2Frame build()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return v;
label:
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int position()>();
v = v.<org.glassfish.grizzly.http.Http2Session: int peerMaxFramePayloadSize>;
v = v + v;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer split(int)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder: org.glassfish.grizzly.http.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder endHeaders(boolean)>(0);
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder: org.glassfish.grizzly.http.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder compressedHeaders(org.glassfish.grizzly.Buffer)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder: org.glassfish.grizzly.http.frames.Http2Frame build()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.glassfish.grizzly.http.Http2Session: boolean $assertionsDisabled>;
if v != 0 goto label;
if v != null goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int remaining()>();
v = v.<org.glassfish.grizzly.http.Http2Session: int peerMaxFramePayloadSize>;
if v > v goto label;
v = null;
goto label;
label:
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: int position()>();
v = v.<org.glassfish.grizzly.http.Http2Session: int peerMaxFramePayloadSize>;
v = v + v;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer split(int)>(v);
label:
v = v;
v = v;
v = staticinvoke <org.glassfish.grizzly.http.frames.ContinuationFrame: org.glassfish.grizzly.http.frames.ContinuationFrame$ContinuationFrameBuilder builder()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.ContinuationFrame$ContinuationFrameBuilder: org.glassfish.grizzly.http.frames.Http2Frame$Http2FrameBuilder streamId(int)>(v);
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.ContinuationFrame$ContinuationFrameBuilder: org.glassfish.grizzly.http.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder endHeaders(boolean)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.ContinuationFrame$ContinuationFrameBuilder: org.glassfish.grizzly.http.frames.HeaderBlockFragment$HeaderBlockFragmentBuilder compressedHeaders(org.glassfish.grizzly.Buffer)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.frames.ContinuationFrame$ContinuationFrameBuilder: org.glassfish.grizzly.http.frames.ContinuationFrame build()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
if v != null goto label;
return v;
}
public java.util.concurrent.locks.ReentrantLock getNewClientStreamLock()
{
java.util.concurrent.locks.ReentrantLock v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: java.util.concurrent.locks.ReentrantLock newClientStreamLock>;
return v;
}
org.glassfish.grizzly.http.Http2Stream acceptStream(org.glassfish.grizzly.http.HttpRequestPacket, int, int, boolean, int) throws org.glassfish.grizzly.http.Http2SessionException
{
java.lang.Throwable v;
org.glassfish.grizzly.http.HttpRequestPacket v;
org.glassfish.grizzly.http.frames.ErrorCode v, v, v, v;
java.util.concurrent.atomic.AtomicInteger v;
int v, v, v, v, v, v, v, v;
org.glassfish.grizzly.http.Http2Stream v;
boolean v, v, v;
org.glassfish.grizzly.http.Http2SessionException v, v, v, v;
org.glassfish.grizzly.http.Http2Session v;
java.lang.Object v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: org.glassfish.grizzly.http.HttpRequestPacket;
v := @parameter: int;
v := @parameter: int;
v := @parameter: boolean;
v := @parameter: int;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2Stream newStream(org.glassfish.grizzly.http.HttpRequestPacket,int,int,boolean,int)>(v, v, v, v, v);
v = v.<org.glassfish.grizzly.http.Http2Session: java.lang.Object sessionLock>;
entermonitor v;
label:
v = specialinvoke v.<org.glassfish.grizzly.http.Http2Session: boolean isClosed()>();
if v == 0 goto label;
exitmonitor v;
label:
return null;
label:
v = v.<org.glassfish.grizzly.http.Http2Session: java.util.concurrent.atomic.AtomicInteger concurrentStreamsCount>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: int getLocalMaxConcurrentStreams()>();
if v < v goto label;
v = new org.glassfish.grizzly.http.Http2SessionException;
v = <org.glassfish.grizzly.http.frames.ErrorCode: org.glassfish.grizzly.http.frames.ErrorCode REFUSED_STREAM>;
specialinvoke v.<org.glassfish.grizzly.http.Http2SessionException: void <init>(org.glassfish.grizzly.http.frames.ErrorCode)>(v);
throw v;
label:
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: boolean isServer()>();
if v == 0 goto label;
if v <= 0 goto label;
v = v & 1;
if v != 0 goto label;
v = new org.glassfish.grizzly.http.Http2SessionException;
v = <org.glassfish.grizzly.http.frames.ErrorCode: org.glassfish.grizzly.http.frames.ErrorCode PROTOCOL_ERROR>;
specialinvoke v.<org.glassfish.grizzly.http.Http2SessionException: void <init>(org.glassfish.grizzly.http.frames.ErrorCode)>(v);
throw v;
label:
if v <= 0 goto label;
v = v & 1;
if v == 0 goto label;
v = new org.glassfish.grizzly.http.Http2SessionException;
v = <org.glassfish.grizzly.http.frames.ErrorCode: org.glassfish.grizzly.http.frames.ErrorCode PROTOCOL_ERROR>;
specialinvoke v.<org.glassfish.grizzly.http.Http2SessionException: void <init>(org.glassfish.grizzly.http.frames.ErrorCode)>(v);
throw v;
label:
v = v.<org.glassfish.grizzly.http.Http2Session: int lastPeerStreamId>;
if v >= v goto label;
v = new org.glassfish.grizzly.http.Http2SessionException;
v = <org.glassfish.grizzly.http.frames.ErrorCode: org.glassfish.grizzly.http.frames.ErrorCode PROTOCOL_ERROR>;
specialinvoke v.<org.glassfish.grizzly.http.Http2SessionException: void <init>(org.glassfish.grizzly.http.frames.ErrorCode)>(v);
throw v;
label:
virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: void registerStream(int,org.glassfish.grizzly.http.Http2Stream)>(v, v);
v.<org.glassfish.grizzly.http.Http2Session: int lastPeerStreamId> = v;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public org.glassfish.grizzly.http.Http2Stream openStream(org.glassfish.grizzly.http.HttpRequestPacket, int, int, boolean, int) throws org.glassfish.grizzly.http.Http2StreamException
{
java.lang.Throwable v;
org.glassfish.grizzly.http.HttpRequestPacket v;
org.glassfish.grizzly.http.frames.ErrorCode v, v, v;
org.glassfish.grizzly.http.Http2StreamException v, v, v;
java.util.concurrent.atomic.AtomicInteger v;
int v, v, v, v, v;
org.glassfish.grizzly.http.Http2Stream v, v;
boolean v, v;
org.glassfish.grizzly.http.Http2Session v;
java.lang.Object v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: org.glassfish.grizzly.http.HttpRequestPacket;
v := @parameter: int;
v := @parameter: int;
v := @parameter: boolean;
v := @parameter: int;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2Stream newStream(org.glassfish.grizzly.http.HttpRequestPacket,int,int,boolean,int)>(v, v, v, v, v);
v = v.<org.glassfish.grizzly.http.Http2Session: java.lang.Object sessionLock>;
entermonitor v;
label:
v = specialinvoke v.<org.glassfish.grizzly.http.Http2Session: boolean isClosed()>();
if v == 0 goto label;
v = new org.glassfish.grizzly.http.Http2StreamException;
v = <org.glassfish.grizzly.http.frames.ErrorCode: org.glassfish.grizzly.http.frames.ErrorCode REFUSED_STREAM>;
specialinvoke v.<org.glassfish.grizzly.http.Http2StreamException: void <init>(int,org.glassfish.grizzly.http.frames.ErrorCode,java.lang.String)>(v, v, "Session is closed");
throw v;
label:
v = v.<org.glassfish.grizzly.http.Http2Session: java.util.concurrent.atomic.AtomicInteger concurrentStreamsCount>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: int getLocalMaxConcurrentStreams()>();
if v < v goto label;
v = new org.glassfish.grizzly.http.Http2StreamException;
v = <org.glassfish.grizzly.http.frames.ErrorCode: org.glassfish.grizzly.http.frames.ErrorCode REFUSED_STREAM>;
specialinvoke v.<org.glassfish.grizzly.http.Http2StreamException: void <init>(int,org.glassfish.grizzly.http.frames.ErrorCode)>(v, v);
throw v;
label:
if v <= 0 goto label;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2Stream getStream(int)>(v);
if v != null goto label;
v = new org.glassfish.grizzly.http.Http2StreamException;
v = <org.glassfish.grizzly.http.frames.ErrorCode: org.glassfish.grizzly.http.frames.ErrorCode REFUSED_STREAM>;
specialinvoke v.<org.glassfish.grizzly.http.Http2StreamException: void <init>(int,org.glassfish.grizzly.http.frames.ErrorCode,java.lang.String)>(v, v, "The parent stream does not exist");
throw v;
label:
virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: void registerStream(int,org.glassfish.grizzly.http.Http2Stream)>(v, v);
v.<org.glassfish.grizzly.http.Http2Session: int lastLocalStreamId> = v;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
public org.glassfish.grizzly.http.Http2Stream acceptUpgradeStream(org.glassfish.grizzly.http.HttpRequestPacket, int, boolean) throws org.glassfish.grizzly.http.Http2StreamException
{
org.glassfish.grizzly.http.HttpRequestPacket v;
int v;
org.glassfish.grizzly.http.Http2Stream v;
org.glassfish.grizzly.http.Http2Session v;
boolean v, v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: org.glassfish.grizzly.http.HttpRequestPacket;
v := @parameter: int;
v := @parameter: boolean;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
virtualinvoke v.<org.glassfish.grizzly.http.HttpRequestPacket: void setExpectContent(boolean)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2Stream newUpgradeStream(org.glassfish.grizzly.http.HttpRequestPacket,int)>(v, v);
specialinvoke v.<org.glassfish.grizzly.http.Http2Session: void registerUpgradeStream(org.glassfish.grizzly.http.Http2Stream)>(v);
return v;
}
public org.glassfish.grizzly.http.Http2Stream openUpgradeStream(org.glassfish.grizzly.http.HttpRequestPacket, int) throws org.glassfish.grizzly.http.Http2StreamException
{
org.glassfish.grizzly.http.HttpRequestPacket v;
int v;
org.glassfish.grizzly.http.Http2Stream v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: org.glassfish.grizzly.http.HttpRequestPacket;
v := @parameter: int;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2Stream newUpgradeStream(org.glassfish.grizzly.http.HttpRequestPacket,int)>(v, v);
specialinvoke v.<org.glassfish.grizzly.http.Http2Session: void registerUpgradeStream(org.glassfish.grizzly.http.Http2Stream)>(v);
return v;
}
void setupFilterChains(org.glassfish.grizzly.filterchain.FilterChainContext, boolean)
{
java.lang.Throwable v;
org.glassfish.grizzly.filterchain.FilterChain v, v, v, v, v, v, v;
org.glassfish.grizzly.filterchain.FilterChainContext v;
int v, v, v, v, v, v, v, v, v;
boolean v;
org.glassfish.grizzly.http.Http2Session v;
java.util.List v, v, v, v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: org.glassfish.grizzly.filterchain.FilterChainContext;
v := @parameter: boolean;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.filterchain.FilterChain htt2SessionChain>;
if v != null goto label;
entermonitor v;
label:
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.filterchain.FilterChain htt2SessionChain>;
if v != null goto label;
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: org.glassfish.grizzly.filterchain.FilterChain getFilterChain()>();
v = virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: int getFilterIdx()>();
v = virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: int getEndIdx()>();
v = interfaceinvoke v.<org.glassfish.grizzly.filterchain.FilterChain: java.util.List subList(int,int)>(v, v);
v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.filterchain.FilterChain http2StreamChain> = v;
v = virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: org.glassfish.grizzly.filterchain.FilterChain getFilterChain()>();
v = virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: int getStartIdx()>();
v = virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: int getFilterIdx()>();
v = interfaceinvoke v.<org.glassfish.grizzly.filterchain.FilterChain: java.util.List subList(int,int)>(v, v);
v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.filterchain.FilterChain htt2SessionChain> = v;
goto label;
label:
v = virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: org.glassfish.grizzly.filterchain.FilterChain getFilterChain()>();
v = virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: int getFilterIdx()>();
v = virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: org.glassfish.grizzly.filterchain.FilterChain getFilterChain()>();
v = interfaceinvoke v.<org.glassfish.grizzly.filterchain.FilterChain: int size()>();
v = interfaceinvoke v.<org.glassfish.grizzly.filterchain.FilterChain: java.util.List subList(int,int)>(v, v);
v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.filterchain.FilterChain http2StreamChain> = v;
v = virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: org.glassfish.grizzly.filterchain.FilterChain getFilterChain()>();
v = virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: int getEndIdx()>();
v = v + 1;
v = virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: int getFilterIdx()>();
v = interfaceinvoke v.<org.glassfish.grizzly.filterchain.FilterChain: java.util.List subList(int,int)>(v, v);
v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.filterchain.FilterChain htt2SessionChain> = v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
org.glassfish.grizzly.filterchain.FilterChain getHttp2SessionChain()
{
org.glassfish.grizzly.filterchain.FilterChain v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.filterchain.FilterChain htt2SessionChain>;
return v;
}
void deregisterStream()
{
java.lang.Throwable v;
org.glassfish.grizzly.http.Http2Configuration v;
org.glassfish.grizzly.http.frames.ErrorCode v;
java.util.concurrent.atomic.AtomicInteger v;
int v, v, v, v, v, v;
boolean v, v, v, v, v;
java.util.Iterator v;
java.util.Set v;
java.util.logging.Logger v;
org.glassfish.grizzly.http.Http2Session v;
java.util.TreeMap v, v;
java.lang.Object v, v, v;
org.glassfish.grizzly.impl.FutureImpl v, v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = <org.glassfish.grizzly.http.Http2Session: java.util.logging.Logger LOGGER>;
virtualinvoke v.<java.util.logging.Logger: void fine(java.lang.String)>("deregisterStream()");
v = v.<org.glassfish.grizzly.http.Http2Session: java.lang.Object sessionLock>;
entermonitor v;
label:
specialinvoke v.<org.glassfish.grizzly.http.Http2Session: void decStreamCount()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: boolean isGoingAway()>();
if v == 0 goto label;
v = v.<org.glassfish.grizzly.http.Http2Session: java.util.concurrent.atomic.AtomicInteger concurrentStreamsCount>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
if v > 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v != 0 goto label;
v = v.<org.glassfish.grizzly.http.Http2Session: int checkCount>;
v = v + 1;
v.<org.glassfish.grizzly.http.Http2Session: int checkCount> = v;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2Configuration http2Configuration>;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Configuration: int getCleanFrequencyCheck()>();
if v <= v goto label;
v = v.<org.glassfish.grizzly.http.Http2Session: java.util.TreeMap streamsMap>;
v = virtualinvoke v.<java.util.TreeMap: int size()>();
v = v.<org.glassfish.grizzly.http.Http2Session: int streamsHighWaterMark>;
if v <= v goto label;
v.<org.glassfish.grizzly.http.Http2Session: int checkCount> = 0;
v = v.<org.glassfish.grizzly.http.Http2Session: java.util.TreeMap streamsMap>;
v = virtualinvoke v.<java.util.TreeMap: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Stream: boolean isClosed()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.Iterator: void remove()>();
goto label;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
if v == 0 goto label;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.impl.FutureImpl sessionClosed>;
if v == null goto label;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.impl.FutureImpl sessionClosed>;
interfaceinvoke v.<org.glassfish.grizzly.impl.FutureImpl: void result(java.lang.Object)>(v);
goto label;
label:
v = <org.glassfish.grizzly.http.frames.ErrorCode: org.glassfish.grizzly.http.frames.ErrorCode NO_ERROR>;
virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: void terminate(org.glassfish.grizzly.http.frames.ErrorCode,java.lang.String)>(v, "Session closed");
label:
return;
catch java.lang.Throwable from label to label with label;
}
private boolean isClosed()
{
org.glassfish.grizzly.http.Http2Session v;
org.glassfish.grizzly.CloseType v;
boolean v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.CloseType closeFlag>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
void sendMessageUpstreamWithParseNotify(org.glassfish.grizzly.http.Http2Stream, org.glassfish.grizzly.http.HttpContent)
{
org.glassfish.grizzly.filterchain.FilterChain v;
org.glassfish.grizzly.http.Http2Session v;
org.glassfish.grizzly.http.HttpContext v;
org.glassfish.grizzly.http.ProcessingState v;
org.glassfish.grizzly.filterchain.FilterChainContext v;
org.glassfish.grizzly.http.Http2BaseFilter v, v;
org.glassfish.grizzly.http.HttpContent v;
org.glassfish.grizzly.Connection v;
org.glassfish.grizzly.http.Http2Stream v;
boolean v, v;
org.glassfish.grizzly.http.HttpHeader v, v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: org.glassfish.grizzly.http.Http2Stream;
v := @parameter: org.glassfish.grizzly.http.HttpContent;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.filterchain.FilterChain http2StreamChain>;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.Connection connection>;
v = interfaceinvoke v.<org.glassfish.grizzly.filterchain.FilterChain: org.glassfish.grizzly.filterchain.FilterChainContext obtainFilterChainContext(org.glassfish.grizzly.Connection,org.glassfish.grizzly.Closeable)>(v, v);
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpContent: org.glassfish.grizzly.http.HttpHeader getHttpHeader()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpHeader: org.glassfish.grizzly.http.ProcessingState getProcessingState()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.ProcessingState: org.glassfish.grizzly.http.HttpContext getHttpContext()>();
virtualinvoke v.<org.glassfish.grizzly.http.HttpContext: org.glassfish.grizzly.http.HttpContext attach(org.glassfish.grizzly.filterchain.FilterChainContext)>(v);
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2BaseFilter handlerFilter>;
virtualinvoke v.<org.glassfish.grizzly.http.Http2BaseFilter: void onHttpContentParsed(org.glassfish.grizzly.http.HttpContent,org.glassfish.grizzly.filterchain.FilterChainContext)>(v, v);
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpContent: org.glassfish.grizzly.http.HttpHeader getHttpHeader()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpContent: boolean isLast()>();
if v == 0 goto label;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.http.Http2BaseFilter handlerFilter>;
virtualinvoke v.<org.glassfish.grizzly.http.Http2BaseFilter: boolean onHttpPacketParsed(org.glassfish.grizzly.http.HttpHeader,org.glassfish.grizzly.filterchain.FilterChainContext)>(v, v);
label:
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpHeader: boolean isSkipRemainder()>();
if v == 0 goto label;
return;
label:
specialinvoke v.<org.glassfish.grizzly.http.Http2Session: void sendMessageUpstream(org.glassfish.grizzly.http.Http2Stream,org.glassfish.grizzly.http.HttpPacket,org.glassfish.grizzly.filterchain.FilterChainContext)>(v, v, v);
return;
}
void sendMessageUpstream(org.glassfish.grizzly.http.Http2Stream, org.glassfish.grizzly.http.HttpPacket)
{
org.glassfish.grizzly.filterchain.FilterChain v;
org.glassfish.grizzly.http.Http2Session v;
org.glassfish.grizzly.http.HttpContext v;
org.glassfish.grizzly.http.ProcessingState v;
org.glassfish.grizzly.filterchain.FilterChainContext v;
org.glassfish.grizzly.http.HttpPacket v;
org.glassfish.grizzly.Connection v;
org.glassfish.grizzly.http.Http2Stream v;
org.glassfish.grizzly.http.HttpHeader v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: org.glassfish.grizzly.http.Http2Stream;
v := @parameter: org.glassfish.grizzly.http.HttpPacket;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.filterchain.FilterChain http2StreamChain>;
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.Connection connection>;
v = interfaceinvoke v.<org.glassfish.grizzly.filterchain.FilterChain: org.glassfish.grizzly.filterchain.FilterChainContext obtainFilterChainContext(org.glassfish.grizzly.Connection,org.glassfish.grizzly.Closeable)>(v, v);
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpPacket: org.glassfish.grizzly.http.HttpHeader getHttpHeader()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.HttpHeader: org.glassfish.grizzly.http.ProcessingState getProcessingState()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.ProcessingState: org.glassfish.grizzly.http.HttpContext getHttpContext()>();
virtualinvoke v.<org.glassfish.grizzly.http.HttpContext: org.glassfish.grizzly.http.HttpContext attach(org.glassfish.grizzly.filterchain.FilterChainContext)>(v);
specialinvoke v.<org.glassfish.grizzly.http.Http2Session: void sendMessageUpstream(org.glassfish.grizzly.http.Http2Stream,org.glassfish.grizzly.http.HttpPacket,org.glassfish.grizzly.filterchain.FilterChainContext)>(v, v, v);
return;
}
private void sendMessageUpstream(org.glassfish.grizzly.http.Http2Stream, org.glassfish.grizzly.http.HttpPacket, org.glassfish.grizzly.filterchain.FilterChainContext)
{
org.glassfish.grizzly.utils.Holder v;
org.glassfish.grizzly.http.Http2Session v;
org.glassfish.grizzly.IOEvent v;
org.glassfish.grizzly.filterchain.FilterChainContext v;
org.glassfish.grizzly.http.HttpPacket v;
org.glassfish.grizzly.http.Http2Session$3 v;
org.glassfish.grizzly.http.Http2Stream v;
org.glassfish.grizzly.Context v, v, v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: org.glassfish.grizzly.http.Http2Stream;
v := @parameter: org.glassfish.grizzly.http.HttpPacket;
v := @parameter: org.glassfish.grizzly.filterchain.FilterChainContext;
v = virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: org.glassfish.grizzly.Context getInternalContext()>();
v = <org.glassfish.grizzly.IOEvent: org.glassfish.grizzly.IOEvent READ>;
virtualinvoke v.<org.glassfish.grizzly.Context: void setIoEvent(org.glassfish.grizzly.IOEvent)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: org.glassfish.grizzly.Context getInternalContext()>();
v = new org.glassfish.grizzly.http.Http2Session$3;
specialinvoke v.<org.glassfish.grizzly.http.Http2Session$3: void <init>(org.glassfish.grizzly.http.Http2Session,org.glassfish.grizzly.http.Http2Stream)>(v, v);
virtualinvoke v.<org.glassfish.grizzly.Context: void addLifeCycleListener(org.glassfish.grizzly.IOEventLifeCycleListener)>(v);
virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: void setMessage(java.lang.Object)>(v);
v = v.<org.glassfish.grizzly.http.Http2Session: org.glassfish.grizzly.utils.Holder addressHolder>;
virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: void setAddressHolder(org.glassfish.grizzly.utils.Holder)>(v);
v = virtualinvoke v.<org.glassfish.grizzly.filterchain.FilterChainContext: org.glassfish.grizzly.Context getInternalContext()>();
staticinvoke <org.glassfish.grizzly.ProcessorExecutor: void execute(org.glassfish.grizzly.Context)>(v);
return;
}
protected org.glassfish.grizzly.http.frames.SettingsFrame$SettingsFrameBuilder prepareSettings()
{
org.glassfish.grizzly.http.frames.SettingsFrame$SettingsFrameBuilder v;
org.glassfish.grizzly.http.Http2Session v;
int v, v, v, v, v, v, v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = staticinvoke <org.glassfish.grizzly.http.frames.SettingsFrame: org.glassfish.grizzly.http.frames.SettingsFrame$SettingsFrameBuilder builder()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: int getLocalMaxConcurrentStreams()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: int getDefaultMaxConcurrentStreams()>();
if v == v goto label;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: int getLocalMaxConcurrentStreams()>();
virtualinvoke v.<org.glassfish.grizzly.http.frames.SettingsFrame$SettingsFrameBuilder: org.glassfish.grizzly.http.frames.SettingsFrame$SettingsFrameBuilder setting(int,int)>(3, v);
label:
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: int getLocalStreamWindowSize()>();
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: int getDefaultStreamWindowSize()>();
if v == v goto label;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: int getLocalStreamWindowSize()>();
virtualinvoke v.<org.glassfish.grizzly.http.frames.SettingsFrame$SettingsFrameBuilder: org.glassfish.grizzly.http.frames.SettingsFrame$SettingsFrameBuilder setting(int,int)>(4, v);
label:
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: int getMaxHeaderListSize()>();
virtualinvoke v.<org.glassfish.grizzly.http.frames.SettingsFrame$SettingsFrameBuilder: org.glassfish.grizzly.http.frames.SettingsFrame$SettingsFrameBuilder setting(int,int)>(6, v);
return v;
}
void ackConsumedData(int)
{
int v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: int;
virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: void ackConsumedData(org.glassfish.grizzly.http.Http2Stream,int)>(null, v);
return;
}
void ackConsumedData(org.glassfish.grizzly.http.Http2Stream, int)
{
java.util.concurrent.atomic.AtomicIntegerFieldUpdater v, v;
java.util.concurrent.atomic.AtomicInteger v, v;
int v, v, v, v, v, v, v, v;
org.glassfish.grizzly.http.Http2Stream v;
boolean v, v, v;
org.glassfish.grizzly.http.Http2Session v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: org.glassfish.grizzly.http.Http2Stream;
v := @parameter: int;
v = v.<org.glassfish.grizzly.http.Http2Session: java.util.concurrent.atomic.AtomicInteger unackedReadBytes>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int addAndGet(int)>(v);
v = v.<org.glassfish.grizzly.http.Http2Session: boolean isPrefaceSent>;
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: int getLocalConnectionWindowSize()>();
v = v / 3;
if v <= v goto label;
v = v.<org.glassfish.grizzly.http.Http2Session: java.util.concurrent.atomic.AtomicInteger unackedReadBytes>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: boolean compareAndSet(int,int)>(v, 0);
if v == 0 goto label;
virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: void sendWindowUpdate(int,int)>(0, v);
label:
if v == null goto label;
v = <org.glassfish.grizzly.http.Http2Stream: java.util.concurrent.atomic.AtomicIntegerFieldUpdater unackedReadBytesUpdater>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicIntegerFieldUpdater: int addAndGet(java.lang.Object,int)>(v, v);
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Stream: int getLocalWindowSize()>();
if v <= 0 goto label;
v = v / 2;
if v <= v goto label;
v = <org.glassfish.grizzly.http.Http2Stream: java.util.concurrent.atomic.AtomicIntegerFieldUpdater unackedReadBytesUpdater>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicIntegerFieldUpdater: boolean compareAndSet(java.lang.Object,int,int)>(v, v, 0);
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Stream: int getId()>();
virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: void sendWindowUpdate(int,int)>(v, v);
label:
return;
}
void registerStream(int, org.glassfish.grizzly.http.Http2Stream)
{
java.util.TreeMap v;
int v;
org.glassfish.grizzly.http.Http2Stream v;
java.lang.IllegalArgumentException v;
org.glassfish.grizzly.http.Http2Session v;
java.lang.Integer v;
java.lang.NullPointerException v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: int;
v := @parameter: org.glassfish.grizzly.http.Http2Stream;
if v >= 1 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Invalid stream ID");
throw v;
label:
if v != null goto label;
v = new java.lang.NullPointerException;
specialinvoke v.<java.lang.NullPointerException: void <init>(java.lang.String)>("Attempt to register null stream");
throw v;
label:
v = v.<org.glassfish.grizzly.http.Http2Session: java.util.TreeMap streamsMap>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
virtualinvoke v.<java.util.TreeMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
specialinvoke v.<org.glassfish.grizzly.http.Http2Session: void incStreamCount()>();
return;
}
private void registerUpgradeStream(org.glassfish.grizzly.http.Http2Stream) throws org.glassfish.grizzly.http.Http2StreamException
{
java.lang.Throwable v;
org.glassfish.grizzly.http.frames.ErrorCode v;
org.glassfish.grizzly.http.Http2Session v;
org.glassfish.grizzly.http.Http2StreamException v;
java.lang.Object v;
org.glassfish.grizzly.http.Http2Stream v;
boolean v, v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v := @parameter: org.glassfish.grizzly.http.Http2Stream;
v = v.<org.glassfish.grizzly.http.Http2Session: java.lang.Object sessionLock>;
entermonitor v;
label:
v = specialinvoke v.<org.glassfish.grizzly.http.Http2Session: boolean isClosed()>();
if v == 0 goto label;
v = new org.glassfish.grizzly.http.Http2StreamException;
v = <org.glassfish.grizzly.http.frames.ErrorCode: org.glassfish.grizzly.http.frames.ErrorCode REFUSED_STREAM>;
specialinvoke v.<org.glassfish.grizzly.http.Http2StreamException: void <init>(int,org.glassfish.grizzly.http.frames.ErrorCode,java.lang.String)>(1, v, "Session is closed");
throw v;
label:
virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: void registerStream(int,org.glassfish.grizzly.http.Http2Stream)>(1, v);
v = virtualinvoke v.<org.glassfish.grizzly.http.Http2Session: boolean isServer()>();
if v != 0 goto label;
v.<org.glassfish.grizzly.http.Http2Session: int lastLocalStreamId> = 1;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void incStreamCount()
{
org.glassfish.grizzly.http.Http2Session v;
java.util.concurrent.atomic.AtomicInteger v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: java.util.concurrent.atomic.AtomicInteger concurrentStreamsCount>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int incrementAndGet()>();
return;
}
private void decStreamCount()
{
org.glassfish.grizzly.http.Http2Session v;
java.util.concurrent.atomic.AtomicInteger v;
v := @this: org.glassfish.grizzly.http.Http2Session;
v = v.<org.glassfish.grizzly.http.Http2Session: java.util.concurrent.atomic.AtomicInteger concurrentStreamsCount>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int decrementAndGet()>();
return;
}
static void <clinit>()
{
java.lang.Class v;
java.util.logging.Logger v;
boolean v, v;
v = class "Lorg/glassfish/grizzly/http2/Http2Session;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<org.glassfish.grizzly.http.Http2Session: boolean $assertionsDisabled> = v;
v = staticinvoke <org.glassfish.grizzly.Grizzly: java.util.logging.Logger logger(java.lang.Class)>(class "Lorg/glassfish/grizzly/http2/Http2Session;");
<org.glassfish.grizzly.http.Http2Session: java.util.logging.Logger LOGGER> = v;
return;
}
}