public abstract class io.netty.handler.codec.http.HttpObjectEncoder extends io.netty.handler.codec.MessageToMessageEncoder
{
static final int CRLF_SHORT;
private static final int ZERO_CRLF_MEDIUM;
private static final byte[] ZERO_CRLF_CRLF;
private static final io.netty.buffer.ByteBuf CRLF_BUF;
private static final io.netty.buffer.ByteBuf ZERO_CRLF_CRLF_BUF;
private static final float HEADERS_WEIGHT_NEW;
private static final float HEADERS_WEIGHT_HISTORICAL;
private static final float TRAILERS_WEIGHT_NEW;
private static final float TRAILERS_WEIGHT_HISTORICAL;
private static final int ST_INIT;
private static final int ST_CONTENT_NON_CHUNK;
private static final int ST_CONTENT_CHUNK;
private static final int ST_CONTENT_ALWAYS_EMPTY;
private int state;
private float headersEncodedSizeAccumulator;
private float trailersEncodedSizeAccumulator;
private final java.util.List out;
static final boolean $assertionsDisabled;
public void <init>()
{
io.netty.handler.codec.http.HttpObjectEncoder v;
java.util.ArrayList v;
v := @this: io.netty.handler.codec.http.HttpObjectEncoder;
specialinvoke v.<io.netty.handler.codec.MessageToMessageEncoder: void <init>()>();
v.<io.netty.handler.codec.http.HttpObjectEncoder: int state> = 0;
v.<io.netty.handler.codec.http.HttpObjectEncoder: float headersEncodedSizeAccumulator> = 256.0F;
v.<io.netty.handler.codec.http.HttpObjectEncoder: float trailersEncodedSizeAccumulator> = 256.0F;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<io.netty.handler.codec.http.HttpObjectEncoder: java.util.List out> = v;
return;
}
private static boolean checkContentState(int)
{
int v;
boolean v;
v := @parameter: int;
if v == 2 goto label;
if v == 1 goto label;
if v != 3 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void write(io.netty.channel.ChannelHandlerContext, java.lang.Object, io.netty.channel.ChannelPromise) throws java.lang.Exception
{
java.lang.Throwable v;
io.netty.handler.codec.EncoderException v, v, v;
io.netty.channel.ChannelHandlerContext v;
java.util.List v, v, v;
io.netty.channel.ChannelPromise v;
io.netty.handler.codec.http.HttpObjectEncoder v;
java.lang.Object v;
java.lang.String v, v;
boolean v, v;
v := @this: io.netty.handler.codec.http.HttpObjectEncoder;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: java.lang.Object;
v := @parameter: io.netty.channel.ChannelPromise;
label:
v = virtualinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: boolean acceptOutboundMessage(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: java.util.List out>;
virtualinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void encode(io.netty.channel.ChannelHandlerContext,java.lang.Object,java.util.List)>(v, v, v);
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: java.util.List out>;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = new io.netty.handler.codec.EncoderException;
v = staticinvoke <io.netty.util.internal.StringUtil: java.lang.String simpleClassName(java.lang.Object)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("\u must produce at least one message.");
specialinvoke v.<io.netty.handler.codec.EncoderException: void <init>(java.lang.String)>(v);
throw v;
label:
interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelFuture write(java.lang.Object,io.netty.channel.ChannelPromise)>(v, v);
label:
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: java.util.List out>;
staticinvoke <io.netty.handler.codec.http.HttpObjectEncoder: void writeOutList(io.netty.channel.ChannelHandlerContext,java.util.List,io.netty.channel.ChannelPromise)>(v, v, v);
goto label;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = new io.netty.handler.codec.EncoderException;
specialinvoke v.<io.netty.handler.codec.EncoderException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
return;
catch io.netty.handler.codec.EncoderException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private static void writeOutList(io.netty.channel.ChannelHandlerContext, java.util.List, io.netty.channel.ChannelPromise)
{
java.lang.Throwable v;
io.netty.channel.ChannelHandlerContext v;
java.util.List v;
io.netty.channel.ChannelPromise v, v;
int v;
java.lang.Object v;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: java.util.List;
v := @parameter: io.netty.channel.ChannelPromise;
v = interfaceinvoke v.<java.util.List: int size()>();
label:
if v != 1 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelFuture write(java.lang.Object,io.netty.channel.ChannelPromise)>(v, v);
goto label;
label:
if v <= 1 goto label;
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelPromise voidPromise()>();
if v != v goto label;
staticinvoke <io.netty.handler.codec.http.HttpObjectEncoder: void writeVoidPromise(io.netty.channel.ChannelHandlerContext,java.util.List)>(v, v);
goto label;
label:
staticinvoke <io.netty.handler.codec.http.HttpObjectEncoder: void writePromiseCombiner(io.netty.channel.ChannelHandlerContext,java.util.List,io.netty.channel.ChannelPromise)>(v, v, v);
label:
interfaceinvoke v.<java.util.List: void clear()>();
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<java.util.List: void clear()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private static void writeVoidPromise(io.netty.channel.ChannelHandlerContext, java.util.List)
{
io.netty.channel.ChannelHandlerContext v;
java.util.List v;
io.netty.channel.ChannelPromise v;
int v, v;
java.lang.Object v;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: java.util.List;
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelPromise voidPromise()>();
v = 0;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelFuture write(java.lang.Object,io.netty.channel.ChannelPromise)>(v, v);
v = v + 1;
goto label;
label:
return;
}
private static void writePromiseCombiner(io.netty.channel.ChannelHandlerContext, java.util.List, io.netty.channel.ChannelPromise)
{
io.netty.util.concurrent.EventExecutor v;
io.netty.util.concurrent.PromiseCombiner v;
io.netty.channel.ChannelFuture v;
io.netty.channel.ChannelHandlerContext v;
java.util.List v;
io.netty.channel.ChannelPromise v;
int v, v;
java.lang.Object v;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: java.util.List;
v := @parameter: io.netty.channel.ChannelPromise;
v = new io.netty.util.concurrent.PromiseCombiner;
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
specialinvoke v.<io.netty.util.concurrent.PromiseCombiner: void <init>(io.netty.util.concurrent.EventExecutor)>(v);
v = 0;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelFuture write(java.lang.Object)>(v);
virtualinvoke v.<io.netty.util.concurrent.PromiseCombiner: void add(io.netty.util.concurrent.Future)>(v);
v = v + 1;
goto label;
label:
virtualinvoke v.<io.netty.util.concurrent.PromiseCombiner: void finish(io.netty.util.concurrent.Promise)>(v);
return;
}
protected void encode(io.netty.channel.ChannelHandlerContext, java.lang.Object, java.util.List) throws java.lang.Exception
{
io.netty.channel.ChannelHandlerContext v;
java.util.List v;
io.netty.buffer.ByteBuf v, v;
io.netty.handler.codec.http.HttpObjectEncoder v;
java.lang.Object v;
boolean v, v, v, v;
v := @this: io.netty.handler.codec.http.HttpObjectEncoder;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: java.lang.Object;
v := @parameter: java.util.List;
v = <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf EMPTY_BUFFER>;
if v != v goto label;
v = <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf EMPTY_BUFFER>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return;
label:
v = v instanceof io.netty.handler.codec.http.FullHttpMessage;
if v == 0 goto label;
specialinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void encodeFullHttpMessage(io.netty.channel.ChannelHandlerContext,java.lang.Object,java.util.List)>(v, v, v);
return;
label:
v = v instanceof io.netty.handler.codec.http.HttpMessage;
if v == 0 goto label;
v = v instanceof io.netty.handler.codec.http.LastHttpContent;
if v == 0 goto label;
specialinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void encodeHttpMessageLastContent(io.netty.channel.ChannelHandlerContext,io.netty.handler.codec.http.HttpMessage,java.util.List)>(v, v, v);
goto label;
label:
v = v instanceof io.netty.handler.codec.http.HttpContent;
if v == 0 goto label;
specialinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void encodeHttpMessageNotLastContent(io.netty.channel.ChannelHandlerContext,io.netty.handler.codec.http.HttpMessage,java.util.List)>(v, v, v);
goto label;
label:
specialinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void encodeJustHttpMessage(io.netty.channel.ChannelHandlerContext,io.netty.handler.codec.http.HttpMessage,java.util.List)>(v, v, v);
goto label;
label:
specialinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void encodeNotHttpMessageContentTypes(io.netty.channel.ChannelHandlerContext,java.lang.Object,java.util.List)>(v, v, v);
label:
return;
}
private void encodeJustHttpMessage(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http.HttpMessage, java.util.List) throws java.lang.Exception
{
java.lang.Throwable v;
io.netty.handler.codec.http.HttpMessage v;
java.lang.AssertionError v, v;
io.netty.channel.ChannelHandlerContext v;
java.util.List v;
io.netty.buffer.ByteBuf v;
io.netty.handler.codec.http.HttpObjectEncoder v;
int v, v, v;
boolean v, v, v, v;
v := @this: io.netty.handler.codec.http.HttpObjectEncoder;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
v := @parameter: java.util.List;
v = <io.netty.handler.codec.http.HttpObjectEncoder: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v instanceof io.netty.handler.codec.http.HttpContent;
if v == 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
if v == 0 goto label;
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
staticinvoke <io.netty.handler.codec.http.HttpObjectEncoder: void throwUnexpectedMessageTypeEx(java.lang.Object,int)>(v, v);
label:
v = specialinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: io.netty.buffer.ByteBuf encodeInitHttpMessage(io.netty.channel.ChannelHandlerContext,io.netty.handler.codec.http.HttpMessage)>(v, v);
v = <io.netty.handler.codec.http.HttpObjectEncoder: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
v = staticinvoke <io.netty.handler.codec.http.HttpObjectEncoder: boolean checkContentState(int)>(v);
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
staticinvoke <io.netty.util.ReferenceCountUtil: boolean release(java.lang.Object)>(v);
goto label;
label:
v := @caughtexception;
staticinvoke <io.netty.util.ReferenceCountUtil: boolean release(java.lang.Object)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void encodeByteBufHttpContent(int, io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf, io.netty.handler.codec.http.HttpHeaders, java.util.List)
{
io.netty.handler.codec.http.HttpHeaders v;
java.lang.Error v;
io.netty.channel.ChannelHandlerContext v;
java.util.List v;
io.netty.buffer.ByteBuf v, v;
io.netty.handler.codec.http.HttpObjectEncoder v;
int v;
boolean v;
v := @this: io.netty.handler.codec.http.HttpObjectEncoder;
v := @parameter: int;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.handler.codec.http.HttpHeaders;
v := @parameter: java.util.List;
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
v = staticinvoke <io.netty.handler.codec.http.HttpObjectEncoder: boolean encodeContentNonChunk(java.util.List,io.netty.buffer.ByteBuf,io.netty.buffer.ByteBuf)>(v, v, v);
if v != 0 goto label;
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
specialinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void encodeChunkedHttpContent(io.netty.channel.ChannelHandlerContext,io.netty.buffer.ByteBuf,io.netty.handler.codec.http.HttpHeaders,java.util.List)>(v, v, v, v);
goto label;
label:
v = new java.lang.Error;
specialinvoke v.<java.lang.Error: void <init>()>();
throw v;
label:
return;
}
private void encodeHttpMessageNotLastContent(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http.HttpMessage, java.util.List) throws java.lang.Exception
{
java.lang.Throwable v;
io.netty.handler.codec.http.HttpMessage v;
java.lang.AssertionError v, v, v;
io.netty.channel.ChannelHandlerContext v;
io.netty.buffer.ByteBuf v, v;
int v, v, v, v;
boolean v, v, v, v, v, v;
java.util.List v;
io.netty.handler.codec.http.HttpObjectEncoder v;
v := @this: io.netty.handler.codec.http.HttpObjectEncoder;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
v := @parameter: java.util.List;
v = <io.netty.handler.codec.http.HttpObjectEncoder: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v instanceof io.netty.handler.codec.http.HttpContent;
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = <io.netty.handler.codec.http.HttpObjectEncoder: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v instanceof io.netty.handler.codec.http.LastHttpContent;
if v == 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
if v == 0 goto label;
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
staticinvoke <io.netty.handler.codec.http.HttpObjectEncoder: void throwUnexpectedMessageTypeEx(java.lang.Object,int)>(v, v);
label:
v = specialinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: io.netty.buffer.ByteBuf encodeInitHttpMessage(io.netty.channel.ChannelHandlerContext,io.netty.handler.codec.http.HttpMessage)>(v, v);
v = <io.netty.handler.codec.http.HttpObjectEncoder: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
v = staticinvoke <io.netty.handler.codec.http.HttpObjectEncoder: boolean checkContentState(int)>(v);
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpContent: io.netty.buffer.ByteBuf content()>();
specialinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void encodeByteBufHttpContent(int,io.netty.channel.ChannelHandlerContext,io.netty.buffer.ByteBuf,io.netty.buffer.ByteBuf,io.netty.handler.codec.http.HttpHeaders,java.util.List)>(v, v, v, v, null, v);
label:
interfaceinvoke v.<io.netty.handler.codec.http.HttpContent: boolean release()>();
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<io.netty.handler.codec.http.HttpContent: boolean release()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void encodeHttpMessageLastContent(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http.HttpMessage, java.util.List) throws java.lang.Exception
{
java.lang.Throwable v;
io.netty.handler.codec.http.HttpHeaders v;
io.netty.handler.codec.http.HttpMessage v;
java.lang.AssertionError v, v;
io.netty.channel.ChannelHandlerContext v;
io.netty.buffer.ByteBuf v, v;
int v, v, v, v;
boolean v, v, v, v;
java.util.List v;
io.netty.handler.codec.http.HttpObjectEncoder v;
v := @this: io.netty.handler.codec.http.HttpObjectEncoder;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
v := @parameter: java.util.List;
v = <io.netty.handler.codec.http.HttpObjectEncoder: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v instanceof io.netty.handler.codec.http.LastHttpContent;
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
if v == 0 goto label;
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
staticinvoke <io.netty.handler.codec.http.HttpObjectEncoder: void throwUnexpectedMessageTypeEx(java.lang.Object,int)>(v, v);
label:
v = specialinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: io.netty.buffer.ByteBuf encodeInitHttpMessage(io.netty.channel.ChannelHandlerContext,io.netty.handler.codec.http.HttpMessage)>(v, v);
v = <io.netty.handler.codec.http.HttpObjectEncoder: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
v = staticinvoke <io.netty.handler.codec.http.HttpObjectEncoder: boolean checkContentState(int)>(v);
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
v = interfaceinvoke v.<io.netty.handler.codec.http.LastHttpContent: io.netty.buffer.ByteBuf content()>();
v = interfaceinvoke v.<io.netty.handler.codec.http.LastHttpContent: io.netty.handler.codec.http.HttpHeaders trailingHeaders()>();
specialinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void encodeByteBufHttpContent(int,io.netty.channel.ChannelHandlerContext,io.netty.buffer.ByteBuf,io.netty.buffer.ByteBuf,io.netty.handler.codec.http.HttpHeaders,java.util.List)>(v, v, v, v, v, v);
v.<io.netty.handler.codec.http.HttpObjectEncoder: int state> = 0;
label:
interfaceinvoke v.<io.netty.handler.codec.http.LastHttpContent: boolean release()>();
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<io.netty.handler.codec.http.LastHttpContent: boolean release()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void encodeNotHttpMessageContentTypes(io.netty.channel.ChannelHandlerContext, java.lang.Object, java.util.List)
{
java.lang.Throwable v, v;
java.lang.AssertionError v;
io.netty.handler.codec.http.LastHttpContent v;
io.netty.channel.ChannelHandlerContext v;
int v, v, v, v;
boolean v, v, v, v, v, v, v, v;
java.util.List v;
io.netty.handler.codec.http.HttpObjectEncoder v;
java.lang.Object v;
v := @this: io.netty.handler.codec.http.HttpObjectEncoder;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: java.lang.Object;
v := @parameter: java.util.List;
v = <io.netty.handler.codec.http.HttpObjectEncoder: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v instanceof io.netty.handler.codec.http.HttpMessage;
if v == 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
if v != 0 goto label;
label:
v = v instanceof io.netty.buffer.ByteBuf;
if v == 0 goto label;
v = staticinvoke <io.netty.handler.codec.http.HttpObjectEncoder: boolean bypassEncoderIfEmpty(io.netty.buffer.ByteBuf,java.util.List)>(v, v);
if v == 0 goto label;
label:
staticinvoke <io.netty.util.ReferenceCountUtil: boolean release(java.lang.Object)>(v);
return;
label:
staticinvoke <io.netty.handler.codec.http.HttpObjectEncoder: void throwUnexpectedMessageTypeEx(java.lang.Object,int)>(v, 0);
label:
staticinvoke <io.netty.util.ReferenceCountUtil: boolean release(java.lang.Object)>(v);
goto label;
label:
v := @caughtexception;
staticinvoke <io.netty.util.ReferenceCountUtil: boolean release(java.lang.Object)>(v);
throw v;
label:
v = <io.netty.handler.codec.http.LastHttpContent: io.netty.handler.codec.http.LastHttpContent EMPTY_LAST_CONTENT>;
if v != v goto label;
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
v = staticinvoke <io.netty.handler.codec.http.HttpObjectEncoder: int encodeEmptyLastHttpContent(int,java.util.List)>(v, v);
v.<io.netty.handler.codec.http.HttpObjectEncoder: int state> = v;
return;
label:
v = v instanceof io.netty.handler.codec.http.LastHttpContent;
if v == 0 goto label;
specialinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void encodeLastHttpContent(io.netty.channel.ChannelHandlerContext,io.netty.handler.codec.http.LastHttpContent,java.util.List)>(v, v, v);
return;
label:
v = v instanceof io.netty.handler.codec.http.HttpContent;
if v == 0 goto label;
specialinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void encodeHttpContent(io.netty.channel.ChannelHandlerContext,io.netty.handler.codec.http.HttpContent,java.util.List)>(v, v, v);
return;
label:
v = v instanceof io.netty.buffer.ByteBuf;
if v == 0 goto label;
specialinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void encodeByteBufContent(io.netty.channel.ChannelHandlerContext,io.netty.buffer.ByteBuf,java.util.List)>(v, v, v);
return;
label:
v = v instanceof io.netty.channel.FileRegion;
if v == 0 goto label;
specialinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void encodeFileRegionContent(io.netty.channel.ChannelHandlerContext,io.netty.channel.FileRegion,java.util.List)>(v, v, v);
return;
label:
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
staticinvoke <io.netty.handler.codec.http.HttpObjectEncoder: void throwUnexpectedMessageTypeEx(java.lang.Object,int)>(v, v);
label:
staticinvoke <io.netty.util.ReferenceCountUtil: boolean release(java.lang.Object)>(v);
goto label;
label:
v := @caughtexception;
staticinvoke <io.netty.util.ReferenceCountUtil: boolean release(java.lang.Object)>(v);
throw v;
label:
return;
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 encodeFullHttpMessage(io.netty.channel.ChannelHandlerContext, java.lang.Object, java.util.List) throws java.lang.Exception
{
java.lang.Throwable v;
io.netty.handler.codec.http.HttpHeaders v, v;
io.netty.buffer.ByteBufAllocator v;
java.lang.AssertionError v;
io.netty.channel.ChannelHandlerContext v;
byte v, v;
io.netty.buffer.ByteBuf v, v;
int v, v, v, v;
boolean v, v, v, v, v;
java.util.List v;
io.netty.handler.codec.http.HttpObjectEncoder v;
float v, v, v, v, v;
java.lang.Object v;
v := @this: io.netty.handler.codec.http.HttpObjectEncoder;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: java.lang.Object;
v := @parameter: java.util.List;
v = <io.netty.handler.codec.http.HttpObjectEncoder: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v instanceof io.netty.handler.codec.http.FullHttpMessage;
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
if v == 0 goto label;
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
staticinvoke <io.netty.handler.codec.http.HttpObjectEncoder: void throwUnexpectedMessageTypeEx(java.lang.Object,int)>(v, v);
label:
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.buffer.ByteBufAllocator alloc()>();
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: float headersEncodedSizeAccumulator>;
v = interfaceinvoke v.<io.netty.buffer.ByteBufAllocator: io.netty.buffer.ByteBuf buffer(int)>(v);
virtualinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void encodeInitialLine(io.netty.buffer.ByteBuf,io.netty.handler.codec.http.HttpMessage)>(v, v);
v = virtualinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: boolean isContentAlwaysEmpty(io.netty.handler.codec.http.HttpMessage)>(v);
if v == 0 goto label;
v = 3;
goto label;
label:
v = staticinvoke <io.netty.handler.codec.http.HttpUtil: boolean isTransferEncodingChunked(io.netty.handler.codec.http.HttpMessage)>(v);
if v == 0 goto label;
v = 2;
goto label;
label:
v = 1;
label:
v = v;
if v != 3 goto label;
v = 1;
goto label;
label:
v = 0;
label:
virtualinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void sanitizeHeadersBeforeEncode(io.netty.handler.codec.http.HttpMessage,boolean)>(v, v);
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpHeaders headers()>();
virtualinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void encodeHeaders(io.netty.handler.codec.http.HttpHeaders,io.netty.buffer.ByteBuf)>(v, v);
staticinvoke <io.netty.buffer.ByteBufUtil: io.netty.buffer.ByteBuf writeShortBE(io.netty.buffer.ByteBuf,int)>(v, 3338);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = staticinvoke <io.netty.handler.codec.http.HttpObjectEncoder: int padSizeForAccumulation(int)>(v);
v = 0.2F * v;
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: float headersEncodedSizeAccumulator>;
v = 0.8F * v;
v = v + v;
v.<io.netty.handler.codec.http.HttpObjectEncoder: float headersEncodedSizeAccumulator> = v;
v = interfaceinvoke v.<io.netty.handler.codec.http.FullHttpMessage: io.netty.buffer.ByteBuf content()>();
v = interfaceinvoke v.<io.netty.handler.codec.http.FullHttpMessage: io.netty.handler.codec.http.HttpHeaders trailingHeaders()>();
specialinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void encodeByteBufHttpContent(int,io.netty.channel.ChannelHandlerContext,io.netty.buffer.ByteBuf,io.netty.buffer.ByteBuf,io.netty.handler.codec.http.HttpHeaders,java.util.List)>(v, v, v, v, v, v);
label:
interfaceinvoke v.<io.netty.handler.codec.http.FullHttpMessage: boolean release()>();
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<io.netty.handler.codec.http.FullHttpMessage: boolean release()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private static boolean encodeContentNonChunk(java.util.List, io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf)
{
java.util.List v;
io.netty.buffer.ByteBuf v, v, v;
int v, v;
v := @parameter: java.util.List;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.buffer.ByteBuf;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
if v <= 0 goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int writableBytes()>();
if v < v goto label;
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf writeBytes(io.netty.buffer.ByteBuf)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf retain()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
return 1;
label:
return 0;
}
private static void throwUnexpectedMessageTypeEx(java.lang.Object, int)
{
java.lang.IllegalStateException v;
int v;
java.lang.Object v;
java.lang.String v, v;
v := @parameter: java.lang.Object;
v := @parameter: int;
v = new java.lang.IllegalStateException;
v = staticinvoke <io.netty.util.internal.StringUtil: java.lang.String simpleClassName(java.lang.Object)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int)>(v, 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[])>("unexpected message type: \u, state: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
}
private void encodeFileRegionContent(io.netty.channel.ChannelHandlerContext, io.netty.channel.FileRegion, java.util.List)
{
java.lang.Throwable v;
java.lang.Error v;
long v;
java.lang.AssertionError v;
io.netty.channel.ChannelHandlerContext v;
java.util.List v;
byte v;
io.netty.buffer.ByteBuf v;
io.netty.handler.codec.http.HttpObjectEncoder v;
int v, v;
io.netty.channel.FileRegion v, v;
boolean v;
v := @this: io.netty.handler.codec.http.HttpObjectEncoder;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.channel.FileRegion;
v := @parameter: java.util.List;
label:
v = <io.netty.handler.codec.http.HttpObjectEncoder: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
v = interfaceinvoke v.<io.netty.channel.FileRegion: long count()>();
v = v cmp 0L;
if v <= 0 goto label;
v = interfaceinvoke v.<io.netty.channel.FileRegion: io.netty.channel.FileRegion retain()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf EMPTY_BUFFER>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
staticinvoke <io.netty.handler.codec.http.HttpObjectEncoder: void encodedChunkedFileRegionContent(io.netty.channel.ChannelHandlerContext,io.netty.channel.FileRegion,java.util.List)>(v, v, v);
goto label;
label:
v = new java.lang.Error;
specialinvoke v.<java.lang.Error: void <init>()>();
throw v;
label:
interfaceinvoke v.<io.netty.channel.FileRegion: boolean release()>();
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<io.netty.channel.FileRegion: boolean release()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private static boolean bypassEncoderIfEmpty(io.netty.buffer.ByteBuf, java.util.List)
{
java.util.List v;
io.netty.buffer.ByteBuf v, v;
boolean v;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: java.util.List;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: boolean isReadable()>();
if v != 0 goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf retain()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return 1;
label:
return 0;
}
private void encodeByteBufContent(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, java.util.List)
{
java.lang.Throwable v;
java.lang.AssertionError v;
io.netty.channel.ChannelHandlerContext v;
java.util.List v;
io.netty.buffer.ByteBuf v;
io.netty.handler.codec.http.HttpObjectEncoder v;
int v, v;
boolean v, v;
v := @this: io.netty.handler.codec.http.HttpObjectEncoder;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: java.util.List;
label:
v = <io.netty.handler.codec.http.HttpObjectEncoder: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = staticinvoke <io.netty.handler.codec.http.HttpObjectEncoder: boolean bypassEncoderIfEmpty(io.netty.buffer.ByteBuf,java.util.List)>(v, v);
if v == 0 goto label;
label:
virtualinvoke v.<io.netty.buffer.ByteBuf: boolean release()>();
return;
label:
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
specialinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void encodeByteBufAndTrailers(int,io.netty.channel.ChannelHandlerContext,java.util.List,io.netty.buffer.ByteBuf,io.netty.handler.codec.http.HttpHeaders)>(v, v, v, v, null);
label:
virtualinvoke v.<io.netty.buffer.ByteBuf: boolean release()>();
goto label;
label:
v := @caughtexception;
virtualinvoke v.<io.netty.buffer.ByteBuf: boolean release()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private static int encodeEmptyLastHttpContent(int, java.util.List)
{
java.lang.Error v;
java.lang.AssertionError v;
java.util.List v;
io.netty.buffer.ByteBuf v, v, v;
int v;
boolean v;
v := @parameter: int;
v := @parameter: java.util.List;
v = <io.netty.handler.codec.http.HttpObjectEncoder: 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:
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
v = <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf EMPTY_BUFFER>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = <io.netty.handler.codec.http.HttpObjectEncoder: io.netty.buffer.ByteBuf ZERO_CRLF_CRLF_BUF>;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf duplicate()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = new java.lang.Error;
specialinvoke v.<java.lang.Error: void <init>()>();
throw v;
label:
return 0;
}
private void encodeLastHttpContent(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http.LastHttpContent, java.util.List)
{
java.lang.Throwable v;
io.netty.handler.codec.http.HttpHeaders v;
java.lang.AssertionError v, v;
io.netty.handler.codec.http.LastHttpContent v;
io.netty.channel.ChannelHandlerContext v;
java.util.List v;
io.netty.buffer.ByteBuf v;
io.netty.handler.codec.http.HttpObjectEncoder v;
int v, v;
boolean v, v, v;
v := @this: io.netty.handler.codec.http.HttpObjectEncoder;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.handler.codec.http.LastHttpContent;
v := @parameter: java.util.List;
v = <io.netty.handler.codec.http.HttpObjectEncoder: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = <io.netty.handler.codec.http.HttpObjectEncoder: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v instanceof io.netty.handler.codec.http.HttpMessage;
if v == 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
v = interfaceinvoke v.<io.netty.handler.codec.http.LastHttpContent: io.netty.buffer.ByteBuf content()>();
v = interfaceinvoke v.<io.netty.handler.codec.http.LastHttpContent: io.netty.handler.codec.http.HttpHeaders trailingHeaders()>();
specialinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void encodeByteBufAndTrailers(int,io.netty.channel.ChannelHandlerContext,java.util.List,io.netty.buffer.ByteBuf,io.netty.handler.codec.http.HttpHeaders)>(v, v, v, v, v);
v.<io.netty.handler.codec.http.HttpObjectEncoder: int state> = 0;
label:
interfaceinvoke v.<io.netty.handler.codec.http.LastHttpContent: boolean release()>();
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<io.netty.handler.codec.http.LastHttpContent: boolean release()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void encodeHttpContent(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http.HttpContent, java.util.List)
{
java.lang.Throwable v;
java.lang.AssertionError v, v, v;
io.netty.channel.ChannelHandlerContext v;
io.netty.buffer.ByteBuf v;
int v, v;
boolean v, v, v, v, v;
io.netty.handler.codec.http.HttpContent v;
java.util.List v;
io.netty.handler.codec.http.HttpObjectEncoder v;
v := @this: io.netty.handler.codec.http.HttpObjectEncoder;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.handler.codec.http.HttpContent;
v := @parameter: java.util.List;
v = <io.netty.handler.codec.http.HttpObjectEncoder: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = <io.netty.handler.codec.http.HttpObjectEncoder: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v instanceof io.netty.handler.codec.http.HttpMessage;
if v == 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = <io.netty.handler.codec.http.HttpObjectEncoder: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v instanceof io.netty.handler.codec.http.LastHttpContent;
if v == 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpContent: io.netty.buffer.ByteBuf content()>();
specialinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void encodeByteBufAndTrailers(int,io.netty.channel.ChannelHandlerContext,java.util.List,io.netty.buffer.ByteBuf,io.netty.handler.codec.http.HttpHeaders)>(v, v, v, v, null);
label:
interfaceinvoke v.<io.netty.handler.codec.http.HttpContent: boolean release()>();
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<io.netty.handler.codec.http.HttpContent: boolean release()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void encodeByteBufAndTrailers(int, io.netty.channel.ChannelHandlerContext, java.util.List, io.netty.buffer.ByteBuf, io.netty.handler.codec.http.HttpHeaders)
{
io.netty.handler.codec.http.HttpHeaders v;
java.lang.Error v;
io.netty.channel.ChannelHandlerContext v;
java.util.List v;
io.netty.buffer.ByteBuf v, v, v;
io.netty.handler.codec.http.HttpObjectEncoder v;
int v;
boolean v;
v := @this: io.netty.handler.codec.http.HttpObjectEncoder;
v := @parameter: int;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: java.util.List;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.handler.codec.http.HttpHeaders;
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: boolean isReadable()>();
if v == 0 goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf retain()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf EMPTY_BUFFER>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
specialinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void encodeChunkedHttpContent(io.netty.channel.ChannelHandlerContext,io.netty.buffer.ByteBuf,io.netty.handler.codec.http.HttpHeaders,java.util.List)>(v, v, v, v);
goto label;
label:
v = new java.lang.Error;
specialinvoke v.<java.lang.Error: void <init>()>();
throw v;
label:
return;
}
private void encodeChunkedHttpContent(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, io.netty.handler.codec.http.HttpHeaders, java.util.List)
{
io.netty.handler.codec.http.HttpHeaders v;
io.netty.channel.ChannelHandlerContext v;
java.util.List v;
io.netty.buffer.ByteBuf v, v, v, v, v;
io.netty.handler.codec.http.HttpObjectEncoder v;
int v;
v := @this: io.netty.handler.codec.http.HttpObjectEncoder;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.handler.codec.http.HttpHeaders;
v := @parameter: java.util.List;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
if v <= 0 goto label;
staticinvoke <io.netty.handler.codec.http.HttpObjectEncoder: void addEncodedLengthHex(io.netty.channel.ChannelHandlerContext,long,java.util.List)>(v, v, v);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf retain()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <io.netty.handler.codec.http.HttpObjectEncoder: io.netty.buffer.ByteBuf CRLF_BUF>;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf duplicate()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
if v == null goto label;
specialinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void encodeTrailingHeaders(io.netty.channel.ChannelHandlerContext,io.netty.handler.codec.http.HttpHeaders,java.util.List)>(v, v, v);
goto label;
label:
if v != 0 goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf retain()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
return;
}
private void encodeTrailingHeaders(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http.HttpHeaders, java.util.List)
{
io.netty.handler.codec.http.HttpHeaders v;
io.netty.buffer.ByteBufAllocator v;
io.netty.channel.ChannelHandlerContext v;
io.netty.buffer.ByteBuf v, v, v;
int v, v;
boolean v;
java.util.List v;
io.netty.handler.codec.http.HttpObjectEncoder v;
float v, v, v, v, v;
v := @this: io.netty.handler.codec.http.HttpObjectEncoder;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.handler.codec.http.HttpHeaders;
v := @parameter: java.util.List;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: boolean isEmpty()>();
if v == 0 goto label;
v = <io.netty.handler.codec.http.HttpObjectEncoder: io.netty.buffer.ByteBuf ZERO_CRLF_CRLF_BUF>;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf duplicate()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.buffer.ByteBufAllocator alloc()>();
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: float trailersEncodedSizeAccumulator>;
v = interfaceinvoke v.<io.netty.buffer.ByteBufAllocator: io.netty.buffer.ByteBuf buffer(int)>(v);
staticinvoke <io.netty.buffer.ByteBufUtil: io.netty.buffer.ByteBuf writeMediumBE(io.netty.buffer.ByteBuf,int)>(v, 3149066);
virtualinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void encodeHeaders(io.netty.handler.codec.http.HttpHeaders,io.netty.buffer.ByteBuf)>(v, v);
staticinvoke <io.netty.buffer.ByteBufUtil: io.netty.buffer.ByteBuf writeShortBE(io.netty.buffer.ByteBuf,int)>(v, 3338);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = staticinvoke <io.netty.handler.codec.http.HttpObjectEncoder: int padSizeForAccumulation(int)>(v);
v = 0.2F * v;
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: float trailersEncodedSizeAccumulator>;
v = 0.8F * v;
v = v + v;
v.<io.netty.handler.codec.http.HttpObjectEncoder: float trailersEncodedSizeAccumulator> = v;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
return;
}
private io.netty.buffer.ByteBuf encodeInitHttpMessage(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http.HttpMessage) throws java.lang.Exception
{
io.netty.handler.codec.http.HttpHeaders v;
io.netty.buffer.ByteBufAllocator v;
io.netty.handler.codec.http.HttpMessage v;
java.lang.AssertionError v;
io.netty.channel.ChannelHandlerContext v;
byte v;
io.netty.buffer.ByteBuf v;
int v, v, v, v;
boolean v, v, v, v;
io.netty.handler.codec.http.HttpObjectEncoder v;
float v, v, v, v, v;
v := @this: io.netty.handler.codec.http.HttpObjectEncoder;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
v = <io.netty.handler.codec.http.HttpObjectEncoder: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
if v == 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.buffer.ByteBufAllocator alloc()>();
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: float headersEncodedSizeAccumulator>;
v = interfaceinvoke v.<io.netty.buffer.ByteBufAllocator: io.netty.buffer.ByteBuf buffer(int)>(v);
virtualinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void encodeInitialLine(io.netty.buffer.ByteBuf,io.netty.handler.codec.http.HttpMessage)>(v, v);
v = virtualinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: boolean isContentAlwaysEmpty(io.netty.handler.codec.http.HttpMessage)>(v);
if v == 0 goto label;
v = 3;
goto label;
label:
v = staticinvoke <io.netty.handler.codec.http.HttpUtil: boolean isTransferEncodingChunked(io.netty.handler.codec.http.HttpMessage)>(v);
if v == 0 goto label;
v = 2;
goto label;
label:
v = 1;
label:
v.<io.netty.handler.codec.http.HttpObjectEncoder: int state> = v;
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: int state>;
if v != 3 goto label;
v = 1;
goto label;
label:
v = 0;
label:
virtualinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void sanitizeHeadersBeforeEncode(io.netty.handler.codec.http.HttpMessage,boolean)>(v, v);
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpHeaders headers()>();
virtualinvoke v.<io.netty.handler.codec.http.HttpObjectEncoder: void encodeHeaders(io.netty.handler.codec.http.HttpHeaders,io.netty.buffer.ByteBuf)>(v, v);
staticinvoke <io.netty.buffer.ByteBufUtil: io.netty.buffer.ByteBuf writeShortBE(io.netty.buffer.ByteBuf,int)>(v, 3338);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = staticinvoke <io.netty.handler.codec.http.HttpObjectEncoder: int padSizeForAccumulation(int)>(v);
v = 0.2F * v;
v = v.<io.netty.handler.codec.http.HttpObjectEncoder: float headersEncodedSizeAccumulator>;
v = 0.8F * v;
v = v + v;
v.<io.netty.handler.codec.http.HttpObjectEncoder: float headersEncodedSizeAccumulator> = v;
return v;
}
protected void encodeHeaders(io.netty.handler.codec.http.HttpHeaders, io.netty.buffer.ByteBuf)
{
io.netty.handler.codec.http.HttpHeaders v;
java.util.Iterator v;
io.netty.buffer.ByteBuf v;
io.netty.handler.codec.http.HttpObjectEncoder v;
java.lang.Object v, v, v;
boolean v;
v := @this: io.netty.handler.codec.http.HttpObjectEncoder;
v := @parameter: io.netty.handler.codec.http.HttpHeaders;
v := @parameter: io.netty.buffer.ByteBuf;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: java.util.Iterator iteratorCharSequence()>();
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 getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
staticinvoke <io.netty.handler.codec.http.HttpHeadersEncoder: void encoderHeader(java.lang.CharSequence,java.lang.CharSequence,io.netty.buffer.ByteBuf)>(v, v, v);
goto label;
label:
return;
}
private static void encodedChunkedFileRegionContent(io.netty.channel.ChannelHandlerContext, io.netty.channel.FileRegion, java.util.List)
{
long v;
io.netty.channel.ChannelHandlerContext v;
java.util.List v;
byte v, v;
io.netty.buffer.ByteBuf v, v;
io.netty.channel.FileRegion v, v, v;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.channel.FileRegion;
v := @parameter: java.util.List;
v = interfaceinvoke v.<io.netty.channel.FileRegion: long count()>();
v = v cmp 0L;
if v <= 0 goto label;
staticinvoke <io.netty.handler.codec.http.HttpObjectEncoder: void addEncodedLengthHex(io.netty.channel.ChannelHandlerContext,long,java.util.List)>(v, v, v);
v = interfaceinvoke v.<io.netty.channel.FileRegion: io.netty.channel.FileRegion retain()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <io.netty.handler.codec.http.HttpObjectEncoder: io.netty.buffer.ByteBuf CRLF_BUF>;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf duplicate()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = v cmp 0L;
if v != 0 goto label;
v = interfaceinvoke v.<io.netty.channel.FileRegion: io.netty.channel.FileRegion retain()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
return;
}
private static void addEncodedLengthHex(io.netty.channel.ChannelHandlerContext, long, java.util.List)
{
io.netty.buffer.ByteBufAllocator v;
long v;
io.netty.channel.ChannelHandlerContext v;
java.util.List v;
io.netty.buffer.ByteBuf v;
java.nio.charset.Charset v;
int v, v;
java.lang.String v;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: long;
v := @parameter: java.util.List;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.buffer.ByteBufAllocator alloc()>();
v = virtualinvoke v.<java.lang.String: int length()>();
v = v + 2;
v = interfaceinvoke v.<io.netty.buffer.ByteBufAllocator: io.netty.buffer.ByteBuf buffer(int)>(v);
v = <io.netty.util.CharsetUtil: java.nio.charset.Charset US_ASCII>;
virtualinvoke v.<io.netty.buffer.ByteBuf: int writeCharSequence(java.lang.CharSequence,java.nio.charset.Charset)>(v, v);
staticinvoke <io.netty.buffer.ByteBufUtil: io.netty.buffer.ByteBuf writeShortBE(io.netty.buffer.ByteBuf,int)>(v, 3338);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return;
}
protected void sanitizeHeadersBeforeEncode(io.netty.handler.codec.http.HttpMessage, boolean)
{
boolean v;
io.netty.handler.codec.http.HttpMessage v;
io.netty.handler.codec.http.HttpObjectEncoder v;
v := @this: io.netty.handler.codec.http.HttpObjectEncoder;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
v := @parameter: boolean;
return;
}
protected boolean isContentAlwaysEmpty(io.netty.handler.codec.http.HttpMessage)
{
io.netty.handler.codec.http.HttpMessage v;
io.netty.handler.codec.http.HttpObjectEncoder v;
v := @this: io.netty.handler.codec.http.HttpObjectEncoder;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
return 0;
}
public boolean acceptOutboundMessage(java.lang.Object) throws java.lang.Exception
{
io.netty.handler.codec.http.LastHttpContent v;
io.netty.buffer.ByteBuf v;
io.netty.handler.codec.http.HttpObjectEncoder v;
java.lang.Object v;
boolean v, v, v, v, v, v, v;
v := @this: io.netty.handler.codec.http.HttpObjectEncoder;
v := @parameter: java.lang.Object;
v = <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf EMPTY_BUFFER>;
if v == v goto label;
v = <io.netty.handler.codec.http.LastHttpContent: io.netty.handler.codec.http.LastHttpContent EMPTY_LAST_CONTENT>;
if v == v goto label;
v = v instanceof io.netty.handler.codec.http.FullHttpMessage;
if v != 0 goto label;
v = v instanceof io.netty.handler.codec.http.HttpMessage;
if v != 0 goto label;
v = v instanceof io.netty.handler.codec.http.LastHttpContent;
if v != 0 goto label;
v = v instanceof io.netty.handler.codec.http.HttpContent;
if v != 0 goto label;
v = v instanceof io.netty.buffer.ByteBuf;
if v != 0 goto label;
v = v instanceof io.netty.channel.FileRegion;
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static int padSizeForAccumulation(int)
{
int v, v, v;
v := @parameter: int;
v = v << 2;
v = v / 3;
return v;
}
protected static void encodeAscii(java.lang.String, io.netty.buffer.ByteBuf)
{
java.lang.String v;
io.netty.buffer.ByteBuf v;
java.nio.charset.Charset v;
v := @parameter: java.lang.String;
v := @parameter: io.netty.buffer.ByteBuf;
v = <io.netty.util.CharsetUtil: java.nio.charset.Charset US_ASCII>;
virtualinvoke v.<io.netty.buffer.ByteBuf: int writeCharSequence(java.lang.CharSequence,java.nio.charset.Charset)>(v, v);
return;
}
protected abstract void encodeInitialLine(io.netty.buffer.ByteBuf, io.netty.handler.codec.http.HttpMessage) throws java.lang.Exception;
static void <clinit>()
{
byte[] v, v, v;
io.netty.buffer.ByteBuf v, v, v, v, v, v, v, v, v;
int v;
boolean v, v;
java.lang.Class v;
v = class "Lio/netty/handler/codec/http/HttpObjectEncoder;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<io.netty.handler.codec.http.HttpObjectEncoder: boolean $assertionsDisabled> = v;
v = newarray (byte)[5];
v[0] = 48;
v[1] = 13;
v[2] = 10;
v[3] = 13;
v[4] = 10;
<io.netty.handler.codec.http.HttpObjectEncoder: byte[] ZERO_CRLF_CRLF> = v;
v = staticinvoke <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf directBuffer(int)>(2);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf writeByte(int)>(13);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf writeByte(int)>(10);
v = staticinvoke <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf unreleasableBuffer(io.netty.buffer.ByteBuf)>(v);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf asReadOnly()>();
<io.netty.handler.codec.http.HttpObjectEncoder: io.netty.buffer.ByteBuf CRLF_BUF> = v;
v = <io.netty.handler.codec.http.HttpObjectEncoder: byte[] ZERO_CRLF_CRLF>;
v = lengthof v;
v = staticinvoke <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf directBuffer(int)>(v);
v = <io.netty.handler.codec.http.HttpObjectEncoder: byte[] ZERO_CRLF_CRLF>;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf writeBytes(byte[])>(v);
v = staticinvoke <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf unreleasableBuffer(io.netty.buffer.ByteBuf)>(v);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf asReadOnly()>();
<io.netty.handler.codec.http.HttpObjectEncoder: io.netty.buffer.ByteBuf ZERO_CRLF_CRLF_BUF> = v;
return;
}
}