public class io.netty.handler.codec.compression.Bzip2Encoder extends io.netty.handler.codec.MessageToByteEncoder
{
private io.netty.handler.codec.compression.Bzip2Encoder$State currentState;
private final io.netty.handler.codec.compression.Bzip2BitWriter writer;
private final int streamBlockSize;
private int streamCRC;
private io.netty.handler.codec.compression.Bzip2BlockCompressor blockCompressor;
private volatile boolean finished;
private volatile io.netty.channel.ChannelHandlerContext ctx;
public void <init>()
{
io.netty.handler.codec.compression.Bzip2Encoder v;
v := @this: io.netty.handler.codec.compression.Bzip2Encoder;
specialinvoke v.<io.netty.handler.codec.compression.Bzip2Encoder: void <init>(int)>(9);
return;
}
public void <init>(int)
{
io.netty.handler.codec.compression.Bzip2Encoder$State v;
int v, v;
io.netty.handler.codec.compression.Bzip2Encoder v;
java.lang.String v;
io.netty.handler.codec.compression.Bzip2BitWriter v;
java.lang.IllegalArgumentException v;
v := @this: io.netty.handler.codec.compression.Bzip2Encoder;
v := @parameter: int;
specialinvoke v.<io.netty.handler.codec.MessageToByteEncoder: void <init>()>();
v = <io.netty.handler.codec.compression.Bzip2Encoder$State: io.netty.handler.codec.compression.Bzip2Encoder$State INIT>;
v.<io.netty.handler.codec.compression.Bzip2Encoder: io.netty.handler.codec.compression.Bzip2Encoder$State currentState> = v;
v = new io.netty.handler.codec.compression.Bzip2BitWriter;
specialinvoke v.<io.netty.handler.codec.compression.Bzip2BitWriter: void <init>()>();
v.<io.netty.handler.codec.compression.Bzip2Encoder: io.netty.handler.codec.compression.Bzip2BitWriter writer> = v;
if v < 1 goto label;
if v <= 9 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[])>("blockSizeMultiplier: \u (expected: 1-9)");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v * 100000;
v.<io.netty.handler.codec.compression.Bzip2Encoder: int streamBlockSize> = v;
return;
}
protected void encode(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf) throws java.lang.Exception
{
java.lang.IllegalStateException v;
io.netty.handler.codec.compression.Bzip2BitWriter v;
io.netty.handler.codec.compression.Bzip2BlockCompressor v, v;
io.netty.channel.ChannelHandlerContext v;
io.netty.buffer.ByteBuf v, v;
int[] v;
int v, v, v, v, v, v, v, v, v, v, v;
boolean v, v, v, v;
io.netty.handler.codec.compression.Bzip2Encoder$State v, v, v, v, v;
io.netty.handler.codec.compression.Bzip2Encoder v;
v := @this: io.netty.handler.codec.compression.Bzip2Encoder;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.netty.buffer.ByteBuf;
v = v.<io.netty.handler.codec.compression.Bzip2Encoder: boolean finished>;
if v == 0 goto label;
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf writeBytes(io.netty.buffer.ByteBuf)>(v);
return;
label:
v = <io.netty.handler.codec.compression.Bzip2Encoder$2: int[] $SwitchMap$io$netty$handler$codec$compression$Bzip2Encoder$State>;
v = v.<io.netty.handler.codec.compression.Bzip2Encoder: io.netty.handler.codec.compression.Bzip2Encoder$State currentState>;
v = virtualinvoke v.<io.netty.handler.codec.compression.Bzip2Encoder$State: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
default: goto label;
};
label:
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf ensureWritable(int)>(4);
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf writeMedium(int)>(4348520);
v = v.<io.netty.handler.codec.compression.Bzip2Encoder: int streamBlockSize>;
v = v / 100000;
v = 48 + v;
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf writeByte(int)>(v);
v = <io.netty.handler.codec.compression.Bzip2Encoder$State: io.netty.handler.codec.compression.Bzip2Encoder$State INIT_BLOCK>;
v.<io.netty.handler.codec.compression.Bzip2Encoder: io.netty.handler.codec.compression.Bzip2Encoder$State currentState> = v;
label:
v = new io.netty.handler.codec.compression.Bzip2BlockCompressor;
v = v.<io.netty.handler.codec.compression.Bzip2Encoder: io.netty.handler.codec.compression.Bzip2BitWriter writer>;
v = v.<io.netty.handler.codec.compression.Bzip2Encoder: int streamBlockSize>;
specialinvoke v.<io.netty.handler.codec.compression.Bzip2BlockCompressor: void <init>(io.netty.handler.codec.compression.Bzip2BitWriter,int)>(v, v);
v.<io.netty.handler.codec.compression.Bzip2Encoder: io.netty.handler.codec.compression.Bzip2BlockCompressor blockCompressor> = v;
v = <io.netty.handler.codec.compression.Bzip2Encoder$State: io.netty.handler.codec.compression.Bzip2Encoder$State WRITE_DATA>;
v.<io.netty.handler.codec.compression.Bzip2Encoder: io.netty.handler.codec.compression.Bzip2Encoder$State currentState> = v;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: boolean isReadable()>();
if v != 0 goto label;
return;
label:
v = v.<io.netty.handler.codec.compression.Bzip2Encoder: io.netty.handler.codec.compression.Bzip2BlockCompressor blockCompressor>;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = virtualinvoke v.<io.netty.handler.codec.compression.Bzip2BlockCompressor: int availableSize()>();
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = virtualinvoke v.<io.netty.handler.codec.compression.Bzip2BlockCompressor: int write(io.netty.buffer.ByteBuf,int,int)>(v, v, v);
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf skipBytes(int)>(v);
v = virtualinvoke v.<io.netty.handler.codec.compression.Bzip2BlockCompressor: boolean isFull()>();
if v != 0 goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: boolean isReadable()>();
if v != 0 goto label;
return;
label:
v = <io.netty.handler.codec.compression.Bzip2Encoder$State: io.netty.handler.codec.compression.Bzip2Encoder$State CLOSE_BLOCK>;
v.<io.netty.handler.codec.compression.Bzip2Encoder: io.netty.handler.codec.compression.Bzip2Encoder$State currentState> = v;
label:
specialinvoke v.<io.netty.handler.codec.compression.Bzip2Encoder: void closeBlock(io.netty.buffer.ByteBuf)>(v);
v = <io.netty.handler.codec.compression.Bzip2Encoder$State: io.netty.handler.codec.compression.Bzip2Encoder$State INIT_BLOCK>;
v.<io.netty.handler.codec.compression.Bzip2Encoder: io.netty.handler.codec.compression.Bzip2Encoder$State currentState> = v;
goto label;
label:
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>()>();
throw v;
}
private void closeBlock(io.netty.buffer.ByteBuf)
{
io.netty.handler.codec.compression.Bzip2BlockCompressor v;
io.netty.buffer.ByteBuf v;
int v, v, v, v, v, v, v;
io.netty.handler.codec.compression.Bzip2Encoder v;
boolean v;
v := @this: io.netty.handler.codec.compression.Bzip2Encoder;
v := @parameter: io.netty.buffer.ByteBuf;
v = v.<io.netty.handler.codec.compression.Bzip2Encoder: io.netty.handler.codec.compression.Bzip2BlockCompressor blockCompressor>;
v = virtualinvoke v.<io.netty.handler.codec.compression.Bzip2BlockCompressor: boolean isEmpty()>();
if v != 0 goto label;
virtualinvoke v.<io.netty.handler.codec.compression.Bzip2BlockCompressor: void close(io.netty.buffer.ByteBuf)>(v);
v = virtualinvoke v.<io.netty.handler.codec.compression.Bzip2BlockCompressor: int crc()>();
v = v.<io.netty.handler.codec.compression.Bzip2Encoder: int streamCRC>;
v = v << 1;
v = v.<io.netty.handler.codec.compression.Bzip2Encoder: int streamCRC>;
v = v >>> 31;
v = v | v;
v = v ^ v;
v.<io.netty.handler.codec.compression.Bzip2Encoder: int streamCRC> = v;
label:
return;
}
public boolean isClosed()
{
io.netty.handler.codec.compression.Bzip2Encoder v;
boolean v;
v := @this: io.netty.handler.codec.compression.Bzip2Encoder;
v = v.<io.netty.handler.codec.compression.Bzip2Encoder: boolean finished>;
return v;
}
public io.netty.channel.ChannelFuture close()
{
io.netty.channel.ChannelHandlerContext v;
io.netty.channel.ChannelPromise v;
io.netty.handler.codec.compression.Bzip2Encoder v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.handler.codec.compression.Bzip2Encoder;
v = specialinvoke v.<io.netty.handler.codec.compression.Bzip2Encoder: io.netty.channel.ChannelHandlerContext ctx()>();
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelPromise newPromise()>();
v = virtualinvoke v.<io.netty.handler.codec.compression.Bzip2Encoder: io.netty.channel.ChannelFuture close(io.netty.channel.ChannelPromise)>(v);
return v;
}
public io.netty.channel.ChannelFuture close(io.netty.channel.ChannelPromise)
{
io.netty.util.concurrent.EventExecutor v;
io.netty.channel.ChannelHandlerContext v;
io.netty.channel.ChannelPromise v;
io.netty.handler.codec.compression.Bzip2Encoder v;
io.netty.handler.codec.compression.Bzip2Encoder$1 v;
boolean v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.handler.codec.compression.Bzip2Encoder;
v := @parameter: io.netty.channel.ChannelPromise;
v = specialinvoke v.<io.netty.handler.codec.compression.Bzip2Encoder: io.netty.channel.ChannelHandlerContext ctx()>();
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: boolean inEventLoop()>();
if v == 0 goto label;
v = specialinvoke v.<io.netty.handler.codec.compression.Bzip2Encoder: io.netty.channel.ChannelFuture finishEncode(io.netty.channel.ChannelHandlerContext,io.netty.channel.ChannelPromise)>(v, v);
return v;
label:
v = new io.netty.handler.codec.compression.Bzip2Encoder$1;
specialinvoke v.<io.netty.handler.codec.compression.Bzip2Encoder$1: void <init>(io.netty.handler.codec.compression.Bzip2Encoder,io.netty.channel.ChannelPromise)>(v, v);
interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: void execute(java.lang.Runnable)>(v);
return v;
}
public void close(io.netty.channel.ChannelHandlerContext, io.netty.channel.ChannelPromise) throws java.lang.Exception
{
io.netty.channel.ChannelHandlerContext v;
io.netty.channel.ChannelPromise v, v;
io.netty.handler.codec.compression.Bzip2Encoder v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.handler.codec.compression.Bzip2Encoder;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.channel.ChannelPromise;
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelPromise newPromise()>();
v = specialinvoke v.<io.netty.handler.codec.compression.Bzip2Encoder: io.netty.channel.ChannelFuture finishEncode(io.netty.channel.ChannelHandlerContext,io.netty.channel.ChannelPromise)>(v, v);
staticinvoke <io.netty.handler.codec.compression.EncoderUtil: void closeAfterFinishEncode(io.netty.channel.ChannelHandlerContext,io.netty.channel.ChannelFuture,io.netty.channel.ChannelPromise)>(v, v, v);
return;
}
private io.netty.channel.ChannelFuture finishEncode(io.netty.channel.ChannelHandlerContext, io.netty.channel.ChannelPromise)
{
java.lang.Throwable v;
io.netty.buffer.ByteBufAllocator v;
io.netty.handler.codec.compression.Bzip2BitWriter v;
io.netty.channel.ChannelFuture v;
io.netty.channel.ChannelHandlerContext v;
io.netty.buffer.ByteBuf v;
io.netty.channel.ChannelPromise v;
int v;
io.netty.handler.codec.compression.Bzip2Encoder v;
boolean v;
v := @this: io.netty.handler.codec.compression.Bzip2Encoder;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.channel.ChannelPromise;
v = v.<io.netty.handler.codec.compression.Bzip2Encoder: boolean finished>;
if v == 0 goto label;
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise setSuccess()>();
return v;
label:
v.<io.netty.handler.codec.compression.Bzip2Encoder: boolean finished> = 1;
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.buffer.ByteBufAllocator alloc()>();
v = interfaceinvoke v.<io.netty.buffer.ByteBufAllocator: io.netty.buffer.ByteBuf buffer()>();
specialinvoke v.<io.netty.handler.codec.compression.Bzip2Encoder: void closeBlock(io.netty.buffer.ByteBuf)>(v);
v = v.<io.netty.handler.codec.compression.Bzip2Encoder: int streamCRC>;
v = v.<io.netty.handler.codec.compression.Bzip2Encoder: io.netty.handler.codec.compression.Bzip2BitWriter writer>;
label:
virtualinvoke v.<io.netty.handler.codec.compression.Bzip2BitWriter: void writeBits(io.netty.buffer.ByteBuf,int,long)>(v, 24, 1536581L);
virtualinvoke v.<io.netty.handler.codec.compression.Bzip2BitWriter: void writeBits(io.netty.buffer.ByteBuf,int,long)>(v, 24, 3690640L);
virtualinvoke v.<io.netty.handler.codec.compression.Bzip2BitWriter: void writeInt(io.netty.buffer.ByteBuf,int)>(v, v);
virtualinvoke v.<io.netty.handler.codec.compression.Bzip2BitWriter: void flush(io.netty.buffer.ByteBuf)>(v);
label:
v.<io.netty.handler.codec.compression.Bzip2Encoder: io.netty.handler.codec.compression.Bzip2BlockCompressor blockCompressor> = null;
goto label;
label:
v := @caughtexception;
v.<io.netty.handler.codec.compression.Bzip2Encoder: io.netty.handler.codec.compression.Bzip2BlockCompressor blockCompressor> = null;
throw v;
label:
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelFuture writeAndFlush(java.lang.Object,io.netty.channel.ChannelPromise)>(v, v);
return v;
catch java.lang.Throwable from label to label with label;
}
private io.netty.channel.ChannelHandlerContext ctx()
{
io.netty.channel.ChannelHandlerContext v;
io.netty.handler.codec.compression.Bzip2Encoder v;
java.lang.IllegalStateException v;
v := @this: io.netty.handler.codec.compression.Bzip2Encoder;
v = v.<io.netty.handler.codec.compression.Bzip2Encoder: io.netty.channel.ChannelHandlerContext ctx>;
if v != null goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("not added to a pipeline");
throw v;
label:
return v;
}
public void handlerAdded(io.netty.channel.ChannelHandlerContext) throws java.lang.Exception
{
io.netty.channel.ChannelHandlerContext v;
io.netty.handler.codec.compression.Bzip2Encoder v;
v := @this: io.netty.handler.codec.compression.Bzip2Encoder;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v.<io.netty.handler.codec.compression.Bzip2Encoder: io.netty.channel.ChannelHandlerContext ctx> = v;
return;
}
}