final class org.glassfish.grizzly.http.hpack.IntegerWriter extends java.lang.Object
{
private static final byte NEW;
private static final byte CONFIGURED;
private static final byte FIRST_BYTE_WRITTEN;
private static final byte DONE;
private byte state;
private int payload;
private int N;
private int value;
void <init>()
{
org.glassfish.grizzly.http.hpack.IntegerWriter v;
v := @this: org.glassfish.grizzly.http.hpack.IntegerWriter;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.glassfish.grizzly.http.hpack.IntegerWriter: byte state> = 0;
return;
}
public org.glassfish.grizzly.http.hpack.IntegerWriter configure(int, int, int)
{
java.lang.IllegalStateException v;
java.lang.IllegalArgumentException v;
byte v;
org.glassfish.grizzly.http.hpack.IntegerWriter v;
int v, v, v, v, v, v, v;
java.lang.String v;
v := @this: org.glassfish.grizzly.http.hpack.IntegerWriter;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v = v.<org.glassfish.grizzly.http.hpack.IntegerWriter: byte state>;
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Already configured");
throw v;
label:
if v >= 0 goto label;
v = new java.lang.IllegalArgumentException;
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[])>("value >= 0: value=\u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
staticinvoke <org.glassfish.grizzly.http.hpack.IntegerWriter: void checkPrefix(int)>(v);
v.<org.glassfish.grizzly.http.hpack.IntegerWriter: int value> = v;
v.<org.glassfish.grizzly.http.hpack.IntegerWriter: int N> = v;
v = v & 255;
v = (int) -1;
v = v << v;
v = v & v;
v.<org.glassfish.grizzly.http.hpack.IntegerWriter: int payload> = v;
v.<org.glassfish.grizzly.http.hpack.IntegerWriter: byte state> = 1;
return v;
}
public boolean write(org.glassfish.grizzly.Buffer)
{
java.lang.IllegalStateException v;
java.lang.Integer v, v, v;
byte v, v, v, v, v;
java.lang.InternalError v;
java.lang.Byte v;
boolean v, v, v;
org.glassfish.grizzly.Buffer v;
java.lang.Object[] v;
org.glassfish.grizzly.http.hpack.IntegerWriter v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v;
v := @this: org.glassfish.grizzly.http.hpack.IntegerWriter;
v := @parameter: org.glassfish.grizzly.Buffer;
v = v.<org.glassfish.grizzly.http.hpack.IntegerWriter: byte state>;
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Configure first");
throw v;
label:
v = v.<org.glassfish.grizzly.http.hpack.IntegerWriter: byte state>;
if v != 4 goto label;
return 1;
label:
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: boolean hasRemaining()>();
if v != 0 goto label;
return 0;
label:
v = v.<org.glassfish.grizzly.http.hpack.IntegerWriter: byte state>;
if v != 1 goto label;
v = v.<org.glassfish.grizzly.http.hpack.IntegerWriter: int N>;
v = v - 1;
v = 2 << v;
v = v - 1;
v = v.<org.glassfish.grizzly.http.hpack.IntegerWriter: int value>;
if v >= v goto label;
v = v.<org.glassfish.grizzly.http.hpack.IntegerWriter: int payload>;
v = v.<org.glassfish.grizzly.http.hpack.IntegerWriter: int value>;
v = v | v;
interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer put(byte)>(v);
v.<org.glassfish.grizzly.http.hpack.IntegerWriter: byte state> = 4;
return 1;
label:
v = v.<org.glassfish.grizzly.http.hpack.IntegerWriter: int payload>;
v = v | v;
interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer put(byte)>(v);
v = v.<org.glassfish.grizzly.http.hpack.IntegerWriter: int value>;
v = v - v;
v.<org.glassfish.grizzly.http.hpack.IntegerWriter: int value> = v;
v.<org.glassfish.grizzly.http.hpack.IntegerWriter: byte state> = 2;
label:
v = v.<org.glassfish.grizzly.http.hpack.IntegerWriter: byte state>;
if v != 2 goto label;
label:
v = v.<org.glassfish.grizzly.http.hpack.IntegerWriter: int value>;
if v < 128 goto label;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: boolean hasRemaining()>();
if v == 0 goto label;
v = v.<org.glassfish.grizzly.http.hpack.IntegerWriter: int value>;
v = v % 128;
v = v + 128;
interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer put(byte)>(v);
v = v.<org.glassfish.grizzly.http.hpack.IntegerWriter: int value>;
v = v / 128;
v.<org.glassfish.grizzly.http.hpack.IntegerWriter: int value> = v;
goto label;
label:
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: boolean hasRemaining()>();
if v != 0 goto label;
return 0;
label:
v = v.<org.glassfish.grizzly.http.hpack.IntegerWriter: int value>;
interfaceinvoke v.<org.glassfish.grizzly.Buffer: org.glassfish.grizzly.Buffer put(byte)>(v);
v.<org.glassfish.grizzly.http.hpack.IntegerWriter: byte state> = 4;
return 1;
label:
v = new java.lang.InternalError;
v = newarray (java.lang.Object)[4];
v = v.<org.glassfish.grizzly.http.hpack.IntegerWriter: byte state>;
v = staticinvoke <java.lang.Byte: java.lang.Byte valueOf(byte)>(v);
v[0] = v;
v = v.<org.glassfish.grizzly.http.hpack.IntegerWriter: int payload>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = v.<org.glassfish.grizzly.http.hpack.IntegerWriter: int N>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[2] = v;
v = v.<org.glassfish.grizzly.http.hpack.IntegerWriter: int value>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[3] = v;
v = staticinvoke <java.util.Arrays: java.lang.String toString(java.lang.Object[])>(v);
specialinvoke v.<java.lang.InternalError: void <init>(java.lang.String)>(v);
throw v;
}
private static void checkPrefix(int)
{
int v;
java.lang.String v;
java.lang.IllegalArgumentException v;
v := @parameter: int;
if v < 1 goto label;
if v <= 8 goto label;
label:
v = new java.lang.IllegalArgumentException;
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[])>("1 <= N <= 8: N= \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
public org.glassfish.grizzly.http.hpack.IntegerWriter reset()
{
org.glassfish.grizzly.http.hpack.IntegerWriter v;
v := @this: org.glassfish.grizzly.http.hpack.IntegerWriter;
v.<org.glassfish.grizzly.http.hpack.IntegerWriter: byte state> = 0;
return v;
}
}