final class io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink extends java.lang.Object
{
private final io.netty.handler.codec.http.Http2Headers headers;
private final long maxHeaderListSize;
private final int streamId;
private final boolean validateHeaders;
private long headersLength;
private boolean exceededMaxLength;
private io.netty.handler.codec.http.HpackDecoder$HeaderType previousType;
private io.netty.handler.codec.http.Http2Exception validationException;
void <init>(int, io.netty.handler.codec.http.Http2Headers, long, boolean)
{
io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink v;
io.netty.handler.codec.http.Http2Headers v;
int v;
long v;
boolean v;
v := @this: io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink;
v := @parameter: int;
v := @parameter: io.netty.handler.codec.http.Http2Headers;
v := @parameter: long;
v := @parameter: boolean;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: io.netty.handler.codec.http.Http2Headers headers> = v;
v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: long maxHeaderListSize> = v;
v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: int streamId> = v;
v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: boolean validateHeaders> = v;
return;
}
void finish() throws io.netty.handler.codec.http.Http2Exception
{
io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink v;
io.netty.handler.codec.http.Http2Exception v, v;
int v;
long v;
boolean v;
v := @this: io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink;
v = v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: boolean exceededMaxLength>;
if v == 0 goto label;
v = v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: int streamId>;
v = v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: long maxHeaderListSize>;
staticinvoke <io.netty.handler.codec.http.Http2CodecUtil: void headerListSizeExceeded(int,long,boolean)>(v, v, 1);
goto label;
label:
v = v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: io.netty.handler.codec.http.Http2Exception validationException>;
if v == null goto label;
v = v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: io.netty.handler.codec.http.Http2Exception validationException>;
throw v;
label:
return;
}
void appendToHeaderList(io.netty.util.AsciiString, io.netty.util.AsciiString)
{
java.lang.Object[] v, v;
io.netty.util.AsciiString v, v;
long v, v, v, v, v;
byte v;
io.netty.handler.codec.http.Http2Exception v, v, v, v;
int v, v, v;
java.lang.String v, v;
boolean v, v, v, v, v;
io.netty.handler.codec.http.HpackDecoder$HeaderType v, v;
java.lang.IllegalArgumentException v;
io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink v;
io.netty.handler.codec.http.Http2Headers v;
io.netty.handler.codec.http.Http2Error v, v;
v := @this: io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink;
v := @parameter: io.netty.util.AsciiString;
v := @parameter: io.netty.util.AsciiString;
v = v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: long headersLength>;
v = staticinvoke <io.netty.handler.codec.http.HpackHeaderField: long sizeOf(java.lang.CharSequence,java.lang.CharSequence)>(v, v);
v = v + v;
v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: long headersLength> = v;
v = v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: boolean exceededMaxLength>;
v = v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: long headersLength>;
v = v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: long maxHeaderListSize>;
v = v cmp v;
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v | v;
v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: boolean exceededMaxLength> = v;
v = v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: boolean exceededMaxLength>;
if v != 0 goto label;
v = v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: io.netty.handler.codec.http.Http2Exception validationException>;
if v == null goto label;
label:
return;
label:
v = v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: io.netty.handler.codec.http.Http2Headers headers>;
interfaceinvoke v.<io.netty.handler.codec.http.Http2Headers: io.netty.handler.codec.Headers add(java.lang.Object,java.lang.Object)>(v, v);
v = v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: boolean validateHeaders>;
if v == 0 goto label;
v = v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: int streamId>;
v = v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: io.netty.handler.codec.http.HpackDecoder$HeaderType previousType>;
v = staticinvoke <io.netty.handler.codec.http.HpackDecoder: io.netty.handler.codec.http.HpackDecoder$HeaderType validateHeader(int,io.netty.util.AsciiString,java.lang.CharSequence,io.netty.handler.codec.http.HpackDecoder$HeaderType)>(v, v, v, v);
v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: io.netty.handler.codec.http.HpackDecoder$HeaderType previousType> = v;
label:
goto label;
label:
v := @caughtexception;
v = v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: int streamId>;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error PROTOCOL_ERROR>;
v = newarray (java.lang.Object)[2];
v[0] = v;
v = virtualinvoke v.<java.lang.IllegalArgumentException: java.lang.String getMessage()>();
v[1] = 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.Throwable,java.lang.String,java.lang.Object[])>(v, v, v, "Validation failed for header \'%s\': %s", v);
v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: io.netty.handler.codec.http.Http2Exception validationException> = v;
goto label;
label:
v := @caughtexception;
v = v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: int streamId>;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error PROTOCOL_ERROR>;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Exception: java.lang.String getMessage()>();
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.Throwable,java.lang.String,java.lang.Object[])>(v, v, v, v, v);
v.<io.netty.handler.codec.http.HpackDecoder$Http2HeadersSink: io.netty.handler.codec.http.Http2Exception validationException> = v;
label:
return;
catch java.lang.IllegalArgumentException from label to label with label;
catch io.netty.handler.codec.http.Http2Exception from label to label with label;
}
}