public class io.undertow.conduits.InflatingStreamSourceConduit extends org.xnio.conduits.AbstractStreamSourceConduit<org.xnio.conduits.StreamSourceConduit>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.undertow.conduits.InflatingStreamSourceConduit
super_class: org.xnio.conduits.AbstractStreamSourceConduit
{
public static final io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit> WRAPPER;
descriptor: Lio/undertow/server/ConduitWrapper;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lio/undertow/server/ConduitWrapper<Lorg/xnio/conduits/StreamSourceConduit;>;
private volatile java.util.zip.Inflater inflater;
descriptor: Ljava/util/zip/Inflater;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final io.undertow.util.PooledObject<java.util.zip.Inflater> pooledObject;
descriptor: Lio/undertow/util/PooledObject;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lio/undertow/util/PooledObject<Ljava/util/zip/Inflater;>;
private final io.undertow.server.HttpServerExchange exchange;
descriptor: Lio/undertow/server/HttpServerExchange;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private io.undertow.connector.PooledByteBuffer compressed;
descriptor: Lio/undertow/connector/PooledByteBuffer;
flags: (0x0002) ACC_PRIVATE
private io.undertow.connector.PooledByteBuffer uncompressed;
descriptor: Lio/undertow/connector/PooledByteBuffer;
flags: (0x0002) ACC_PRIVATE
private boolean nextDone;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean ;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new io.undertow.conduits.InflatingStreamSourceConduit$1
dup
invokespecial io.undertow.conduits.InflatingStreamSourceConduit$1.<init>:()V
putstatic io.undertow.conduits.InflatingStreamSourceConduit.WRAPPER:Lio/undertow/server/ConduitWrapper;
1: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(io.undertow.server.HttpServerExchange, org.xnio.conduits.StreamSourceConduit);
descriptor: (Lio/undertow/server/HttpServerExchange;Lorg/xnio/conduits/StreamSourceConduit;)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
invokestatic io.undertow.conduits.InflatingStreamSourceConduit.newInstanceInflaterPool:()Lio/undertow/util/ObjectPool;
invokespecial io.undertow.conduits.InflatingStreamSourceConduit.<init>:(Lio/undertow/server/HttpServerExchange;Lorg/xnio/conduits/StreamSourceConduit;Lio/undertow/util/ObjectPool;)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/InflatingStreamSourceConduit;
0 2 1 exchange Lio/undertow/server/HttpServerExchange;
0 2 2 next Lorg/xnio/conduits/StreamSourceConduit;
MethodParameters:
Name Flags
exchange
next
public void <init>(io.undertow.server.HttpServerExchange, org.xnio.conduits.StreamSourceConduit, io.undertow.util.ObjectPool<java.util.zip.Inflater>);
descriptor: (Lio/undertow/server/HttpServerExchange;Lorg/xnio/conduits/StreamSourceConduit;Lio/undertow/util/ObjectPool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
invokespecial org.xnio.conduits.AbstractStreamSourceConduit.<init>:(Lorg/xnio/conduits/StreamSourceConduit;)V
1: aload 0
iconst_0
putfield io.undertow.conduits.InflatingStreamSourceConduit.nextDone:Z
2: aload 0
iconst_0
putfield io.undertow.conduits.InflatingStreamSourceConduit.headerDone:Z
3: aload 0
aload 1
putfield io.undertow.conduits.InflatingStreamSourceConduit.exchange:Lio/undertow/server/HttpServerExchange;
4: aload 0
aload 3
invokeinterface io.undertow.util.ObjectPool.allocate:()Lio/undertow/util/PooledObject;
putfield io.undertow.conduits.InflatingStreamSourceConduit.pooledObject:Lio/undertow/util/PooledObject;
5: aload 0
aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.pooledObject:Lio/undertow/util/PooledObject;
invokeinterface io.undertow.util.PooledObject.getObject:()Ljava/lang/Object;
checkcast java.util.zip.Inflater
putfield io.undertow.conduits.InflatingStreamSourceConduit.inflater:Ljava/util/zip/Inflater;
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/undertow/conduits/InflatingStreamSourceConduit;
0 7 1 exchange Lio/undertow/server/HttpServerExchange;
0 7 2 next Lorg/xnio/conduits/StreamSourceConduit;
0 7 3 inflaterPool Lio/undertow/util/ObjectPool<Ljava/util/zip/Inflater;>;
Signature: (Lio/undertow/server/HttpServerExchange;Lorg/xnio/conduits/StreamSourceConduit;Lio/undertow/util/ObjectPool<Ljava/util/zip/Inflater;>;)V
MethodParameters:
Name Flags
exchange
next
inflaterPool
public static io.undertow.util.ObjectPool<java.util.zip.Inflater> newInstanceInflaterPool();
descriptor: ()Lio/undertow/util/ObjectPool;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: new io.undertow.util.NewInstanceObjectPool
dup
invokedynamic get()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/InflatingStreamSourceConduit.lambda$0()Ljava/util/zip/Inflater; (6)
()Ljava/util/zip/Inflater;
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/Inflater.end()V (5)
(Ljava/util/zip/Inflater;)V
invokespecial io.undertow.util.NewInstanceObjectPool.<init>:(Ljava/util/function/Supplier;Ljava/util/function/Consumer;)V
areturn
LocalVariableTable:
Start End Slot Name Signature
Signature: ()Lio/undertow/util/ObjectPool<Ljava/util/zip/Inflater;>;
public static io.undertow.util.ObjectPool<java.util.zip.Inflater> simpleInflaterPool(int);
descriptor: (I)Lio/undertow/util/ObjectPool;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: new io.undertow.util.SimpleObjectPool
dup
iload 0
invokedynamic get()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/InflatingStreamSourceConduit.lambda$2()Ljava/util/zip/Inflater; (6)
()Ljava/util/zip/Inflater;
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/Inflater.reset()V (5)
(Ljava/util/zip/Inflater;)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/Inflater.end()V (5)
(Ljava/util/zip/Inflater;)V
invokespecial io.undertow.util.SimpleObjectPool.<init>:(ILjava/util/function/Supplier;Ljava/util/function/Consumer;Ljava/util/function/Consumer;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 poolSize I
Signature: (I)Lio/undertow/util/ObjectPool<Ljava/util/zip/Inflater;>;
MethodParameters:
Name Flags
poolSize
public int read(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.undertow.conduits.InflatingStreamSourceConduit.isReadShutdown:()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
getfield io.undertow.conduits.InflatingStreamSourceConduit.uncompressed:Lio/undertow/connector/PooledByteBuffer;
ifnull 8
3: aload 1
aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.uncompressed:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokestatic org.xnio.Buffers.copy:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
istore 2
start local 2 4: aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.uncompressed:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 7
5: aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.uncompressed:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
6: aload 0
aconst_null
putfield io.undertow.conduits.InflatingStreamSourceConduit.uncompressed:Lio/undertow/connector/PooledByteBuffer;
7: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 8: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.compressed:Lio/undertow/connector/PooledByteBuffer;
ifnonnull 25
aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.nextDone:Z
ifne 25
9: aload 0
aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.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;
putfield io.undertow.conduits.InflatingStreamSourceConduit.compressed:Lio/undertow/connector/PooledByteBuffer;
10: aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.compressed:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
astore 2
start local 2 11: aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSourceConduit
aload 2
invokeinterface org.xnio.conduits.StreamSourceConduit.read:(Ljava/nio/ByteBuffer;)I
istore 3
start local 3 12: iload 3
iconst_m1
if_icmpne 17
13: aload 0
iconst_1
putfield io.undertow.conduits.InflatingStreamSourceConduit.nextDone:Z
14: aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.compressed:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
15: aload 0
aconst_null
putfield io.undertow.conduits.InflatingStreamSourceConduit.compressed:Lio/undertow/connector/PooledByteBuffer;
16: goto 25
StackMap locals: java.nio.ByteBuffer int
StackMap stack:
17: iload 3
ifne 21
18: aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.compressed:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
19: aload 0
aconst_null
putfield io.undertow.conduits.InflatingStreamSourceConduit.compressed:Lio/undertow/connector/PooledByteBuffer;
20: iconst_0
ireturn
21: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
22: aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.headerDone:Z
ifne 24
23: aload 0
aload 0
aload 2
invokevirtual io.undertow.conduits.InflatingStreamSourceConduit.readHeader:(Ljava/nio/ByteBuffer;)Z
putfield io.undertow.conduits.InflatingStreamSourceConduit.headerDone:Z
24: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.inflater:Ljava/util/zip/Inflater;
aload 2
invokevirtual java.nio.ByteBuffer.array:()[B
aload 2
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
iadd
aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual java.util.zip.Inflater.setInput:([BII)V
end local 3 end local 2 25: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.nextDone:Z
ifeq 27
aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.inflater:Ljava/util/zip/Inflater;
invokevirtual java.util.zip.Inflater.needsInput:()Z
ifeq 27
aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.inflater:Ljava/util/zip/Inflater;
invokevirtual java.util.zip.Inflater.finished:()Z
ifne 27
26: getstatic io.undertow.UndertowLogger.ROOT_LOGGER:Lio/undertow/UndertowLogger;
invokeinterface io.undertow.UndertowLogger.unexpectedEndOfCompressedInput:()Ljava/io/IOException;
athrow
27: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.nextDone:Z
ifeq 30
aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.inflater:Ljava/util/zip/Inflater;
invokevirtual java.util.zip.Inflater.finished:()Z
ifeq 30
28: aload 0
invokevirtual io.undertow.conduits.InflatingStreamSourceConduit.done:()V
29: iconst_m1
ireturn
30: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.inflater:Ljava/util/zip/Inflater;
invokevirtual java.util.zip.Inflater.finished:()Z
ifeq 48
31: aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.inflater:Ljava/util/zip/Inflater;
invokevirtual java.util.zip.Inflater.getRemaining:()I
istore 2
start local 2 32: aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.compressed:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
astore 3
start local 3 33: aload 3
aload 3
invokevirtual java.nio.ByteBuffer.limit:()I
iload 2
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
34: aload 0
aload 3
invokevirtual io.undertow.conduits.InflatingStreamSourceConduit.readFooter:(Ljava/nio/ByteBuffer;)V
35: StackMap locals: int java.nio.ByteBuffer
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
36: aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSourceConduit
aload 3
invokeinterface org.xnio.conduits.StreamSourceConduit.read:(Ljava/nio/ByteBuffer;)I
istore 4
start local 4 37: aload 3
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
38: iload 4
iconst_m1
if_icmpne 42
39: aload 0
invokevirtual io.undertow.conduits.InflatingStreamSourceConduit.done:()V
40: aload 0
iconst_1
putfield io.undertow.conduits.InflatingStreamSourceConduit.nextDone:Z
41: iconst_m1
ireturn
42: StackMap locals: int
StackMap stack:
iload 4
ifle 44
43: aload 0
aload 3
invokevirtual io.undertow.conduits.InflatingStreamSourceConduit.readFooter:(Ljava/nio/ByteBuffer;)V
44: StackMap locals:
StackMap stack:
iload 4
ifne 35
45: aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.compressed:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
46: aload 0
aconst_null
putfield io.undertow.conduits.InflatingStreamSourceConduit.compressed:Lio/undertow/connector/PooledByteBuffer;
47: iconst_0
ireturn
end local 4 end local 3 end local 2 48: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.compressed:Lio/undertow/connector/PooledByteBuffer;
ifnonnull 50
49: new java.lang.RuntimeException
dup
invokespecial java.lang.RuntimeException.<init>:()V
athrow
50: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.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;
putfield io.undertow.conduits.InflatingStreamSourceConduit.uncompressed:Lio/undertow/connector/PooledByteBuffer;
51: aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.inflater:Ljava/util/zip/Inflater;
aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.uncompressed:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.array:()[B
aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.uncompressed:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.uncompressed:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
invokevirtual java.util.zip.Inflater.inflate:([BII)I
istore 2
start local 2 52: aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.uncompressed:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
iload 2
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
53: aload 0
aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.uncompressed:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.array:()[B
aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.uncompressed:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
iload 2
invokevirtual io.undertow.conduits.InflatingStreamSourceConduit.dataDeflated:([BII)V
54: aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.inflater:Ljava/util/zip/Inflater;
invokevirtual java.util.zip.Inflater.needsInput:()Z
ifeq 57
55: aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.compressed:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
56: aload 0
aconst_null
putfield io.undertow.conduits.InflatingStreamSourceConduit.compressed:Lio/undertow/connector/PooledByteBuffer;
57: StackMap locals: int
StackMap stack:
aload 1
aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.uncompressed:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokestatic org.xnio.Buffers.copy:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
istore 3
start local 3 58: aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.uncompressed:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 61
59: aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.uncompressed:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
60: aload 0
aconst_null
putfield io.undertow.conduits.InflatingStreamSourceConduit.uncompressed:Lio/undertow/connector/PooledByteBuffer;
61: StackMap locals: int
StackMap stack:
iload 3
ifle 8
62: iload 3
63: ireturn
end local 3 end local 2 64: StackMap locals: io.undertow.conduits.InflatingStreamSourceConduit java.nio.ByteBuffer
StackMap stack: java.util.zip.DataFormatException
astore 2
start local 2 65: aload 0
invokevirtual io.undertow.conduits.InflatingStreamSourceConduit.done:()V
66: new java.io.IOException
dup
aload 2
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 67 0 this Lio/undertow/conduits/InflatingStreamSourceConduit;
0 67 1 dst Ljava/nio/ByteBuffer;
4 8 2 ret I
11 25 2 buf Ljava/nio/ByteBuffer;
12 25 3 res I
32 48 2 rem I
33 48 3 buf Ljava/nio/ByteBuffer;
37 48 4 res I
52 64 2 read I
58 64 3 ret I
65 67 2 e Ljava/util/zip/DataFormatException;
Exception table:
from to target type
51 63 64 Class java.util.zip.DataFormatException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dst
protected void (java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)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/InflatingStreamSourceConduit;
0 1 1 buf Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buf
protected boolean (java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/conduits/InflatingStreamSourceConduit;
0 1 1 byteBuffer Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
byteBuffer
protected void dataDeflated(byte[], int, int);
descriptor: ([BII)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: return
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/InflatingStreamSourceConduit;
0 1 1 data [B
0 1 2 off I
0 1 3 len I
MethodParameters:
Name Flags
data
off
len
private void done();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.compressed:Lio/undertow/connector/PooledByteBuffer;
ifnull 2
1: aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.compressed:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.uncompressed:Lio/undertow/connector/PooledByteBuffer;
ifnull 4
3: aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.uncompressed:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
4: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.inflater:Ljava/util/zip/Inflater;
ifnull 7
5: aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.pooledObject:Lio/undertow/util/PooledObject;
invokeinterface io.undertow.util.PooledObject.close:()V
6: aload 0
aconst_null
putfield io.undertow.conduits.InflatingStreamSourceConduit.inflater:Ljava/util/zip/Inflater;
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/undertow/conduits/InflatingStreamSourceConduit;
public long transferTo(long, long, java.nio.channels.FileChannel);
descriptor: (JJLjava/nio/channels/FileChannel;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 3 start local 5 0: aload 5
new org.xnio.conduits.ConduitReadableByteChannel
dup
aload 0
invokespecial org.xnio.conduits.ConduitReadableByteChannel.<init>:(Lorg/xnio/conduits/StreamSourceConduit;)V
lload 1
lload 3
invokevirtual java.nio.channels.FileChannel.transferFrom:(Ljava/nio/channels/ReadableByteChannel;JJ)J
1: lreturn
2: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
start local 6 3: aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
4: aload 6
athrow
end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/undertow/conduits/InflatingStreamSourceConduit;
0 5 1 position J
0 5 3 count J
0 5 5 target Ljava/nio/channels/FileChannel;
3 5 6 e Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.io.IOException
0 1 2 Class java.lang.RuntimeException
0 1 2 Class java.lang.Error
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
position final
count final
target final
public long transferTo(long, java.nio.ByteBuffer, org.xnio.channels.StreamSinkChannel);
descriptor: (JLjava/nio/ByteBuffer;Lorg/xnio/channels/StreamSinkChannel;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 3 start local 4 0: new org.xnio.conduits.ConduitReadableByteChannel
dup
aload 0
invokespecial org.xnio.conduits.ConduitReadableByteChannel.<init>:(Lorg/xnio/conduits/StreamSourceConduit;)V
lload 1
aload 3
aload 4
invokestatic org.xnio.IoUtils.transfer:(Ljava/nio/channels/ReadableByteChannel;JLjava/nio/ByteBuffer;Ljava/nio/channels/WritableByteChannel;)J
1: lreturn
2: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
start local 5 3: aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
4: aload 5
athrow
end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/undertow/conduits/InflatingStreamSourceConduit;
0 5 1 count J
0 5 3 throughBuffer Ljava/nio/ByteBuffer;
0 5 4 target Lorg/xnio/channels/StreamSinkChannel;
3 5 5 e Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.io.IOException
0 1 2 Class java.lang.RuntimeException
0 1 2 Class java.lang.Error
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
count final
throughBuffer final
target final
public long read(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
istore 4
start local 4 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 1
iload 4
aaload
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 4
3: aload 0
aload 1
iload 4
aaload
invokevirtual io.undertow.conduits.InflatingStreamSourceConduit.read:(Ljava/nio/ByteBuffer;)I
i2l
lreturn
4: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 3
if_icmplt 2
end local 4 6: lconst_0
lreturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/undertow/conduits/InflatingStreamSourceConduit;
0 7 1 dsts [Ljava/nio/ByteBuffer;
0 7 2 offset I
0 7 3 length I
1 6 4 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dsts final
offset final
length final
public void terminateReads();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.undertow.conduits.InflatingStreamSourceConduit.done:()V
1: aload 0
getfield io.undertow.conduits.InflatingStreamSourceConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSourceConduit
invokeinterface org.xnio.conduits.StreamSourceConduit.terminateReads:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/conduits/InflatingStreamSourceConduit;
Exceptions:
throws java.io.IOException
private static java.util.zip.Inflater lambda$0();
descriptor: ()Ljava/util/zip/Inflater;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=0, args_size=0
0: new java.util.zip.Inflater
dup
iconst_1
invokespecial java.util.zip.Inflater.<init>:(Z)V
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.util.zip.Inflater lambda$2();
descriptor: ()Ljava/util/zip/Inflater;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=0, args_size=0
0: new java.util.zip.Inflater
dup
iconst_1
invokespecial java.util.zip.Inflater.<init>:(Z)V
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lorg/xnio/conduits/AbstractStreamSourceConduit<Lorg/xnio/conduits/StreamSourceConduit;>;
SourceFile: "InflatingStreamSourceConduit.java"
NestMembers:
io.undertow.conduits.InflatingStreamSourceConduit$1
InnerClasses:
io.undertow.conduits.InflatingStreamSourceConduit$1
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles