public class io.netty.handler.codec.http.DefaultHttp2FrameReader extends java.lang.Object implements io.netty.handler.codec.http.Http2FrameReader, io.netty.handler.codec.http.Http2FrameSizePolicy, io.netty.handler.codec.http.Http2FrameReader$Configuration
{
private final io.netty.handler.codec.http.Http2HeadersDecoder headersDecoder;
private boolean readingHeaders;
private boolean readError;
private byte frameType;
private int streamId;
private io.netty.handler.codec.http.Http2Flags flags;
private int payloadLength;
private io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation headersContinuation;
private int maxFrameSize;
public void <init>()
{
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void <init>(boolean)>(1);
return;
}
public void <init>(boolean)
{
io.netty.handler.codec.http.DefaultHttp2HeadersDecoder v;
boolean v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
v := @parameter: boolean;
v = new io.netty.handler.codec.http.DefaultHttp2HeadersDecoder;
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2HeadersDecoder: void <init>(boolean)>(v);
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void <init>(io.netty.handler.codec.http.Http2HeadersDecoder)>(v);
return;
}
public void <init>(io.netty.handler.codec.http.Http2HeadersDecoder)
{
io.netty.handler.codec.http.Http2HeadersDecoder v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
v := @parameter: io.netty.handler.codec.http.Http2HeadersDecoder;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: boolean readingHeaders> = 1;
v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.Http2HeadersDecoder headersDecoder> = v;
v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int maxFrameSize> = 16384;
return;
}
public io.netty.handler.codec.http.Http2HeadersDecoder$Configuration headersConfiguration()
{
io.netty.handler.codec.http.Http2HeadersDecoder v;
io.netty.handler.codec.http.Http2HeadersDecoder$Configuration v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.Http2HeadersDecoder headersDecoder>;
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2HeadersDecoder: io.netty.handler.codec.http.Http2HeadersDecoder$Configuration configuration()>();
return v;
}
public io.netty.handler.codec.http.Http2FrameReader$Configuration configuration()
{
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
return v;
}
public io.netty.handler.codec.http.Http2FrameSizePolicy frameSizePolicy()
{
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
return v;
}
public void maxFrameSize(int) throws io.netty.handler.codec.http.Http2Exception
{
java.lang.Object[] v;
java.lang.Integer v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
io.netty.handler.codec.http.Http2Exception v;
int v, v;
io.netty.handler.codec.http.Http2Error v;
boolean v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
v := @parameter: int;
v = staticinvoke <io.netty.handler.codec.http.Http2CodecUtil: boolean isMaxFrameSizeValid(int)>(v);
if v != 0 goto label;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error FRAME_SIZE_ERROR>;
v = newarray (java.lang.Object)[1];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception streamError(int,io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, v, "Invalid MAX_FRAME_SIZE specified in sent settings: %d", v);
throw v;
label:
v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int maxFrameSize> = v;
return;
}
public int maxFrameSize()
{
int v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int maxFrameSize>;
return v;
}
public void close()
{
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void closeHeadersContinuation()>();
return;
}
private void closeHeadersContinuation()
{
io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation v, v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation headersContinuation>;
if v == null goto label;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation headersContinuation>;
virtualinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation: void close()>();
v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation headersContinuation> = null;
label:
return;
}
public void readFrame(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, io.netty.handler.codec.http.Http2FrameListener) throws io.netty.handler.codec.http.Http2Exception
{
java.lang.Throwable v;
java.lang.RuntimeException v;
io.netty.handler.codec.http.Http2FrameListener v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
io.netty.channel.ChannelHandlerContext v;
io.netty.buffer.ByteBuf v;
io.netty.handler.codec.http.Http2Exception v;
int v;
boolean v, v, v, v, v, v, v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.handler.codec.http.Http2FrameListener;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: boolean readError>;
if v == 0 goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf skipBytes(int)>(v);
return;
label:
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: boolean readingHeaders>;
if v == 0 goto label;
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void processHeaderState(io.netty.buffer.ByteBuf)>(v);
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: boolean readingHeaders>;
if v == 0 goto label;
label:
return;
label:
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void processPayloadState(io.netty.channel.ChannelHandlerContext,io.netty.buffer.ByteBuf,io.netty.handler.codec.http.Http2FrameListener)>(v, v, v);
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: boolean readingHeaders>;
if v != 0 goto label;
label:
return;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: boolean isReadable()>();
if v != 0 goto label;
label:
goto label;
label:
v := @caughtexception;
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: boolean isStreamError(io.netty.handler.codec.http.Http2Exception)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: boolean readError> = v;
throw v;
label:
v := @caughtexception;
v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: boolean readError> = 1;
throw v;
label:
v := @caughtexception;
v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: boolean readError> = 1;
staticinvoke <io.netty.util.internal.PlatformDependent: void throwException(java.lang.Throwable)>(v);
label:
return;
catch io.netty.handler.codec.http.Http2Exception from label to label with label;
catch io.netty.handler.codec.http.Http2Exception from label to label with label;
catch io.netty.handler.codec.http.Http2Exception from label to label with label;
catch java.lang.RuntimeException from label to label with label;
catch java.lang.RuntimeException from label to label with label;
catch java.lang.RuntimeException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void processHeaderState(io.netty.buffer.ByteBuf) throws io.netty.handler.codec.http.Http2Exception
{
java.lang.Object[] v;
java.lang.Integer v, v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
short v;
byte v, v;
io.netty.buffer.ByteBuf v;
io.netty.handler.codec.http.Http2Exception v;
int v, v, v, v, v, v, v;
io.netty.handler.codec.http.Http2Flags v;
io.netty.handler.codec.http.Http2Error v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
v := @parameter: io.netty.buffer.ByteBuf;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
if v >= 9 goto label;
return;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readUnsignedMedium()>();
v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength> = v;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int maxFrameSize>;
if v <= v goto label;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error FRAME_SIZE_ERROR>;
v = newarray (java.lang.Object)[2];
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int maxFrameSize>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception connectionError(io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, "Frame length: %d exceeds maximum: %d", v);
throw v;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte readByte()>();
v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: byte frameType> = v;
v = new io.netty.handler.codec.http.Http2Flags;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: short readUnsignedByte()>();
specialinvoke v.<io.netty.handler.codec.http.Http2Flags: void <init>(short)>(v);
v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.Http2Flags flags> = v;
v = staticinvoke <io.netty.handler.codec.http.Http2CodecUtil: int readUnsignedInt(io.netty.buffer.ByteBuf)>(v);
v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId> = v;
v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: boolean readingHeaders> = 0;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: byte frameType>;
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:
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyDataFrame()>();
goto label;
label:
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyHeadersFrame()>();
goto label;
label:
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyPriorityFrame()>();
goto label;
label:
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyRstStreamFrame()>();
goto label;
label:
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifySettingsFrame()>();
goto label;
label:
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyPushPromiseFrame()>();
goto label;
label:
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyPingFrame()>();
goto label;
label:
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyGoAwayFrame()>();
goto label;
label:
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyWindowUpdateFrame()>();
goto label;
label:
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyContinuationFrame()>();
goto label;
label:
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyUnknownFrame()>();
label:
return;
}
private void processPayloadState(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, io.netty.handler.codec.http.Http2FrameListener) throws io.netty.handler.codec.http.Http2Exception
{
long v;
io.netty.handler.codec.http.Http2FrameListener v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
io.netty.channel.ChannelHandlerContext v;
byte v;
io.netty.buffer.ByteBuf v;
int v, v, v, v, v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.handler.codec.http.Http2FrameListener;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
if v >= v goto label;
return;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
v = v + v;
v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: boolean readingHeaders> = 1;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: byte frameType>;
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:
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void readDataFrame(io.netty.channel.ChannelHandlerContext,io.netty.buffer.ByteBuf,int,io.netty.handler.codec.http.Http2FrameListener)>(v, v, v, v);
goto label;
label:
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void readHeadersFrame(io.netty.channel.ChannelHandlerContext,io.netty.buffer.ByteBuf,int,io.netty.handler.codec.http.Http2FrameListener)>(v, v, v, v);
goto label;
label:
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void readPriorityFrame(io.netty.channel.ChannelHandlerContext,io.netty.buffer.ByteBuf,io.netty.handler.codec.http.Http2FrameListener)>(v, v, v);
goto label;
label:
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void readRstStreamFrame(io.netty.channel.ChannelHandlerContext,io.netty.buffer.ByteBuf,io.netty.handler.codec.http.Http2FrameListener)>(v, v, v);
goto label;
label:
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void readSettingsFrame(io.netty.channel.ChannelHandlerContext,io.netty.buffer.ByteBuf,io.netty.handler.codec.http.Http2FrameListener)>(v, v, v);
goto label;
label:
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void readPushPromiseFrame(io.netty.channel.ChannelHandlerContext,io.netty.buffer.ByteBuf,int,io.netty.handler.codec.http.Http2FrameListener)>(v, v, v, v);
goto label;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: long readLong()>();
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void readPingFrame(io.netty.channel.ChannelHandlerContext,long,io.netty.handler.codec.http.Http2FrameListener)>(v, v, v);
goto label;
label:
staticinvoke <io.netty.handler.codec.http.DefaultHttp2FrameReader: void readGoAwayFrame(io.netty.channel.ChannelHandlerContext,io.netty.buffer.ByteBuf,int,io.netty.handler.codec.http.Http2FrameListener)>(v, v, v, v);
goto label;
label:
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void readWindowUpdateFrame(io.netty.channel.ChannelHandlerContext,io.netty.buffer.ByteBuf,io.netty.handler.codec.http.Http2FrameListener)>(v, v, v);
goto label;
label:
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void readContinuationFrame(io.netty.buffer.ByteBuf,int,io.netty.handler.codec.http.Http2FrameListener)>(v, v, v);
goto label;
label:
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void readUnknownFrame(io.netty.channel.ChannelHandlerContext,io.netty.buffer.ByteBuf,int,io.netty.handler.codec.http.Http2FrameListener)>(v, v, v, v);
label:
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf readerIndex(int)>(v);
return;
}
private void verifyDataFrame() throws io.netty.handler.codec.http.Http2Exception
{
java.lang.Object[] v;
io.netty.handler.codec.http.Http2Flags v;
java.lang.Integer v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
io.netty.handler.codec.http.Http2Exception v;
int v, v, v, v;
io.netty.handler.codec.http.Http2Error v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyAssociatedWithAStream()>();
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyNotProcessingHeaders()>();
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.Http2Flags flags>;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Flags: int getPaddingPresenceFieldLength()>();
if v >= v goto label;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error FRAME_SIZE_ERROR>;
v = newarray (java.lang.Object)[1];
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception streamError(int,io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, v, "Frame length %d too small.", v);
throw v;
label:
return;
}
private void verifyHeadersFrame() throws io.netty.handler.codec.http.Http2Exception
{
java.lang.Object[] v;
io.netty.handler.codec.http.Http2Flags v, v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
io.netty.handler.codec.http.Http2Exception v;
int v, v, v, v, v, v;
io.netty.handler.codec.http.Http2Error v;
java.lang.String v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyAssociatedWithAStream()>();
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyNotProcessingHeaders()>();
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.Http2Flags flags>;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Flags: int getPaddingPresenceFieldLength()>();
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.Http2Flags flags>;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Flags: int getNumPriorityBytes()>();
v = v + v;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
if v >= v goto label;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error FRAME_SIZE_ERROR>;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Frame length too small.\u0001");
v = newarray (java.lang.Object)[0];
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception streamError(int,io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, v, v, v);
throw v;
label:
return;
}
private void verifyPriorityFrame() throws io.netty.handler.codec.http.Http2Exception
{
java.lang.Object[] v;
java.lang.Integer v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
io.netty.handler.codec.http.Http2Exception v;
int v, v, v;
io.netty.handler.codec.http.Http2Error v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyAssociatedWithAStream()>();
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyNotProcessingHeaders()>();
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
if v == 5 goto label;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error FRAME_SIZE_ERROR>;
v = newarray (java.lang.Object)[1];
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception streamError(int,io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, v, "Invalid frame length %d.", v);
throw v;
label:
return;
}
private void verifyRstStreamFrame() throws io.netty.handler.codec.http.Http2Exception
{
java.lang.Object[] v;
io.netty.handler.codec.http.Http2Exception v;
int v, v;
io.netty.handler.codec.http.Http2Error v;
java.lang.Integer v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyAssociatedWithAStream()>();
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyNotProcessingHeaders()>();
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
if v == 4 goto label;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error FRAME_SIZE_ERROR>;
v = newarray (java.lang.Object)[1];
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception connectionError(io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, "Invalid frame length %d.", v);
throw v;
label:
return;
}
private void verifySettingsFrame() throws io.netty.handler.codec.http.Http2Exception
{
java.lang.Object[] v, v, v;
java.lang.Integer v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
io.netty.handler.codec.http.Http2Exception v, v, v;
int v, v, v, v, v;
boolean v;
io.netty.handler.codec.http.Http2Flags v;
io.netty.handler.codec.http.Http2Error v, v, v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyNotProcessingHeaders()>();
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
if v == 0 goto label;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error PROTOCOL_ERROR>;
v = newarray (java.lang.Object)[0];
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception connectionError(io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, "A stream ID must be zero.", v);
throw v;
label:
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.Http2Flags flags>;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Flags: boolean ack()>();
if v == 0 goto label;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
if v <= 0 goto label;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error FRAME_SIZE_ERROR>;
v = newarray (java.lang.Object)[0];
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception connectionError(io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, "Ack settings frame must have an empty payload.", v);
throw v;
label:
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
v = v % 6;
if v <= 0 goto label;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error FRAME_SIZE_ERROR>;
v = newarray (java.lang.Object)[1];
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception connectionError(io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, "Frame length %d invalid.", v);
throw v;
label:
return;
}
private void verifyPushPromiseFrame() throws io.netty.handler.codec.http.Http2Exception
{
java.lang.Object[] v;
io.netty.handler.codec.http.Http2Flags v;
java.lang.Integer v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
io.netty.handler.codec.http.Http2Exception v;
int v, v, v, v, v;
io.netty.handler.codec.http.Http2Error v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyNotProcessingHeaders()>();
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.Http2Flags flags>;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Flags: int getPaddingPresenceFieldLength()>();
v = v + 4;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
if v >= v goto label;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error FRAME_SIZE_ERROR>;
v = newarray (java.lang.Object)[1];
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception streamError(int,io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, v, "Frame length %d too small.", v);
throw v;
label:
return;
}
private void verifyPingFrame() throws io.netty.handler.codec.http.Http2Exception
{
java.lang.Object[] v, v;
java.lang.Integer v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
io.netty.handler.codec.http.Http2Exception v, v;
int v, v, v;
io.netty.handler.codec.http.Http2Error v, v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyNotProcessingHeaders()>();
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
if v == 0 goto label;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error PROTOCOL_ERROR>;
v = newarray (java.lang.Object)[0];
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception connectionError(io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, "A stream ID must be zero.", v);
throw v;
label:
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
if v == 8 goto label;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error FRAME_SIZE_ERROR>;
v = newarray (java.lang.Object)[1];
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception connectionError(io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, "Frame length %d incorrect size for ping.", v);
throw v;
label:
return;
}
private void verifyGoAwayFrame() throws io.netty.handler.codec.http.Http2Exception
{
java.lang.Object[] v, v;
java.lang.Integer v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
io.netty.handler.codec.http.Http2Exception v, v;
int v, v, v;
io.netty.handler.codec.http.Http2Error v, v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyNotProcessingHeaders()>();
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
if v == 0 goto label;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error PROTOCOL_ERROR>;
v = newarray (java.lang.Object)[0];
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception connectionError(io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, "A stream ID must be zero.", v);
throw v;
label:
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
if v >= 8 goto label;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error FRAME_SIZE_ERROR>;
v = newarray (java.lang.Object)[1];
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception connectionError(io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, "Frame length %d too small.", v);
throw v;
label:
return;
}
private void verifyWindowUpdateFrame() throws io.netty.handler.codec.http.Http2Exception
{
java.lang.Object[] v;
java.lang.Integer v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
io.netty.handler.codec.http.Http2Exception v;
int v, v, v;
io.netty.handler.codec.http.Http2Error v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyNotProcessingHeaders()>();
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
staticinvoke <io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyStreamOrConnectionId(int,java.lang.String)>(v, "Stream ID");
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
if v == 4 goto label;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error FRAME_SIZE_ERROR>;
v = newarray (java.lang.Object)[1];
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception connectionError(io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, "Invalid frame length %d.", v);
throw v;
label:
return;
}
private void verifyContinuationFrame() throws io.netty.handler.codec.http.Http2Exception
{
java.lang.Object[] v, v, v;
java.lang.Integer v, v, v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
byte v;
io.netty.handler.codec.http.Http2Exception v, v, v;
int v, v, v, v, v, v, v, v;
java.lang.Byte v;
io.netty.handler.codec.http.Http2Flags v;
io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation v, v, v;
io.netty.handler.codec.http.Http2Error v, v, v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyAssociatedWithAStream()>();
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation headersContinuation>;
if v != null goto label;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error PROTOCOL_ERROR>;
v = newarray (java.lang.Object)[1];
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: byte frameType>;
v = staticinvoke <java.lang.Byte: java.lang.Byte valueOf(byte)>(v);
v[0] = v;
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception connectionError(io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, "Received %s frame but not currently processing headers.", v);
throw v;
label:
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation headersContinuation>;
v = virtualinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation: int getStreamId()>();
if v == v goto label;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error PROTOCOL_ERROR>;
v = newarray (java.lang.Object)[2];
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation headersContinuation>;
v = virtualinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation: int getStreamId()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception connectionError(io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, "Continuation stream ID does not match pending headers. Expected %d, but received %d.", v);
throw v;
label:
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.Http2Flags flags>;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Flags: int getPaddingPresenceFieldLength()>();
if v >= v goto label;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error FRAME_SIZE_ERROR>;
v = newarray (java.lang.Object)[1];
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception streamError(int,io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, v, "Frame length %d too small for padding.", v);
throw v;
label:
return;
}
private void verifyUnknownFrame() throws io.netty.handler.codec.http.Http2Exception
{
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyNotProcessingHeaders()>();
return;
}
private void readDataFrame(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, int, io.netty.handler.codec.http.Http2FrameListener) throws io.netty.handler.codec.http.Http2Exception
{
io.netty.handler.codec.http.Http2Flags v;
io.netty.handler.codec.http.Http2FrameListener v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
io.netty.channel.ChannelHandlerContext v;
io.netty.buffer.ByteBuf v, v;
int v, v, v, v, v, v;
boolean v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: io.netty.handler.codec.http.Http2FrameListener;
v = specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int readPadding(io.netty.buffer.ByteBuf)>(v);
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyPadding(int)>(v);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = v - v;
v = staticinvoke <io.netty.handler.codec.http.DefaultHttp2FrameReader: int lengthWithoutTrailingPadding(int,int)>(v, v);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf readSlice(int)>(v);
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.Http2Flags flags>;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Flags: boolean endOfStream()>();
interfaceinvoke v.<io.netty.handler.codec.http.Http2FrameListener: int onDataRead(io.netty.channel.ChannelHandlerContext,int,io.netty.buffer.ByteBuf,int,boolean)>(v, v, v, v, v);
return;
}
private void readHeadersFrame(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, int, io.netty.handler.codec.http.Http2FrameListener) throws io.netty.handler.codec.http.Http2Exception
{
byte v;
io.netty.handler.codec.http.Http2Exception v;
io.netty.handler.codec.http.DefaultHttp2FrameReader$1 v;
io.netty.handler.codec.http.DefaultHttp2FrameReader$2 v;
boolean v, v, v, v, v, v;
io.netty.handler.codec.http.Http2Flags v, v, v, v, v, v;
io.netty.handler.codec.http.Http2FrameListener v;
io.netty.handler.codec.http.Http2Error v;
java.lang.Object[] v;
long v, v, v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
io.netty.channel.ChannelHandlerContext v;
short v;
io.netty.buffer.ByteBuf v;
int v, v, v, v, v, v, v, v, v, v, v, v;
io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation v, v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: io.netty.handler.codec.http.Http2FrameListener;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.Http2Flags flags>;
v = specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int readPadding(io.netty.buffer.ByteBuf)>(v);
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyPadding(int)>(v);
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.Http2Flags flags>;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Flags: boolean priorityPresent()>();
if v == 0 goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: long readUnsignedInt()>();
v = v & 2147483648L;
v = v cmp 0L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v & 2147483647L;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
if v != v goto label;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error PROTOCOL_ERROR>;
v = newarray (java.lang.Object)[0];
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception streamError(int,io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, v, "A stream cannot depend on itself.", v);
throw v;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: short readUnsignedByte()>();
v = v + 1;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = v - v;
v = staticinvoke <io.netty.handler.codec.http.DefaultHttp2FrameReader: int lengthWithoutTrailingPadding(int,int)>(v, v);
v = new io.netty.handler.codec.http.DefaultHttp2FrameReader$1;
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader$1: void <init>(io.netty.handler.codec.http.DefaultHttp2FrameReader,int,io.netty.channel.ChannelHandlerContext,int,short,boolean,int,io.netty.handler.codec.http.Http2Flags)>(v, v, v, v, v, v, v, v);
v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation headersContinuation> = v;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation headersContinuation>;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.Http2Flags flags>;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Flags: boolean endOfHeaders()>();
virtualinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation: void processFragment(boolean,io.netty.buffer.ByteBuf,int,io.netty.handler.codec.http.Http2FrameListener)>(v, v, v, v);
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.Http2Flags flags>;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Flags: boolean endOfHeaders()>();
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void resetHeadersContinuationIfEnd(boolean)>(v);
return;
label:
v = new io.netty.handler.codec.http.DefaultHttp2FrameReader$2;
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader$2: void <init>(io.netty.handler.codec.http.DefaultHttp2FrameReader,int,io.netty.channel.ChannelHandlerContext,int,io.netty.handler.codec.http.Http2Flags)>(v, v, v, v, v);
v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation headersContinuation> = v;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = v - v;
v = staticinvoke <io.netty.handler.codec.http.DefaultHttp2FrameReader: int lengthWithoutTrailingPadding(int,int)>(v, v);
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation headersContinuation>;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.Http2Flags flags>;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Flags: boolean endOfHeaders()>();
virtualinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation: void processFragment(boolean,io.netty.buffer.ByteBuf,int,io.netty.handler.codec.http.Http2FrameListener)>(v, v, v, v);
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.Http2Flags flags>;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Flags: boolean endOfHeaders()>();
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void resetHeadersContinuationIfEnd(boolean)>(v);
return;
}
private void resetHeadersContinuationIfEnd(boolean)
{
boolean v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
v := @parameter: boolean;
if v == 0 goto label;
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void closeHeadersContinuation()>();
label:
return;
}
private void readPriorityFrame(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, io.netty.handler.codec.http.Http2FrameListener) throws io.netty.handler.codec.http.Http2Exception
{
java.lang.Object[] v;
long v, v, v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
io.netty.channel.ChannelHandlerContext v;
short v;
byte v;
io.netty.buffer.ByteBuf v;
io.netty.handler.codec.http.Http2Exception v;
int v, v, v, v;
boolean v;
io.netty.handler.codec.http.Http2FrameListener v;
io.netty.handler.codec.http.Http2Error v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.handler.codec.http.Http2FrameListener;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: long readUnsignedInt()>();
v = v & 2147483648L;
v = v cmp 0L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v & 2147483647L;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
if v != v goto label;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error PROTOCOL_ERROR>;
v = newarray (java.lang.Object)[0];
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception streamError(int,io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, v, "A stream cannot depend on itself.", v);
throw v;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: short readUnsignedByte()>();
v = v + 1;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
interfaceinvoke v.<io.netty.handler.codec.http.Http2FrameListener: void onPriorityRead(io.netty.channel.ChannelHandlerContext,int,int,short,boolean)>(v, v, v, v, v);
return;
}
private void readRstStreamFrame(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, io.netty.handler.codec.http.Http2FrameListener) throws io.netty.handler.codec.http.Http2Exception
{
io.netty.channel.ChannelHandlerContext v;
io.netty.buffer.ByteBuf v;
int v;
long v;
io.netty.handler.codec.http.Http2FrameListener v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.handler.codec.http.Http2FrameListener;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: long readUnsignedInt()>();
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
interfaceinvoke v.<io.netty.handler.codec.http.Http2FrameListener: void onRstStreamRead(io.netty.channel.ChannelHandlerContext,int,long)>(v, v, v);
return;
}
private void readSettingsFrame(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, io.netty.handler.codec.http.Http2FrameListener) throws io.netty.handler.codec.http.Http2Exception
{
java.lang.Object[] v, v;
long v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
io.netty.channel.ChannelHandlerContext v;
io.netty.buffer.ByteBuf v;
java.lang.Long v;
io.netty.handler.codec.http.Http2Exception v, v;
int v, v, v, v;
java.lang.String v, v;
boolean v;
io.netty.handler.codec.http.Http2Flags v;
char v;
java.lang.IllegalArgumentException v;
io.netty.handler.codec.http.Http2FrameListener v;
io.netty.handler.codec.http.Http2Settings v;
io.netty.handler.codec.http.Http2Error v, v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.handler.codec.http.Http2FrameListener;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.Http2Flags flags>;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Flags: boolean ack()>();
if v == 0 goto label;
interfaceinvoke v.<io.netty.handler.codec.http.Http2FrameListener: void onSettingsAckRead(io.netty.channel.ChannelHandlerContext)>(v);
goto label;
label:
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
v = v / 6;
v = new io.netty.handler.codec.http.Http2Settings;
specialinvoke v.<io.netty.handler.codec.http.Http2Settings: void <init>()>();
v = 0;
label:
if v >= v goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readUnsignedShort()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: long readUnsignedInt()>();
label:
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<io.netty.handler.codec.http.Http2Settings: java.lang.Long put(char,java.lang.Long)>(v, v);
label:
goto label;
label:
v := @caughtexception;
if v != 4 goto label;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error FLOW_CONTROL_ERROR>;
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<java.lang.IllegalArgumentException: java.lang.String getMessage()>();
v[0] = v;
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception connectionError(io.netty.handler.codec.http.Http2Error,java.lang.Throwable,java.lang.String,java.lang.Object[])>(v, v, "Failed setting initial window size: %s", v);
throw v;
label:
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error PROTOCOL_ERROR>;
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<java.lang.IllegalArgumentException: java.lang.String getMessage()>();
v[0] = v;
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception connectionError(io.netty.handler.codec.http.Http2Error,java.lang.Throwable,java.lang.String,java.lang.Object[])>(v, v, "Protocol error: %s", v);
throw v;
label:
v = v + 1;
goto label;
label:
interfaceinvoke v.<io.netty.handler.codec.http.Http2FrameListener: void onSettingsRead(io.netty.channel.ChannelHandlerContext,io.netty.handler.codec.http.Http2Settings)>(v, v);
label:
return;
catch java.lang.IllegalArgumentException from label to label with label;
}
private void readPushPromiseFrame(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, int, io.netty.handler.codec.http.Http2FrameListener) throws io.netty.handler.codec.http.Http2Exception
{
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
io.netty.channel.ChannelHandlerContext v;
io.netty.buffer.ByteBuf v;
int v, v, v, v, v, v, v;
io.netty.handler.codec.http.DefaultHttp2FrameReader$3 v;
boolean v, v;
io.netty.handler.codec.http.Http2Flags v, v;
io.netty.handler.codec.http.Http2FrameListener v;
io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: io.netty.handler.codec.http.Http2FrameListener;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
v = specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int readPadding(io.netty.buffer.ByteBuf)>(v);
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void verifyPadding(int)>(v);
v = staticinvoke <io.netty.handler.codec.http.Http2CodecUtil: int readUnsignedInt(io.netty.buffer.ByteBuf)>(v);
v = new io.netty.handler.codec.http.DefaultHttp2FrameReader$3;
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader$3: void <init>(io.netty.handler.codec.http.DefaultHttp2FrameReader,int,io.netty.channel.ChannelHandlerContext,int,int)>(v, v, v, v, v);
v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation headersContinuation> = v;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = v - v;
v = staticinvoke <io.netty.handler.codec.http.DefaultHttp2FrameReader: int lengthWithoutTrailingPadding(int,int)>(v, v);
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation headersContinuation>;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.Http2Flags flags>;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Flags: boolean endOfHeaders()>();
virtualinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation: void processFragment(boolean,io.netty.buffer.ByteBuf,int,io.netty.handler.codec.http.Http2FrameListener)>(v, v, v, v);
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.Http2Flags flags>;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Flags: boolean endOfHeaders()>();
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void resetHeadersContinuationIfEnd(boolean)>(v);
return;
}
private void readPingFrame(io.netty.channel.ChannelHandlerContext, long, io.netty.handler.codec.http.Http2FrameListener) throws io.netty.handler.codec.http.Http2Exception
{
io.netty.channel.ChannelHandlerContext v;
io.netty.handler.codec.http.Http2Flags v;
long v;
io.netty.handler.codec.http.Http2FrameListener v;
boolean v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: long;
v := @parameter: io.netty.handler.codec.http.Http2FrameListener;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.Http2Flags flags>;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Flags: boolean ack()>();
if v == 0 goto label;
interfaceinvoke v.<io.netty.handler.codec.http.Http2FrameListener: void onPingAckRead(io.netty.channel.ChannelHandlerContext,long)>(v, v);
goto label;
label:
interfaceinvoke v.<io.netty.handler.codec.http.Http2FrameListener: void onPingRead(io.netty.channel.ChannelHandlerContext,long)>(v, v);
label:
return;
}
private static void readGoAwayFrame(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, int, io.netty.handler.codec.http.Http2FrameListener) throws io.netty.handler.codec.http.Http2Exception
{
long v;
io.netty.handler.codec.http.Http2FrameListener v;
io.netty.channel.ChannelHandlerContext v;
io.netty.buffer.ByteBuf v, v;
int v, v, v, v;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: io.netty.handler.codec.http.Http2FrameListener;
v = staticinvoke <io.netty.handler.codec.http.Http2CodecUtil: int readUnsignedInt(io.netty.buffer.ByteBuf)>(v);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: long readUnsignedInt()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = v - v;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf readSlice(int)>(v);
interfaceinvoke v.<io.netty.handler.codec.http.Http2FrameListener: void onGoAwayRead(io.netty.channel.ChannelHandlerContext,int,long,io.netty.buffer.ByteBuf)>(v, v, v, v);
return;
}
private void readWindowUpdateFrame(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, io.netty.handler.codec.http.Http2FrameListener) throws io.netty.handler.codec.http.Http2Exception
{
java.lang.Object[] v;
io.netty.handler.codec.http.Http2FrameListener v;
java.lang.Integer v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
io.netty.channel.ChannelHandlerContext v;
io.netty.buffer.ByteBuf v;
io.netty.handler.codec.http.Http2Exception v;
int v, v, v, v;
io.netty.handler.codec.http.Http2Error v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.handler.codec.http.Http2FrameListener;
v = staticinvoke <io.netty.handler.codec.http.Http2CodecUtil: int readUnsignedInt(io.netty.buffer.ByteBuf)>(v);
if v != 0 goto label;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error PROTOCOL_ERROR>;
v = newarray (java.lang.Object)[1];
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception streamError(int,io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, v, "Received WINDOW_UPDATE with delta 0 for stream: %d", v);
throw v;
label:
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
interfaceinvoke v.<io.netty.handler.codec.http.Http2FrameListener: void onWindowUpdateRead(io.netty.channel.ChannelHandlerContext,int,int)>(v, v, v);
return;
}
private void readContinuationFrame(io.netty.buffer.ByteBuf, int, io.netty.handler.codec.http.Http2FrameListener) throws io.netty.handler.codec.http.Http2Exception
{
io.netty.handler.codec.http.Http2Flags v, v;
io.netty.handler.codec.http.Http2FrameListener v;
io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
io.netty.buffer.ByteBuf v;
int v, v, v;
boolean v, v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: io.netty.handler.codec.http.Http2FrameListener;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation headersContinuation>;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.Http2Flags flags>;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Flags: boolean endOfHeaders()>();
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = v - v;
virtualinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation: void processFragment(boolean,io.netty.buffer.ByteBuf,int,io.netty.handler.codec.http.Http2FrameListener)>(v, v, v, v);
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.Http2Flags flags>;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Flags: boolean endOfHeaders()>();
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: void resetHeadersContinuationIfEnd(boolean)>(v);
return;
}
private void readUnknownFrame(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, int, io.netty.handler.codec.http.Http2FrameListener) throws io.netty.handler.codec.http.Http2Exception
{
io.netty.handler.codec.http.Http2Flags v;
io.netty.handler.codec.http.Http2FrameListener v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
io.netty.channel.ChannelHandlerContext v;
byte v;
io.netty.buffer.ByteBuf v, v;
int v, v, v, v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: io.netty.handler.codec.http.Http2FrameListener;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = v - v;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf readSlice(int)>(v);
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: byte frameType>;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.Http2Flags flags>;
interfaceinvoke v.<io.netty.handler.codec.http.Http2FrameListener: void onUnknownFrame(io.netty.channel.ChannelHandlerContext,byte,int,io.netty.handler.codec.http.Http2Flags,io.netty.buffer.ByteBuf)>(v, v, v, v, v);
return;
}
private int readPadding(io.netty.buffer.ByteBuf)
{
short v;
io.netty.buffer.ByteBuf v;
io.netty.handler.codec.http.Http2Flags v;
int v;
boolean v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
v := @parameter: io.netty.buffer.ByteBuf;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.Http2Flags flags>;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Flags: boolean paddingPresent()>();
if v != 0 goto label;
return 0;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: short readUnsignedByte()>();
v = v + 1;
return v;
}
private void verifyPadding(int) throws io.netty.handler.codec.http.Http2Exception
{
java.lang.Object[] v;
io.netty.handler.codec.http.Http2Exception v;
int v, v, v;
io.netty.handler.codec.http.Http2Error v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
v := @parameter: int;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int payloadLength>;
v = staticinvoke <io.netty.handler.codec.http.DefaultHttp2FrameReader: int lengthWithoutTrailingPadding(int,int)>(v, v);
if v >= 0 goto label;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error PROTOCOL_ERROR>;
v = newarray (java.lang.Object)[0];
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception connectionError(io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, "Frame payload too small for padding.", v);
throw v;
label:
return;
}
private static int lengthWithoutTrailingPadding(int, int)
{
int v, v, v, v;
v := @parameter: int;
v := @parameter: int;
if v != 0 goto label;
v = v;
goto label;
label:
v = v - 1;
v = v - v;
label:
return v;
}
private void verifyNotProcessingHeaders() throws io.netty.handler.codec.http.Http2Exception
{
java.lang.Object[] v;
java.lang.Integer v;
io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation v, v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
byte v;
io.netty.handler.codec.http.Http2Exception v;
int v;
io.netty.handler.codec.http.Http2Error v;
java.lang.Byte v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation headersContinuation>;
if v == null goto label;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error PROTOCOL_ERROR>;
v = newarray (java.lang.Object)[2];
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: byte frameType>;
v = staticinvoke <java.lang.Byte: java.lang.Byte valueOf(byte)>(v);
v[0] = v;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation headersContinuation>;
v = virtualinvoke v.<io.netty.handler.codec.http.DefaultHttp2FrameReader$HeadersContinuation: int getStreamId()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception connectionError(io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, "Received frame of type %s while processing headers on stream %d.", v);
throw v;
label:
return;
}
private void verifyAssociatedWithAStream() throws io.netty.handler.codec.http.Http2Exception
{
java.lang.Object[] v;
byte v;
io.netty.handler.codec.http.Http2Exception v;
int v;
io.netty.handler.codec.http.Http2Error v;
java.lang.Byte v;
io.netty.handler.codec.http.DefaultHttp2FrameReader v;
v := @this: io.netty.handler.codec.http.DefaultHttp2FrameReader;
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: int streamId>;
if v != 0 goto label;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error PROTOCOL_ERROR>;
v = newarray (java.lang.Object)[1];
v = v.<io.netty.handler.codec.http.DefaultHttp2FrameReader: byte frameType>;
v = staticinvoke <java.lang.Byte: java.lang.Byte valueOf(byte)>(v);
v[0] = v;
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception connectionError(io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, "Frame of type %s must be associated with a stream.", v);
throw v;
label:
return;
}
private static void verifyStreamOrConnectionId(int, java.lang.String) throws io.netty.handler.codec.http.Http2Exception
{
java.lang.Object[] v;
io.netty.handler.codec.http.Http2Exception v;
int v;
io.netty.handler.codec.http.Http2Error v;
java.lang.String v;
v := @parameter: int;
v := @parameter: java.lang.String;
if v >= 0 goto label;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error PROTOCOL_ERROR>;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception connectionError(io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, "%s must be >= 0", v);
throw v;
label:
return;
}
}