public class io.undertow.conduits.DeflatingStreamSinkConduit implements org.xnio.conduits.StreamSinkConduit
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.undertow.conduits.DeflatingStreamSinkConduit
super_class: java.lang.Object
{
protected volatile java.util.zip.Deflater deflater;
descriptor: Ljava/util/zip/Deflater;
flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE
protected final io.undertow.util.PooledObject<java.util.zip.Deflater> pooledObject;
descriptor: Lio/undertow/util/PooledObject;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Lio/undertow/util/PooledObject<Ljava/util/zip/Deflater;>;
private final io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit> conduitFactory;
descriptor: Lio/undertow/util/ConduitFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lio/undertow/util/ConduitFactory<Lorg/xnio/conduits/StreamSinkConduit;>;
private final io.undertow.server.HttpServerExchange exchange;
descriptor: Lio/undertow/server/HttpServerExchange;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.xnio.conduits.StreamSinkConduit next;
descriptor: Lorg/xnio/conduits/StreamSinkConduit;
flags: (0x0002) ACC_PRIVATE
private org.xnio.conduits.WriteReadyHandler writeReadyHandler;
descriptor: Lorg/xnio/conduits/WriteReadyHandler;
flags: (0x0002) ACC_PRIVATE
protected io.undertow.connector.PooledByteBuffer currentBuffer;
descriptor: Lio/undertow/connector/PooledByteBuffer;
flags: (0x0004) ACC_PROTECTED
private java.nio.ByteBuffer additionalBuffer;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
private int state;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final int SHUTDOWN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int NEXT_SHUTDOWN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int FLUSHING_BUFFER;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int WRITES_RESUMED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int CLOSED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int WRITTEN_TRAILER;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
public void <init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>, io.undertow.server.HttpServerExchange);
descriptor: (Lio/undertow/util/ConduitFactory;Lio/undertow/server/HttpServerExchange;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
bipush 8
invokespecial io.undertow.conduits.DeflatingStreamSinkConduit.<init>:(Lio/undertow/util/ConduitFactory;Lio/undertow/server/HttpServerExchange;I)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
0 2 1 conduitFactory Lio/undertow/util/ConduitFactory<Lorg/xnio/conduits/StreamSinkConduit;>;
0 2 2 exchange Lio/undertow/server/HttpServerExchange;
Signature: (Lio/undertow/util/ConduitFactory<Lorg/xnio/conduits/StreamSinkConduit;>;Lio/undertow/server/HttpServerExchange;)V
MethodParameters:
Name Flags
conduitFactory final
exchange final
public void <init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>, io.undertow.server.HttpServerExchange, );
descriptor: (Lio/undertow/util/ConduitFactory;Lio/undertow/server/HttpServerExchange;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iload 3
invokestatic io.undertow.conduits.DeflatingStreamSinkConduit.newInstanceDeflaterPool:(I)Lio/undertow/util/ObjectPool;
invokespecial io.undertow.conduits.DeflatingStreamSinkConduit.<init>:(Lio/undertow/util/ConduitFactory;Lio/undertow/server/HttpServerExchange;Lio/undertow/util/ObjectPool;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
0 2 1 conduitFactory Lio/undertow/util/ConduitFactory<Lorg/xnio/conduits/StreamSinkConduit;>;
0 2 2 exchange Lio/undertow/server/HttpServerExchange;
0 2 3 deflateLevel I
Signature: (Lio/undertow/util/ConduitFactory<Lorg/xnio/conduits/StreamSinkConduit;>;Lio/undertow/server/HttpServerExchange;I)V
MethodParameters:
Name Flags
conduitFactory final
exchange final
deflateLevel
public void <init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>, io.undertow.server.HttpServerExchange, io.undertow.util.ObjectPool<java.util.zip.Deflater>);
descriptor: (Lio/undertow/util/ConduitFactory;Lio/undertow/server/HttpServerExchange;Lio/undertow/util/ObjectPool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
2: aload 0
aload 3
invokeinterface io.undertow.util.ObjectPool.allocate:()Lio/undertow/util/PooledObject;
putfield io.undertow.conduits.DeflatingStreamSinkConduit.pooledObject:Lio/undertow/util/PooledObject;
3: aload 0
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.pooledObject:Lio/undertow/util/PooledObject;
invokeinterface io.undertow.util.PooledObject.getObject:()Ljava/lang/Object;
checkcast java.util.zip.Deflater
putfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
4: aload 0
aload 2
invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
invokevirtual io.undertow.server.ServerConnection.getByteBufferPool:()Lio/undertow/connector/ByteBufferPool;
invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
putfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
5: aload 0
aload 2
putfield io.undertow.conduits.DeflatingStreamSinkConduit.exchange:Lio/undertow/server/HttpServerExchange;
6: aload 0
aload 1
putfield io.undertow.conduits.DeflatingStreamSinkConduit.conduitFactory:Lio/undertow/util/ConduitFactory;
7: aload 0
new org.xnio.conduits.WriteReadyHandler$ChannelListenerHandler
dup
aload 2
invokestatic io.undertow.server.Connectors.getConduitSinkChannel:(Lio/undertow/server/HttpServerExchange;)Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokespecial org.xnio.conduits.WriteReadyHandler$ChannelListenerHandler.<init>:(Lorg/xnio/channels/SuspendableWriteChannel;)V
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.setWriteReadyHandler:(Lorg/xnio/conduits/WriteReadyHandler;)V
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
0 9 1 conduitFactory Lio/undertow/util/ConduitFactory<Lorg/xnio/conduits/StreamSinkConduit;>;
0 9 2 exchange Lio/undertow/server/HttpServerExchange;
0 9 3 deflaterPool Lio/undertow/util/ObjectPool<Ljava/util/zip/Deflater;>;
Signature: (Lio/undertow/util/ConduitFactory<Lorg/xnio/conduits/StreamSinkConduit;>;Lio/undertow/server/HttpServerExchange;Lio/undertow/util/ObjectPool<Ljava/util/zip/Deflater;>;)V
MethodParameters:
Name Flags
conduitFactory final
exchange final
deflaterPool
public static io.undertow.util.ObjectPool<java.util.zip.Deflater> newInstanceDeflaterPool(int);
descriptor: (I)Lio/undertow/util/ObjectPool;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new io.undertow.util.NewInstanceObjectPool
dup
iload 0
invokedynamic get(I)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
io/undertow/conduits/DeflatingStreamSinkConduit.lambda$0(I)Ljava/util/zip/Deflater; (6)
()Ljava/util/zip/Deflater;
invokedynamic accept()Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
java/util/zip/Deflater.end()V (5)
(Ljava/util/zip/Deflater;)V
invokespecial io.undertow.util.NewInstanceObjectPool.<init>:(Ljava/util/function/Supplier;Ljava/util/function/Consumer;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 deflateLevel I
Signature: (I)Lio/undertow/util/ObjectPool<Ljava/util/zip/Deflater;>;
MethodParameters:
Name Flags
deflateLevel
public static io.undertow.util.ObjectPool<java.util.zip.Deflater> simpleDeflaterPool(int, int);
descriptor: (II)Lio/undertow/util/ObjectPool;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: new io.undertow.util.SimpleObjectPool
dup
iload 0
iload 1
invokedynamic get(I)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
io/undertow/conduits/DeflatingStreamSinkConduit.lambda$2(I)Ljava/util/zip/Deflater; (6)
()Ljava/util/zip/Deflater;
invokedynamic accept()Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
java/util/zip/Deflater.reset()V (5)
(Ljava/util/zip/Deflater;)V
invokedynamic accept()Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
java/util/zip/Deflater.end()V (5)
(Ljava/util/zip/Deflater;)V
invokespecial io.undertow.util.SimpleObjectPool.<init>:(ILjava/util/function/Supplier;Ljava/util/function/Consumer;Ljava/util/function/Consumer;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 poolSize I
0 1 1 deflateLevel I
Signature: (II)Lio/undertow/util/ObjectPool<Ljava/util/zip/Deflater;>;
MethodParameters:
Name Flags
poolSize
deflateLevel
public int write(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
bipush 17
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 1
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnonnull 2
1: StackMap locals:
StackMap stack:
new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired:()Z
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
ifne 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
invokevirtual java.util.zip.Deflater.needsInput:()Z
ifne 10
7: aload 0
iconst_0
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.deflateData:(Z)V
8: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
invokevirtual java.util.zip.Deflater.needsInput:()Z
ifne 10
9: iconst_0
ireturn
10: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
newarray 8
astore 2
start local 2 11: aload 1
aload 2
invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
pop
12: aload 0
aload 2
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.preDeflate:([B)V
13: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
aload 2
invokevirtual java.util.zip.Deflater.setInput:([B)V
14: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.exchange:Lio/undertow/server/HttpServerExchange;
iconst_0
aload 2
arraylength
isub
i2l
invokestatic io.undertow.server.Connectors.updateResponseBytesSent:(Lio/undertow/server/HttpServerExchange;J)V
15: aload 0
iconst_0
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.deflateData:(Z)V
16: aload 2
arraylength
17: ireturn
end local 2 18: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 19: aload 0
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.freeBuffer:()V
20: aload 2
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
0 21 1 src Ljava/nio/ByteBuffer;
11 18 2 data [B
19 21 2 e Ljava/lang/Throwable;
Exception table:
from to target type
2 3 18 Class java.io.IOException
4 5 18 Class java.io.IOException
6 9 18 Class java.io.IOException
10 17 18 Class java.io.IOException
2 3 18 Class java.lang.RuntimeException
4 5 18 Class java.lang.RuntimeException
6 9 18 Class java.lang.RuntimeException
10 17 18 Class java.lang.RuntimeException
2 3 18 Class java.lang.Error
4 5 18 Class java.lang.Error
6 9 18 Class java.lang.Error
10 17 18 Class java.lang.Error
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src final
protected void preDeflate(byte[]);
descriptor: ([B)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
0 1 1 data [B
MethodParameters:
Name Flags
data
public long write(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
bipush 17
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 1
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnonnull 2
1: StackMap locals:
StackMap stack:
new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 3: iload 2
istore 5
start local 5 4: goto 12
5: StackMap locals: int int
StackMap stack:
aload 1
iload 5
aaload
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 11
6: aload 0
aload 1
iload 5
aaload
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
istore 6
start local 6 7: iload 4
iload 6
iadd
istore 4
8: iload 6
ifne 11
9: iload 4
i2l
10: lreturn
end local 6 11: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
12: iload 5
iload 2
iload 3
iadd
if_icmplt 5
end local 5 13: iload 4
i2l
14: lreturn
end local 4 15: StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit java.nio.ByteBuffer[] int int
StackMap stack: java.lang.Throwable
astore 4
start local 4 16: aload 0
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.freeBuffer:()V
17: aload 4
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
0 18 1 srcs [Ljava/nio/ByteBuffer;
0 18 2 offset I
0 18 3 length I
3 15 4 total I
4 13 5 i I
7 11 6 ret I
16 18 4 e Ljava/lang/Throwable;
Exception table:
from to target type
2 10 15 Class java.io.IOException
11 14 15 Class java.io.IOException
2 10 15 Class java.lang.RuntimeException
11 14 15 Class java.lang.RuntimeException
2 10 15 Class java.lang.Error
11 14 15 Class java.lang.Error
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcs final
offset final
length final
public int writeFinal(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.xnio.conduits.Conduits.writeFinalBasic:(Lorg/xnio/conduits/StreamSinkConduit;Ljava/nio/ByteBuffer;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
0 1 1 src Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
public long writeFinal(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
invokestatic org.xnio.conduits.Conduits.writeFinalBasic:(Lorg/xnio/conduits/StreamSinkConduit;[Ljava/nio/ByteBuffer;II)J
lreturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
0 1 1 srcs [Ljava/nio/ByteBuffer;
0 1 2 offset I
0 1 3 length I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcs
offset
length
public long transferFrom(java.nio.channels.FileChannel, long, long);
descriptor: (Ljava/nio/channels/FileChannel;JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
bipush 17
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired:()Z
ifne 4
3: lconst_0
lreturn
4: StackMap locals:
StackMap stack:
aload 1
lload 2
lload 4
new org.xnio.conduits.ConduitWritableByteChannel
dup
aload 0
invokespecial org.xnio.conduits.ConduitWritableByteChannel.<init>:(Lorg/xnio/conduits/StreamSinkConduit;)V
invokevirtual java.nio.channels.FileChannel.transferTo:(JJLjava/nio/channels/WritableByteChannel;)J
lreturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
0 5 1 src Ljava/nio/channels/FileChannel;
0 5 2 position J
0 5 4 count J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src final
position final
count final
public long transferFrom(org.xnio.channels.StreamSourceChannel, long, java.nio.ByteBuffer);
descriptor: (Lorg/xnio/channels/StreamSourceChannel;JLjava/nio/ByteBuffer;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
bipush 17
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired:()Z
ifne 4
3: lconst_0
lreturn
4: StackMap locals:
StackMap stack:
aload 1
lload 2
aload 4
new org.xnio.conduits.ConduitWritableByteChannel
dup
aload 0
invokespecial org.xnio.conduits.ConduitWritableByteChannel.<init>:(Lorg/xnio/conduits/StreamSinkConduit;)V
invokestatic org.xnio.IoUtils.transfer:(Ljava/nio/channels/ReadableByteChannel;JLjava/nio/ByteBuffer;Ljava/nio/channels/WritableByteChannel;)J
lreturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
0 5 1 source Lorg/xnio/channels/StreamSourceChannel;
0 5 2 count J
0 5 4 throughBuffer Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
source final
count final
throughBuffer final
public org.xnio.XnioWorker getWorker();
descriptor: ()Lorg/xnio/XnioWorker;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
invokevirtual io.undertow.server.ServerConnection.getWorker:()Lorg/xnio/XnioWorker;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
public void suspendWrites();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
ifnonnull 3
1: aload 0
dup
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
bipush -9
iand
putfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.suspendWrites:()V
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
public boolean isWriteResumed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
ifnonnull 2
1: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
bipush 8
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.isWriteResumed:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
public void wakeupWrites();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
ifnonnull 3
1: aload 0
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.resumeWrites:()V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.wakeupWrites:()V
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
public void resumeWrites();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
ifnonnull 4
1: aload 0
dup
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
bipush 8
ior
putfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
2: aload 0
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.queueWriteListener:()V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
private void queueWriteListener();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
invokevirtual io.undertow.server.ServerConnection.getIoThread:()Lorg/xnio/XnioIoThread;
new io.undertow.conduits.DeflatingStreamSinkConduit$1
dup
aload 0
invokespecial io.undertow.conduits.DeflatingStreamSinkConduit$1.<init>:(Lio/undertow/conduits/DeflatingStreamSinkConduit;)V
invokevirtual org.xnio.XnioIoThread.execute:(Ljava/lang/Runnable;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
public void terminateWrites();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
ifnull 2
1: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
invokevirtual java.util.zip.Deflater.finish:()V
2: StackMap locals:
StackMap stack:
aload 0
dup
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
iconst_1
ior
putfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
Exceptions:
throws java.io.IOException
public boolean isWriteShutdown();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
iconst_1
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
public void awaitWritable();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.awaitWritable:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
Exceptions:
throws java.io.IOException
public void awaitWritable(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
lload 1
aload 3
invokeinterface org.xnio.conduits.StreamSinkConduit.awaitWritable:(JLjava/util/concurrent/TimeUnit;)V
3: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
0 4 1 time J
0 4 3 timeUnit Ljava/util/concurrent/TimeUnit;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
time final
timeUnit final
public org.xnio.XnioIoThread getWriteThread();
descriptor: ()Lorg/xnio/XnioIoThread;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
invokevirtual io.undertow.server.ServerConnection.getIoThread:()Lorg/xnio/XnioIoThread;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
public void setWriteReadyHandler(org.xnio.conduits.WriteReadyHandler);
descriptor: (Lorg/xnio/conduits/WriteReadyHandler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.undertow.conduits.DeflatingStreamSinkConduit.writeReadyHandler:Lorg/xnio/conduits/WriteReadyHandler;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
0 2 1 handler Lorg/xnio/conduits/WriteReadyHandler;
MethodParameters:
Name Flags
handler final
public boolean flush();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=13, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnonnull 4
1: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 3
2: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.flush:()Z
ireturn
3: StackMap locals:
StackMap stack:
iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 5: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
iconst_1
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 86
6: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 15
7: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.flush:()Z
istore 11
8: iload 1
ifeq 14
9: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
bipush 8
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 14
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 14
10: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
11: goto 14
StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int top top top top top top top top top int
StackMap stack: java.lang.Throwable
12: astore 12
start local 12 13: getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
ldc "Failed to resume"
aload 12
invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 12 14: StackMap locals:
StackMap stack:
iload 11
ireturn
15: StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int
StackMap stack:
aload 0
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired:()Z
ifne 23
16: iload 1
ifeq 22
17: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
bipush 8
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 22
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 22
18: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
19: goto 22
StackMap locals:
StackMap stack: java.lang.Throwable
20: astore 12
start local 12 21: getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
ldc "Failed to resume"
aload 12
invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 12 22: StackMap locals:
StackMap stack:
iconst_0
ireturn
23: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
invokevirtual java.util.zip.Deflater.finished:()Z
ifne 33
24: aload 0
iconst_0
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.deflateData:(Z)V
25: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
invokevirtual java.util.zip.Deflater.finished:()Z
ifne 33
26: iload 1
ifeq 32
27: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
bipush 8
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 32
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 32
28: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
29: goto 32
StackMap locals:
StackMap stack: java.lang.Throwable
30: astore 12
start local 12 31: getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
ldc "Failed to resume"
aload 12
invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 12 32: StackMap locals:
StackMap stack:
iconst_0
ireturn
33: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
astore 2
start local 2 34: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
bipush 32
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 61
35: aload 0
dup
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
bipush 32
ior
putfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
36: aload 0
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.getTrailer:()[B
astore 3
start local 3 37: aload 3
ifnull 61
38: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.exchange:Lio/undertow/server/HttpServerExchange;
aload 3
arraylength
i2l
invokestatic io.undertow.server.Connectors.updateResponseBytesSent:(Lio/undertow/server/HttpServerExchange;J)V
39: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
ifnull 52
40: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
aload 3
arraylength
iadd
newarray 8
astore 4
start local 4 41: iconst_0
istore 5
start local 5 42: goto 44
43: StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int java.nio.ByteBuffer byte[] byte[] int
StackMap stack:
aload 4
iload 5
iinc 5 1
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.get:()B
bastore
44: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 43
45: aload 3
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 49
StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int java.nio.ByteBuffer byte[] byte[] int top int int byte[]
StackMap stack:
46: aload 9
iload 7
baload
istore 6
start local 6 47: aload 4
iload 5
iinc 5 1
iload 6
bastore
end local 6 48: iinc 7 1
StackMap locals:
StackMap stack:
49: iload 7
iload 8
if_icmplt 46
50: aload 0
aload 4
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
putfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
end local 5 end local 4 51: goto 61
StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int java.nio.ByteBuffer byte[]
StackMap stack:
52: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
iconst_4
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 57
aload 2
invokevirtual java.nio.ByteBuffer.capacity:()I
aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
isub
aload 3
arraylength
if_icmplt 57
53: aload 2
invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
pop
54: aload 2
aload 3
invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
pop
55: aload 2
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
56: goto 61
StackMap locals:
StackMap stack:
57: aload 3
arraylength
aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
if_icmpgt 60
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
iconst_4
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 60
58: aload 2
aload 3
invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
pop
59: goto 61
60: StackMap locals:
StackMap stack:
aload 0
aload 3
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
putfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
end local 3 61: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
iconst_4
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 67
62: aload 2
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
63: aload 0
dup
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
iconst_4
ior
putfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
64: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
ifnonnull 67
65: iconst_1
istore 1
66: aload 0
aload 0
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.createNextChannel:()Lorg/xnio/conduits/StreamSinkConduit;
putfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
67: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired:()Z
ifeq 79
68: aload 0
dup
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
iconst_2
ior
putfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
69: aload 0
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.freeBuffer:()V
70: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.terminateWrites:()V
71: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.flush:()Z
istore 11
72: iload 1
ifeq 78
73: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
bipush 8
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 78
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 78
74: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
75: goto 78
StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int java.nio.ByteBuffer top top top top top top top top int
StackMap stack: java.lang.Throwable
76: astore 12
start local 12 77: getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
ldc "Failed to resume"
aload 12
invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 12 78: StackMap locals:
StackMap stack:
iload 11
ireturn
79: StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int java.nio.ByteBuffer
StackMap stack:
iload 1
ifeq 85
80: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
bipush 8
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 85
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 85
81: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
82: goto 85
StackMap locals:
StackMap stack: java.lang.Throwable
83: astore 12
start local 12 84: getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
ldc "Failed to resume"
aload 12
invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 12 85: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 86: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
iconst_4
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 94
87: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
ifnonnull 90
88: iconst_1
istore 1
89: aload 0
aload 0
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.createNextChannel:()Lorg/xnio/conduits/StreamSinkConduit;
putfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
90: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.deflateData:(Z)V
91: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
iconst_4
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 94
92: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
93: aload 0
dup
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
iconst_4
ior
putfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
94: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired:()Z
ifne 102
95: iload 1
ifeq 101
96: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
bipush 8
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 101
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 101
97: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
98: goto 101
StackMap locals:
StackMap stack: java.lang.Throwable
99: astore 12
start local 12 100: getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
ldc "Failed to resume"
aload 12
invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 12 101: StackMap locals:
StackMap stack:
iconst_0
ireturn
102: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.flush:()Z
istore 11
103: iload 1
ifeq 109
104: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
bipush 8
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 109
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 109
105: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
106: goto 109
StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int top top top top top top top top top int
StackMap stack: java.lang.Throwable
107: astore 12
start local 12 108: getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
ldc "Failed to resume"
aload 12
invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 12 109: StackMap locals:
StackMap stack:
iload 11
ireturn
110: StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int
StackMap stack: java.lang.Throwable
astore 10
111: iload 1
ifeq 117
112: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
bipush 8
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 117
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 117
113: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
114: goto 117
StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int top top top top top top top top java.lang.Throwable
StackMap stack: java.lang.Throwable
115: astore 12
start local 12 116: getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
ldc "Failed to resume"
aload 12
invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 12 117: StackMap locals:
StackMap stack:
aload 10
athrow
end local 1 118: StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit
StackMap stack: java.lang.Throwable
astore 1
start local 1 119: aload 0
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.freeBuffer:()V
120: aload 1
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 121 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
5 118 1 nextCreated Z
34 86 2 buffer Ljava/nio/ByteBuffer;
37 61 3 data [B
41 51 4 newData [B
42 51 5 pos I
47 48 6 aData B
13 14 12 e Ljava/lang/Throwable;
21 22 12 e Ljava/lang/Throwable;
31 32 12 e Ljava/lang/Throwable;
77 78 12 e Ljava/lang/Throwable;
84 85 12 e Ljava/lang/Throwable;
100 101 12 e Ljava/lang/Throwable;
108 109 12 e Ljava/lang/Throwable;
116 117 12 e Ljava/lang/Throwable;
119 121 1 e Ljava/lang/Throwable;
Exception table:
from to target type
10 11 12 Class java.lang.Throwable
18 19 20 Class java.lang.Throwable
28 29 30 Class java.lang.Throwable
74 75 76 Class java.lang.Throwable
81 82 83 Class java.lang.Throwable
97 98 99 Class java.lang.Throwable
105 106 107 Class java.lang.Throwable
5 8 110 any
15 16 110 any
23 26 110 any
33 72 110 any
86 95 110 any
102 103 110 any
113 114 115 Class java.lang.Throwable
4 14 118 Class java.io.IOException
15 22 118 Class java.io.IOException
23 32 118 Class java.io.IOException
33 78 118 Class java.io.IOException
79 85 118 Class java.io.IOException
86 101 118 Class java.io.IOException
102 109 118 Class java.io.IOException
110 118 118 Class java.io.IOException
4 14 118 Class java.lang.RuntimeException
15 22 118 Class java.lang.RuntimeException
23 32 118 Class java.lang.RuntimeException
33 78 118 Class java.lang.RuntimeException
79 85 118 Class java.lang.RuntimeException
86 101 118 Class java.lang.RuntimeException
102 109 118 Class java.lang.RuntimeException
110 118 118 Class java.lang.RuntimeException
4 14 118 Class java.lang.Error
15 22 118 Class java.lang.Error
23 32 118 Class java.lang.Error
33 78 118 Class java.lang.Error
79 85 118 Class java.lang.Error
86 101 118 Class java.lang.Error
102 109 118 Class java.lang.Error
110 118 118 Class java.lang.Error
Exceptions:
throws java.io.IOException
protected byte[] getTrailer();
descriptor: ()[B
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
private boolean performFlushIfRequired();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
iconst_4
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 22
1: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
ifnonnull 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_2
StackMap locals:
StackMap stack: int
3: anewarray java.nio.ByteBuffer
astore 1
start local 1 4: lconst_0
lstore 2
start local 2 5: aload 1
iconst_0
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
aastore
6: lload 2
aload 1
iconst_0
aaload
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
ladd
lstore 2
7: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
ifnull 10
8: aload 1
iconst_1
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
aastore
9: lload 2
aload 1
iconst_1
aaload
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
ladd
lstore 2
10: StackMap locals: java.nio.ByteBuffer[] long
StackMap stack:
lload 2
lconst_0
lcmp
ifle 19
11: lconst_0
lstore 4
start local 4 12: lconst_0
lstore 6
start local 6 13: StackMap locals: long long
StackMap stack:
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
aload 1
iconst_0
aload 1
arraylength
invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
lstore 6
14: lload 4
lload 6
ladd
lstore 4
15: lload 6
lconst_0
lcmp
ifne 17
16: iconst_0
ireturn
17: StackMap locals:
StackMap stack:
lload 4
lload 2
18: lcmp
iflt 13
end local 6 end local 4 19: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
20: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
21: aload 0
dup
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
bipush -5
iand
putfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
end local 2 end local 1 22: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
4 22 1 bufs [Ljava/nio/ByteBuffer;
5 22 2 totalLength J
12 19 4 total J
13 19 6 res J
Exceptions:
throws java.io.IOException
private org.xnio.conduits.StreamSinkConduit createNextChannel();
descriptor: ()Lorg/xnio/conduits/StreamSinkConduit;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
invokevirtual java.util.zip.Deflater.finished:()Z
ifeq 7
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
bipush 32
invokestatic org.xnio.Bits.allAreSet:(II)Z
ifeq 7
1: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 1
start local 1 2: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
ifnull 4
3: iload 1
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
iadd
istore 1
4: StackMap locals: int
StackMap stack:
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getResponseHeaders:()Lio/undertow/util/HeaderMap;
getstatic io.undertow.util.Headers.TRANSFER_ENCODING:Lio/undertow/util/HttpString;
invokevirtual io.undertow.util.HeaderMap.contains:(Lio/undertow/util/HttpString;)Z
ifne 8
5: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getResponseHeaders:()Lio/undertow/util/HeaderMap;
getstatic io.undertow.util.Headers.CONTENT_LENGTH:Lio/undertow/util/HttpString;
iload 1
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual io.undertow.util.HeaderMap.put:(Lio/undertow/util/HttpString;Ljava/lang/String;)Lio/undertow/util/HeaderMap;
pop
end local 1 6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getResponseHeaders:()Lio/undertow/util/HeaderMap;
getstatic io.undertow.util.Headers.CONTENT_LENGTH:Lio/undertow/util/HttpString;
invokevirtual io.undertow.util.HeaderMap.remove:(Lio/undertow/util/HttpString;)Ljava/util/Collection;
pop
8: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.conduitFactory:Lio/undertow/util/ConduitFactory;
invokeinterface io.undertow.util.ConduitFactory.create:()Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
2 6 1 remaining I
private void deflateData(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=13, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aconst_null
astore 3
aconst_null
astore 4
2: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
invokevirtual io.undertow.server.ServerConnection.getByteBufferPool:()Lio/undertow/connector/ByteBufferPool;
invokeinterface io.undertow.connector.ByteBufferPool.getArrayBackedPool:()Lio/undertow/connector/ByteBufferPool;
invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
astore 5
start local 5 3: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
astore 6
start local 6 4: aload 6
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
astore 7
start local 7 5: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
iconst_1
invokestatic org.xnio.Bits.anyAreSet:(II)Z
istore 8
start local 8 6: aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
astore 9
start local 9 7: goto 36
8: StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int int java.lang.Throwable java.lang.Throwable io.undertow.connector.PooledByteBuffer io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int java.nio.ByteBuffer
StackMap stack:
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
aload 9
invokevirtual java.nio.ByteBuffer.array:()[B
aload 9
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
aload 9
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 1
ifeq 9
iconst_2
goto 10
StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int int java.lang.Throwable java.lang.Throwable io.undertow.connector.PooledByteBuffer io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int java.nio.ByteBuffer
StackMap stack: java.util.zip.Deflater byte[] int int
9: iconst_0
StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int int java.lang.Throwable java.lang.Throwable io.undertow.connector.PooledByteBuffer io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int java.nio.ByteBuffer
StackMap stack: java.util.zip.Deflater byte[] int int int
10: invokevirtual java.util.zip.Deflater.deflate:([BIII)I
istore 10
start local 10 11: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.exchange:Lio/undertow/server/HttpServerExchange;
iload 10
i2l
invokestatic io.undertow.server.Connectors.updateResponseBytesSent:(Lio/undertow/server/HttpServerExchange;J)V
12: iload 10
ifeq 35
13: aload 7
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 11
start local 11 14: iload 11
iload 10
if_icmple 17
15: aload 7
aload 9
invokevirtual java.nio.ByteBuffer.array:()[B
aload 9
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
iload 10
invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
pop
16: goto 36
17: StackMap locals: int int
StackMap stack:
iload 11
iload 10
if_icmpne 20
18: aload 7
aload 9
invokevirtual java.nio.ByteBuffer.array:()[B
aload 9
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
iload 10
invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
pop
19: goto 24
20: StackMap locals:
StackMap stack:
aload 7
aload 9
invokevirtual java.nio.ByteBuffer.array:()[B
aload 9
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
iload 11
invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
pop
21: aload 0
iload 10
iload 11
isub
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
putfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
22: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
aload 9
invokevirtual java.nio.ByteBuffer.array:()[B
aload 9
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
iload 11
iadd
iload 10
iload 11
isub
invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
pop
23: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
24: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
25: aload 0
dup
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
iconst_4
ior
putfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
26: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
ifnonnull 29
27: iconst_1
istore 2
28: aload 0
aload 0
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.createNextChannel:()Lorg/xnio/conduits/StreamSinkConduit;
putfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
29: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired:()Z
ifne 36
30: aload 5
ifnull 31
aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
31: StackMap locals:
StackMap stack:
iload 2
ifeq 34
32: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
bipush 8
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 34
33: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
34: StackMap locals:
StackMap stack:
return
end local 11 35: StackMap locals:
StackMap stack:
iconst_0
istore 1
end local 10 36: StackMap locals:
StackMap stack:
iload 1
ifne 8
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
invokevirtual java.util.zip.Deflater.needsInput:()Z
ifeq 8
iload 8
ifeq 37
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
invokevirtual java.util.zip.Deflater.finished:()Z
ifeq 8
end local 9 end local 8 end local 7 end local 6 37: StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int int java.lang.Throwable java.lang.Throwable io.undertow.connector.PooledByteBuffer
StackMap stack:
aload 5
ifnull 48
aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
goto 48
StackMap locals:
StackMap stack: java.lang.Throwable
38: astore 3
aload 5
ifnull 39
aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
end local 5 StackMap locals:
StackMap stack:
39: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
40: astore 4
aload 3
ifnonnull 41
aload 4
astore 3
goto 42
StackMap locals:
StackMap stack:
41: aload 3
aload 4
if_acmpeq 42
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
42: aload 3
athrow
StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int int
StackMap stack: java.lang.Throwable
43: astore 12
44: iload 2
ifeq 47
45: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
bipush 8
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 47
46: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
47: StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int int top top top top top top top top top java.lang.Throwable
StackMap stack:
aload 12
athrow
48: StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int int
StackMap stack:
iload 2
ifeq 51
49: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
bipush 8
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 51
50: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
51: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
0 52 1 force Z
1 52 2 nextCreated Z
3 39 5 arrayPooled Lio/undertow/connector/PooledByteBuffer;
4 37 6 pooled Lio/undertow/connector/PooledByteBuffer;
5 37 7 outputBuffer Ljava/nio/ByteBuffer;
6 37 8 shutdown Z
7 37 9 buf Ljava/nio/ByteBuffer;
11 36 10 count I
14 35 11 remaining I
Exception table:
from to target type
3 30 38 any
35 37 38 any
2 31 40 any
35 40 40 any
1 31 43 any
35 43 43 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
force
public void truncateWrites();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.freeBuffer:()V
1: aload 0
dup
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
bipush 16
ior
putfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
2: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.truncateWrites:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
Exceptions:
throws java.io.IOException
private void freeBuffer();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnull 4
1: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
2: aload 0
aconst_null
putfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
3: aload 0
dup
getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
bipush -5
iand
putfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
4: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
ifnull 7
5: aload 0
aconst_null
putfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
6: aload 0
getfield io.undertow.conduits.DeflatingStreamSinkConduit.pooledObject:Lio/undertow/util/PooledObject;
invokeinterface io.undertow.util.PooledObject.close:()V
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/undertow/conduits/DeflatingStreamSinkConduit;
private static java.util.zip.Deflater lambda$0(int);
descriptor: (I)Ljava/util/zip/Deflater;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=1, args_size=1
0: new java.util.zip.Deflater
dup
iload 0
iconst_1
invokespecial java.util.zip.Deflater.<init>:(IZ)V
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.util.zip.Deflater lambda$2(int);
descriptor: (I)Ljava/util/zip/Deflater;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=1, args_size=1
0: new java.util.zip.Deflater
dup
iload 0
iconst_1
invokespecial java.util.zip.Deflater.<init>:(IZ)V
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "DeflatingStreamSinkConduit.java"
NestMembers:
io.undertow.conduits.DeflatingStreamSinkConduit$1
InnerClasses:
io.undertow.conduits.DeflatingStreamSinkConduit$1
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public ChannelListenerHandler = org.xnio.conduits.WriteReadyHandler$ChannelListenerHandler of org.xnio.conduits.WriteReadyHandler