public class org.eclipse.jetty.server.HttpOutput extends javax.servlet.ServletOutputStream implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jetty.server.HttpOutput
super_class: javax.servlet.ServletOutputStream
{
private static final java.lang.String LSTRING_FILE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.servlet.LocalStrings"
private static java.util.ResourceBundle lStrings;
descriptor: Ljava/util/ResourceBundle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static org.eclipse.jetty.util.log.Logger LOG;
descriptor: Lorg/eclipse/jetty/util/log/Logger;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final java.lang.ThreadLocal<java.nio.charset.CharsetEncoder> _encoder;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Ljava/nio/charset/CharsetEncoder;>;
private final org.eclipse.jetty.server.HttpChannel _channel;
descriptor: Lorg/eclipse/jetty/server/HttpChannel;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.eclipse.jetty.util.SharedBlockingCallback _writeBlocker;
descriptor: Lorg/eclipse/jetty/util/SharedBlockingCallback;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.eclipse.jetty.server.HttpOutput$Interceptor _interceptor;
descriptor: Lorg/eclipse/jetty/server/HttpOutput$Interceptor;
flags: (0x0002) ACC_PRIVATE
private long _written;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long _flushed;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long _firstByteTimeStamp;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private java.nio.ByteBuffer _aggregate;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
private int _bufferSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int _commitSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private javax.servlet.WriteListener _writeListener;
descriptor: Ljavax/servlet/WriteListener;
flags: (0x0002) ACC_PRIVATE
private volatile java.lang.Throwable _onError;
descriptor: Ljava/lang/Throwable;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.util.concurrent.atomic.AtomicReference<org.eclipse.jetty.server.HttpOutput$OutputState> _state;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Lorg/eclipse/jetty/server/HttpOutput$OutputState;>;
private static volatile int[] $SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$OutputState;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "javax.servlet.LocalStrings"
invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;)Ljava/util/ResourceBundle;
putstatic org.eclipse.jetty.server.HttpOutput.lStrings:Ljava/util/ResourceBundle;
1: ldc Lorg/eclipse/jetty/server/HttpOutput;
invokestatic org.eclipse.jetty.util.log.Log.getLogger:(Ljava/lang/Class;)Lorg/eclipse/jetty/util/log/Logger;
putstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
2: new java.lang.ThreadLocal
dup
invokespecial java.lang.ThreadLocal.<init>:()V
putstatic org.eclipse.jetty.server.HttpOutput._encoder:Ljava/lang/ThreadLocal;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.eclipse.jetty.server.HttpChannel);
descriptor: (Lorg/eclipse/jetty/server/HttpChannel;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial javax.servlet.ServletOutputStream.<init>:()V
1: aload 0
ldc -1
putfield org.eclipse.jetty.server.HttpOutput._firstByteTimeStamp:J
2: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.OPEN:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
putfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
3: aload 0
aload 1
putfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
4: aload 0
aload 1
putfield org.eclipse.jetty.server.HttpOutput._interceptor:Lorg/eclipse/jetty/server/HttpOutput$Interceptor;
5: aload 0
new org.eclipse.jetty.server.HttpOutput$WriteBlocker
dup
aload 1
invokespecial org.eclipse.jetty.server.HttpOutput$WriteBlocker.<init>:(Lorg/eclipse/jetty/server/HttpChannel;)V
putfield org.eclipse.jetty.server.HttpOutput._writeBlocker:Lorg/eclipse/jetty/util/SharedBlockingCallback;
6: aload 1
invokevirtual org.eclipse.jetty.server.HttpChannel.getHttpConfiguration:()Lorg/eclipse/jetty/server/HttpConfiguration;
astore 2
start local 2 7: aload 0
aload 2
invokevirtual org.eclipse.jetty.server.HttpConfiguration.getOutputBufferSize:()I
putfield org.eclipse.jetty.server.HttpOutput._bufferSize:I
8: aload 0
aload 2
invokevirtual org.eclipse.jetty.server.HttpConfiguration.getOutputAggregationSize:()I
putfield org.eclipse.jetty.server.HttpOutput._commitSize:I
9: aload 0
getfield org.eclipse.jetty.server.HttpOutput._commitSize:I
aload 0
getfield org.eclipse.jetty.server.HttpOutput._bufferSize:I
if_icmple 12
10: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "OutputAggregationSize {} exceeds bufferSize {}"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.eclipse.jetty.server.HttpOutput._commitSize:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 0
getfield org.eclipse.jetty.server.HttpOutput._bufferSize:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
11: aload 0
aload 0
getfield org.eclipse.jetty.server.HttpOutput._bufferSize:I
putfield org.eclipse.jetty.server.HttpOutput._commitSize:I
12: StackMap locals: org.eclipse.jetty.server.HttpOutput org.eclipse.jetty.server.HttpChannel org.eclipse.jetty.server.HttpConfiguration
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 13 1 channel Lorg/eclipse/jetty/server/HttpChannel;
7 13 2 config Lorg/eclipse/jetty/server/HttpConfiguration;
MethodParameters:
Name Flags
channel
public org.eclipse.jetty.server.HttpChannel getHttpChannel();
descriptor: ()Lorg/eclipse/jetty/server/HttpChannel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/server/HttpOutput;
public org.eclipse.jetty.server.HttpOutput$Interceptor getInterceptor();
descriptor: ()Lorg/eclipse/jetty/server/HttpOutput$Interceptor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.server.HttpOutput._interceptor:Lorg/eclipse/jetty/server/HttpOutput$Interceptor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/server/HttpOutput;
public void setInterceptor(org.eclipse.jetty.server.HttpOutput$Interceptor);
descriptor: (Lorg/eclipse/jetty/server/HttpOutput$Interceptor;)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 org.eclipse.jetty.server.HttpOutput._interceptor:Lorg/eclipse/jetty/server/HttpOutput$Interceptor;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 2 1 interceptor Lorg/eclipse/jetty/server/HttpOutput$Interceptor;
MethodParameters:
Name Flags
interceptor
public boolean isWritten();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.server.HttpOutput._written:J
lconst_0
lcmp
ifle 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/server/HttpOutput;
public long getWritten();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.server.HttpOutput._written:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/server/HttpOutput;
public void reopen();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.OPEN:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/server/HttpOutput;
private boolean isLastContentToWrite(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield org.eclipse.jetty.server.HttpOutput._written:J
iload 1
i2l
ladd
putfield org.eclipse.jetty.server.HttpOutput._written:J
1: aload 0
getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
invokevirtual org.eclipse.jetty.server.HttpChannel.getResponse:()Lorg/eclipse/jetty/server/Response;
aload 0
getfield org.eclipse.jetty.server.HttpOutput._written:J
invokevirtual org.eclipse.jetty.server.Response.isAllContentWritten:(J)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 2 1 len I
MethodParameters:
Name Flags
len
public boolean isAllContentWritten();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
invokevirtual org.eclipse.jetty.server.HttpChannel.getResponse:()Lorg/eclipse/jetty/server/Response;
aload 0
getfield org.eclipse.jetty.server.HttpOutput._written:J
invokevirtual org.eclipse.jetty.server.Response.isAllContentWritten:(J)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/server/HttpOutput;
protected org.eclipse.jetty.util.SharedBlockingCallback$Blocker acquireWriteBlockingCallback();
descriptor: ()Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.server.HttpOutput._writeBlocker:Lorg/eclipse/jetty/util/SharedBlockingCallback;
invokevirtual org.eclipse.jetty.util.SharedBlockingCallback.acquire:()Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/server/HttpOutput;
Exceptions:
throws java.io.IOException
private void abort(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.closed:()V
1: aload 0
getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
aload 1
invokevirtual org.eclipse.jetty.server.HttpChannel.abort:(Ljava/lang/Throwable;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 3 1 failure Ljava/lang/Throwable;
MethodParameters:
Name Flags
failure
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.eclipse.jetty.server.HttpOutput$OutputState
astore 1
start local 1 1: invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$OutputState:()[I
aload 1
invokevirtual org.eclipse.jetty.server.HttpOutput$OutputState.ordinal:()I
iaload
tableswitch { // 2 - 7
2: 3
3: 12
4: 5
5: 5
6: 12
7: 2
default: 12
}
2: StackMap locals: org.eclipse.jetty.server.HttpOutput$OutputState
StackMap stack:
return
3: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
aload 1
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.READY:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 0
4: goto 0
5: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
aload 1
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.CLOSED:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 7
6: goto 0
7: StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "Closed while Pending/Unready"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
astore 2
start local 2 8: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
aload 2
invokevirtual java.io.IOException.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokeinterface org.eclipse.jetty.util.log.Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
9: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
aload 2
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/Throwable;)V
10: aload 0
aload 2
invokevirtual org.eclipse.jetty.server.HttpOutput.abort:(Ljava/lang/Throwable;)V
11: return
end local 2 12: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
aload 1
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.CLOSED:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 14
13: goto 0
14: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
ifeq 15
aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
goto 16
StackMap locals:
StackMap stack: org.eclipse.jetty.server.HttpOutput
15: getstatic org.eclipse.jetty.util.BufferUtil.EMPTY_BUFFER:Ljava/nio/ByteBuffer;
StackMap locals: org.eclipse.jetty.server.HttpOutput org.eclipse.jetty.server.HttpOutput$OutputState
StackMap stack: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer
16: aload 0
getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
invokevirtual org.eclipse.jetty.server.HttpChannel.getResponse:()Lorg/eclipse/jetty/server/Response;
invokevirtual org.eclipse.jetty.server.Response.isIncluding:()Z
ifeq 17
iconst_0
goto 18
StackMap locals: org.eclipse.jetty.server.HttpOutput org.eclipse.jetty.server.HttpOutput$OutputState
StackMap stack: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer
17: iconst_1
StackMap locals: org.eclipse.jetty.server.HttpOutput org.eclipse.jetty.server.HttpOutput$OutputState
StackMap stack: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer int
18: invokevirtual org.eclipse.jetty.server.HttpOutput.write:(Ljava/nio/ByteBuffer;Z)V
19: goto 26
20: StackMap locals:
StackMap stack: java.io.IOException
astore 2
start local 2 21: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
aload 2
invokeinterface org.eclipse.jetty.util.log.Logger.ignore:(Ljava/lang/Throwable;)V
end local 2 22: aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.releaseBuffer:()V
goto 27
23: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
24: aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.releaseBuffer:()V
25: aload 3
athrow
26: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.releaseBuffer:()V
27: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/eclipse/jetty/server/HttpOutput;
1 28 1 state Lorg/eclipse/jetty/server/HttpOutput$OutputState;
8 12 2 ex Ljava/io/IOException;
21 22 2 x Ljava/io/IOException;
Exception table:
from to target type
14 19 20 Class java.io.IOException
14 22 23 any
void closed();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.eclipse.jetty.server.HttpOutput$OutputState
astore 1
start local 1 1: invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$OutputState:()[I
aload 1
invokevirtual org.eclipse.jetty.server.HttpOutput$OutputState.ordinal:()I
iaload
tableswitch { // 5 - 7
5: 3
6: 8
7: 2
default: 8
}
2: StackMap locals: org.eclipse.jetty.server.HttpOutput$OutputState
StackMap stack:
return
3: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
aload 1
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.ERROR:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 0
4: aload 0
getfield org.eclipse.jetty.server.HttpOutput._writeListener:Ljavax/servlet/WriteListener;
aload 0
getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
ifnonnull 5
new org.eclipse.jetty.io.EofException
dup
ldc "Async closed"
invokespecial org.eclipse.jetty.io.EofException.<init>:(Ljava/lang/String;)V
goto 6
StackMap locals:
StackMap stack: javax.servlet.WriteListener
5: aload 0
getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
StackMap locals: org.eclipse.jetty.server.HttpOutput org.eclipse.jetty.server.HttpOutput$OutputState
StackMap stack: javax.servlet.WriteListener java.lang.Throwable
6: invokeinterface javax.servlet.WriteListener.onError:(Ljava/lang/Throwable;)V
7: goto 0
8: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
aload 1
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.CLOSED:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 10
9: goto 0
10: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
invokevirtual org.eclipse.jetty.server.HttpChannel.getResponse:()Lorg/eclipse/jetty/server/Response;
invokevirtual org.eclipse.jetty.server.Response.closeOutput:()V
11: goto 20
12: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 13: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 15
14: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
aload 2
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/Throwable;)V
15: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
aload 2
invokevirtual org.eclipse.jetty.server.HttpOutput.abort:(Ljava/lang/Throwable;)V
end local 2 16: aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.releaseBuffer:()V
goto 21
17: StackMap locals: org.eclipse.jetty.server.HttpOutput org.eclipse.jetty.server.HttpOutput$OutputState
StackMap stack: java.lang.Throwable
astore 3
18: aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.releaseBuffer:()V
19: aload 3
athrow
20: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.releaseBuffer:()V
21: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/eclipse/jetty/server/HttpOutput;
1 22 1 state Lorg/eclipse/jetty/server/HttpOutput$OutputState;
13 16 2 x Ljava/lang/Throwable;
Exception table:
from to target type
10 11 12 Class java.lang.Throwable
10 16 17 any
private void releaseBuffer();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
ifnull 3
1: aload 0
getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
invokevirtual org.eclipse.jetty.server.HttpChannel.getConnector:()Lorg/eclipse/jetty/server/Connector;
invokeinterface org.eclipse.jetty.server.Connector.getByteBufferPool:()Lorg/eclipse/jetty/io/ByteBufferPool;
aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
invokeinterface org.eclipse.jetty.io.ByteBufferPool.release:(Ljava/nio/ByteBuffer;)V
2: aload 0
aconst_null
putfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jetty/server/HttpOutput;
public boolean isClosed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.CLOSED:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/server/HttpOutput;
public boolean isAsync();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$OutputState:()[I
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.eclipse.jetty.server.HttpOutput$OutputState
invokevirtual org.eclipse.jetty.server.HttpOutput$OutputState.ordinal:()I
iaload
tableswitch { // 2 - 5
2: 1
3: 1
4: 1
5: 1
default: 2
}
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jetty/server/HttpOutput;
public void flush();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$OutputState:()[I
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.eclipse.jetty.server.HttpOutput$OutputState
invokevirtual org.eclipse.jetty.server.HttpOutput$OutputState.ordinal:()I
iaload
tableswitch { // 1 - 7
1: 1
2: 5
3: 6
4: 10
5: 11
6: 12
7: 13
default: 14
}
1: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
ifeq 2
aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
goto 3
StackMap locals:
StackMap stack: org.eclipse.jetty.server.HttpOutput
2: getstatic org.eclipse.jetty.util.BufferUtil.EMPTY_BUFFER:Ljava/nio/ByteBuffer;
StackMap locals: org.eclipse.jetty.server.HttpOutput
StackMap stack: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer
3: iconst_0
invokevirtual org.eclipse.jetty.server.HttpOutput.write:(Ljava/nio/ByteBuffer;Z)V
4: return
5: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "isReady() not called"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.READY:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.PENDING:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 8
7: goto 0
8: StackMap locals:
StackMap stack:
new org.eclipse.jetty.server.HttpOutput$AsyncFlush
dup
aload 0
invokespecial org.eclipse.jetty.server.HttpOutput$AsyncFlush.<init>:(Lorg/eclipse/jetty/server/HttpOutput;)V
invokevirtual org.eclipse.jetty.server.HttpOutput$AsyncFlush.iterate:()V
9: return
10: StackMap locals:
StackMap stack:
return
11: StackMap locals:
StackMap stack:
new java.nio.channels.WritePendingException
dup
invokespecial java.nio.channels.WritePendingException.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
new org.eclipse.jetty.io.EofException
dup
aload 0
getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
invokespecial org.eclipse.jetty.io.EofException.<init>:(Ljava/lang/Throwable;)V
athrow
13: StackMap locals:
StackMap stack:
return
14: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/eclipse/jetty/server/HttpOutput;
Exceptions:
throws java.io.IOException
private void write(java.nio.ByteBuffer, boolean);
descriptor: (Ljava/nio/ByteBuffer;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
aconst_null
astore 4
1: aload 0
getfield org.eclipse.jetty.server.HttpOutput._writeBlocker:Lorg/eclipse/jetty/util/SharedBlockingCallback;
invokevirtual org.eclipse.jetty.util.SharedBlockingCallback.acquire:()Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
astore 5
start local 5 2: aload 0
aload 1
iload 2
aload 5
invokevirtual org.eclipse.jetty.server.HttpOutput.write:(Ljava/nio/ByteBuffer;ZLorg/eclipse/jetty/util/Callback;)V
3: aload 5
invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.block:()V
4: aload 5
ifnull 17
aload 5
invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.close:()V
goto 17
StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.SharedBlockingCallback$Blocker
StackMap stack: java.lang.Throwable
5: astore 3
aload 5
ifnull 6
aload 5
invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.close:()V
end local 5 StackMap locals:
StackMap stack:
6: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 4
aload 3
ifnonnull 8
aload 4
astore 3
goto 9
StackMap locals:
StackMap stack:
8: aload 3
aload 4
if_acmpeq 9
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
9: aload 3
athrow
10: StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer int
StackMap stack: java.lang.Exception
astore 3
start local 3 11: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 13
12: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
aload 3
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/Throwable;)V
13: StackMap locals: java.lang.Exception
StackMap stack:
aload 0
aload 3
invokevirtual org.eclipse.jetty.server.HttpOutput.abort:(Ljava/lang/Throwable;)V
14: aload 3
instanceof java.io.IOException
ifeq 16
15: aload 3
athrow
16: StackMap locals:
StackMap stack:
new java.io.IOException
dup
aload 3
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 17: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 18 1 content Ljava/nio/ByteBuffer;
0 18 2 complete Z
2 6 5 blocker Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
11 17 3 failure Ljava/lang/Exception;
Exception table:
from to target type
2 4 5 any
1 7 7 any
0 10 10 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
content
complete
protected void write(java.nio.ByteBuffer, boolean, org.eclipse.jetty.util.Callback);
descriptor: (Ljava/nio/ByteBuffer;ZLorg/eclipse/jetty/util/Callback;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.eclipse.jetty.server.HttpOutput._firstByteTimeStamp:J
ldc -1
lcmp
ifne 5
1: aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.getHttpChannel:()Lorg/eclipse/jetty/server/HttpChannel;
invokevirtual org.eclipse.jetty.server.HttpChannel.getHttpConfiguration:()Lorg/eclipse/jetty/server/HttpConfiguration;
invokevirtual org.eclipse.jetty.server.HttpConfiguration.getMinResponseDataRate:()J
lstore 4
start local 4 2: lload 4
lconst_0
lcmp
ifle 4
3: aload 0
invokestatic java.lang.System.nanoTime:()J
putfield org.eclipse.jetty.server.HttpOutput._firstByteTimeStamp:J
goto 5
4: StackMap locals: long
StackMap stack:
aload 0
ldc 9223372036854775807
putfield org.eclipse.jetty.server.HttpOutput._firstByteTimeStamp:J
end local 4 5: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._interceptor:Lorg/eclipse/jetty/server/HttpOutput$Interceptor;
aload 1
iload 2
aload 3
invokeinterface org.eclipse.jetty.server.HttpOutput$Interceptor.write:(Ljava/nio/ByteBuffer;ZLorg/eclipse/jetty/util/Callback;)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 7 1 content Ljava/nio/ByteBuffer;
0 7 2 complete Z
0 7 3 callback Lorg/eclipse/jetty/util/Callback;
2 5 4 minDataRate J
MethodParameters:
Name Flags
content
complete
callback
public void write(byte[], int, int);
descriptor: ([BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: StackMap locals:
StackMap stack:
invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$OutputState:()[I
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.eclipse.jetty.server.HttpOutput$OutputState
invokevirtual org.eclipse.jetty.server.HttpOutput$OutputState.ordinal:()I
iaload
tableswitch { // 1 - 7
1: 1
2: 2
3: 3
4: 18
5: 18
6: 19
7: 20
default: 21
}
1: StackMap locals:
StackMap stack:
goto 22
2: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "isReady() not called"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.READY:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.PENDING:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 5
4: goto 0
5: StackMap locals:
StackMap stack:
aload 0
iload 3
invokevirtual org.eclipse.jetty.server.HttpOutput.isLastContentToWrite:(I)Z
istore 4
start local 4 6: iload 4
ifne 16
iload 3
aload 0
getfield org.eclipse.jetty.server.HttpOutput._commitSize:I
if_icmpgt 16
7: aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
ifnonnull 9
8: aload 0
aload 0
getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
invokevirtual org.eclipse.jetty.server.HttpChannel.getByteBufferPool:()Lorg/eclipse/jetty/io/ByteBufferPool;
aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.getBufferSize:()I
aload 0
getfield org.eclipse.jetty.server.HttpOutput._interceptor:Lorg/eclipse/jetty/server/HttpOutput$Interceptor;
invokeinterface org.eclipse.jetty.server.HttpOutput$Interceptor.isOptimizedForDirectBuffers:()Z
invokeinterface org.eclipse.jetty.io.ByteBufferPool.acquire:(IZ)Ljava/nio/ByteBuffer;
putfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
9: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
aload 1
iload 2
iload 3
invokestatic org.eclipse.jetty.util.BufferUtil.fill:(Ljava/nio/ByteBuffer;[BII)I
istore 5
start local 5 10: iload 5
iload 3
if_icmpne 14
aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
invokestatic org.eclipse.jetty.util.BufferUtil.isFull:(Ljava/nio/ByteBuffer;)Z
ifne 14
11: aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.PENDING:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.ASYNC:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 13
12: new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
13: StackMap locals: int
StackMap stack:
return
14: StackMap locals:
StackMap stack:
iload 2
iload 5
iadd
istore 2
15: iload 3
iload 5
isub
istore 3
end local 5 16: StackMap locals:
StackMap stack:
new org.eclipse.jetty.server.HttpOutput$AsyncWrite
dup
aload 0
aload 1
iload 2
iload 3
iload 4
invokespecial org.eclipse.jetty.server.HttpOutput$AsyncWrite.<init>:(Lorg/eclipse/jetty/server/HttpOutput;[BIIZ)V
invokevirtual org.eclipse.jetty.server.HttpOutput$AsyncWrite.iterate:()V
17: return
end local 4 18: StackMap locals:
StackMap stack:
new java.nio.channels.WritePendingException
dup
invokespecial java.nio.channels.WritePendingException.<init>:()V
athrow
19: StackMap locals:
StackMap stack:
new org.eclipse.jetty.io.EofException
dup
aload 0
getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
invokespecial org.eclipse.jetty.io.EofException.<init>:(Ljava/lang/Throwable;)V
athrow
20: StackMap locals:
StackMap stack:
new org.eclipse.jetty.io.EofException
dup
ldc "Closed"
invokespecial org.eclipse.jetty.io.EofException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
22: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.getBufferSize:()I
istore 4
start local 4 23: aload 0
iload 3
invokevirtual org.eclipse.jetty.server.HttpOutput.isLastContentToWrite:(I)Z
istore 5
start local 5 24: iload 5
ifne 32
iload 3
aload 0
getfield org.eclipse.jetty.server.HttpOutput._commitSize:I
if_icmpgt 32
25: aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
ifnonnull 27
26: aload 0
aload 0
getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
invokevirtual org.eclipse.jetty.server.HttpChannel.getByteBufferPool:()Lorg/eclipse/jetty/io/ByteBufferPool;
iload 4
aload 0
getfield org.eclipse.jetty.server.HttpOutput._interceptor:Lorg/eclipse/jetty/server/HttpOutput$Interceptor;
invokeinterface org.eclipse.jetty.server.HttpOutput$Interceptor.isOptimizedForDirectBuffers:()Z
invokeinterface org.eclipse.jetty.io.ByteBufferPool.acquire:(IZ)Ljava/nio/ByteBuffer;
putfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
27: StackMap locals: int int
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
aload 1
iload 2
iload 3
invokestatic org.eclipse.jetty.util.BufferUtil.fill:(Ljava/nio/ByteBuffer;[BII)I
istore 6
start local 6 28: iload 6
iload 3
if_icmpne 30
aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
invokestatic org.eclipse.jetty.util.BufferUtil.isFull:(Ljava/nio/ByteBuffer;)Z
ifne 30
29: return
30: StackMap locals: int
StackMap stack:
iload 2
iload 6
iadd
istore 2
31: iload 3
iload 6
isub
istore 3
end local 6 32: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
ifeq 39
33: aload 0
aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
iload 5
ifeq 34
iload 3
ifne 34
iconst_1
goto 35
StackMap locals: org.eclipse.jetty.server.HttpOutput byte[] int int int int
StackMap stack: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer
34: iconst_0
StackMap locals: org.eclipse.jetty.server.HttpOutput byte[] int int int int
StackMap stack: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer int
35: invokevirtual org.eclipse.jetty.server.HttpOutput.write:(Ljava/nio/ByteBuffer;Z)V
36: iload 3
ifle 39
iload 5
ifne 39
iload 3
aload 0
getfield org.eclipse.jetty.server.HttpOutput._commitSize:I
if_icmpgt 39
iload 3
aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
invokestatic org.eclipse.jetty.util.BufferUtil.space:(Ljava/nio/ByteBuffer;)I
if_icmpgt 39
37: aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
aload 1
iload 2
iload 3
invokestatic org.eclipse.jetty.util.BufferUtil.append:(Ljava/nio/ByteBuffer;[BII)V
38: return
39: StackMap locals:
StackMap stack:
iload 3
ifle 52
40: aload 1
iload 2
iload 3
invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
astore 6
start local 6 41: goto 49
42: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 6
invokevirtual java.nio.ByteBuffer.position:()I
istore 7
start local 7 43: iload 7
aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.getBufferSize:()I
iadd
istore 8
start local 8 44: aload 6
iload 7
aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.getBufferSize:()I
iadd
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
45: aload 0
aload 6
iconst_0
invokevirtual org.eclipse.jetty.server.HttpOutput.write:(Ljava/nio/ByteBuffer;Z)V
46: iload 3
aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.getBufferSize:()I
isub
istore 3
47: aload 6
iload 8
iload 3
aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.getBufferSize:()I
invokestatic java.lang.Math.min:(II)I
iadd
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
48: aload 6
iload 8
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
end local 8 end local 7 49: StackMap locals:
StackMap stack:
iload 3
aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.getBufferSize:()I
if_icmpgt 42
50: aload 0
aload 6
iload 5
invokevirtual org.eclipse.jetty.server.HttpOutput.write:(Ljava/nio/ByteBuffer;Z)V
end local 6 51: goto 54
52: StackMap locals:
StackMap stack:
iload 5
ifeq 54
53: aload 0
getstatic org.eclipse.jetty.util.BufferUtil.EMPTY_BUFFER:Ljava/nio/ByteBuffer;
iconst_1
invokevirtual org.eclipse.jetty.server.HttpOutput.write:(Ljava/nio/ByteBuffer;Z)V
54: StackMap locals:
StackMap stack:
iload 5
ifeq 56
55: aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.closed:()V
56: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 57 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 57 1 b [B
0 57 2 off I
0 57 3 len I
6 18 4 last Z
10 16 5 filled I
23 57 4 capacity I
24 57 5 last Z
28 32 6 filled I
41 51 6 view Ljava/nio/ByteBuffer;
43 49 7 p I
44 49 8 l I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
len
public void write(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$OutputState:()[I
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.eclipse.jetty.server.HttpOutput$OutputState
invokevirtual org.eclipse.jetty.server.HttpOutput$OutputState.ordinal:()I
iaload
tableswitch { // 1 - 7
1: 1
2: 2
3: 3
4: 8
5: 8
6: 9
7: 10
default: 11
}
1: StackMap locals:
StackMap stack:
goto 12
2: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "isReady() not called"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.READY:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.PENDING:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 5
4: goto 0
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual org.eclipse.jetty.server.HttpOutput.isLastContentToWrite:(I)Z
istore 2
start local 2 6: new org.eclipse.jetty.server.HttpOutput$AsyncWrite
dup
aload 0
aload 1
iload 2
invokespecial org.eclipse.jetty.server.HttpOutput$AsyncWrite.<init>:(Lorg/eclipse/jetty/server/HttpOutput;Ljava/nio/ByteBuffer;Z)V
invokevirtual org.eclipse.jetty.server.HttpOutput$AsyncWrite.iterate:()V
7: return
end local 2 8: StackMap locals:
StackMap stack:
new java.nio.channels.WritePendingException
dup
invokespecial java.nio.channels.WritePendingException.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
new org.eclipse.jetty.io.EofException
dup
aload 0
getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
invokespecial org.eclipse.jetty.io.EofException.<init>:(Ljava/lang/Throwable;)V
athrow
10: StackMap locals:
StackMap stack:
new org.eclipse.jetty.io.EofException
dup
ldc "Closed"
invokespecial org.eclipse.jetty.io.EofException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
aload 1
invokestatic org.eclipse.jetty.util.BufferUtil.length:(Ljava/nio/ByteBuffer;)I
istore 2
start local 2 13: aload 0
iload 2
invokevirtual org.eclipse.jetty.server.HttpOutput.isLastContentToWrite:(I)Z
istore 3
start local 3 14: aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
ifeq 18
15: aload 0
aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
iload 3
ifeq 16
iload 2
ifne 16
iconst_1
goto 17
StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer int int
StackMap stack: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer
16: iconst_0
StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer int int
StackMap stack: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer int
17: invokevirtual org.eclipse.jetty.server.HttpOutput.write:(Ljava/nio/ByteBuffer;Z)V
18: StackMap locals:
StackMap stack:
iload 2
ifle 20
19: aload 0
aload 1
iload 3
invokevirtual org.eclipse.jetty.server.HttpOutput.write:(Ljava/nio/ByteBuffer;Z)V
goto 22
20: StackMap locals:
StackMap stack:
iload 3
ifeq 22
21: aload 0
getstatic org.eclipse.jetty.util.BufferUtil.EMPTY_BUFFER:Ljava/nio/ByteBuffer;
iconst_1
invokevirtual org.eclipse.jetty.server.HttpOutput.write:(Ljava/nio/ByteBuffer;Z)V
22: StackMap locals:
StackMap stack:
iload 3
ifeq 24
23: aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.closed:()V
24: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 25 1 buffer Ljava/nio/ByteBuffer;
6 8 2 last Z
13 25 2 len I
14 25 3 last Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buffer
public void write(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield org.eclipse.jetty.server.HttpOutput._written:J
lconst_1
ladd
putfield org.eclipse.jetty.server.HttpOutput._written:J
1: aload 0
getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
invokevirtual org.eclipse.jetty.server.HttpChannel.getResponse:()Lorg/eclipse/jetty/server/Response;
aload 0
getfield org.eclipse.jetty.server.HttpOutput._written:J
invokevirtual org.eclipse.jetty.server.Response.isAllContentWritten:(J)Z
istore 2
start local 2 2: StackMap locals: int
StackMap stack:
invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$OutputState:()[I
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.eclipse.jetty.server.HttpOutput$OutputState
invokevirtual org.eclipse.jetty.server.HttpOutput$OutputState.ordinal:()I
iaload
tableswitch { // 1 - 7
1: 3
2: 11
3: 12
4: 23
5: 23
6: 24
7: 25
default: 26
}
3: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
ifnonnull 5
4: aload 0
aload 0
getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
invokevirtual org.eclipse.jetty.server.HttpChannel.getByteBufferPool:()Lorg/eclipse/jetty/io/ByteBufferPool;
aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.getBufferSize:()I
aload 0
getfield org.eclipse.jetty.server.HttpOutput._interceptor:Lorg/eclipse/jetty/server/HttpOutput$Interceptor;
invokeinterface org.eclipse.jetty.server.HttpOutput$Interceptor.isOptimizedForDirectBuffers:()Z
invokeinterface org.eclipse.jetty.io.ByteBufferPool.acquire:(IZ)Ljava/nio/ByteBuffer;
putfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
5: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
iload 1
i2b
invokestatic org.eclipse.jetty.util.BufferUtil.append:(Ljava/nio/ByteBuffer;B)V
6: iload 2
ifne 7
aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
invokestatic org.eclipse.jetty.util.BufferUtil.isFull:(Ljava/nio/ByteBuffer;)Z
ifeq 27
7: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
iload 2
invokevirtual org.eclipse.jetty.server.HttpOutput.write:(Ljava/nio/ByteBuffer;Z)V
8: iload 2
ifeq 27
9: aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.closed:()V
10: goto 27
11: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "isReady() not called"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.READY:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.PENDING:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 14
13: goto 2
14: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
ifnonnull 16
15: aload 0
aload 0
getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
invokevirtual org.eclipse.jetty.server.HttpChannel.getByteBufferPool:()Lorg/eclipse/jetty/io/ByteBufferPool;
aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.getBufferSize:()I
aload 0
getfield org.eclipse.jetty.server.HttpOutput._interceptor:Lorg/eclipse/jetty/server/HttpOutput$Interceptor;
invokeinterface org.eclipse.jetty.server.HttpOutput$Interceptor.isOptimizedForDirectBuffers:()Z
invokeinterface org.eclipse.jetty.io.ByteBufferPool.acquire:(IZ)Ljava/nio/ByteBuffer;
putfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
16: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
iload 1
i2b
invokestatic org.eclipse.jetty.util.BufferUtil.append:(Ljava/nio/ByteBuffer;B)V
17: iload 2
ifne 21
aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
invokestatic org.eclipse.jetty.util.BufferUtil.isFull:(Ljava/nio/ByteBuffer;)Z
ifne 21
18: aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.PENDING:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.ASYNC:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 20
19: new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
20: StackMap locals:
StackMap stack:
return
21: StackMap locals:
StackMap stack:
new org.eclipse.jetty.server.HttpOutput$AsyncFlush
dup
aload 0
invokespecial org.eclipse.jetty.server.HttpOutput$AsyncFlush.<init>:(Lorg/eclipse/jetty/server/HttpOutput;)V
invokevirtual org.eclipse.jetty.server.HttpOutput$AsyncFlush.iterate:()V
22: return
23: StackMap locals:
StackMap stack:
new java.nio.channels.WritePendingException
dup
invokespecial java.nio.channels.WritePendingException.<init>:()V
athrow
24: StackMap locals:
StackMap stack:
new org.eclipse.jetty.io.EofException
dup
aload 0
getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
invokespecial org.eclipse.jetty.io.EofException.<init>:(Ljava/lang/Throwable;)V
athrow
25: StackMap locals:
StackMap stack:
new org.eclipse.jetty.io.EofException
dup
ldc "Closed"
invokespecial org.eclipse.jetty.io.EofException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
27: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 28 1 b I
2 28 2 complete Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
public void print(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual org.eclipse.jetty.server.HttpOutput.print:(Ljava/lang/String;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 2 1 s Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
private void print(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.isClosed:()Z
ifeq 2
1: new java.io.IOException
dup
ldc "Closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
invokevirtual org.eclipse.jetty.server.HttpChannel.getResponse:()Lorg/eclipse/jetty/server/Response;
invokevirtual org.eclipse.jetty.server.Response.getCharacterEncoding:()Ljava/lang/String;
astore 3
start local 3 3: getstatic org.eclipse.jetty.server.HttpOutput._encoder:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.nio.charset.CharsetEncoder
astore 4
start local 4 4: aload 4
ifnull 5
aload 4
invokevirtual java.nio.charset.CharsetEncoder.charset:()Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
aload 3
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 10
5: StackMap locals: java.lang.String java.nio.charset.CharsetEncoder
StackMap stack:
aload 3
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.newEncoder:()Ljava/nio/charset/CharsetEncoder;
astore 4
6: aload 4
getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetEncoder.onMalformedInput:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
pop
7: aload 4
getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetEncoder.onUnmappableCharacter:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
pop
8: getstatic org.eclipse.jetty.server.HttpOutput._encoder:Ljava/lang/ThreadLocal;
aload 4
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
9: goto 11
10: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.nio.charset.CharsetEncoder.reset:()Ljava/nio/charset/CharsetEncoder;
pop
11: StackMap locals:
StackMap stack:
aload 1
invokestatic java.nio.CharBuffer.wrap:(Ljava/lang/CharSequence;)Ljava/nio/CharBuffer;
astore 5
start local 5 12: iload 2
ifeq 13
ldc "\r\n"
invokestatic java.nio.CharBuffer.wrap:(Ljava/lang/CharSequence;)Ljava/nio/CharBuffer;
goto 14
StackMap locals: java.nio.CharBuffer
StackMap stack:
13: aconst_null
StackMap locals:
StackMap stack: java.nio.CharBuffer
14: astore 6
start local 6 15: aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.getHttpChannel:()Lorg/eclipse/jetty/server/HttpChannel;
invokevirtual org.eclipse.jetty.server.HttpChannel.getByteBufferPool:()Lorg/eclipse/jetty/io/ByteBufferPool;
fconst_1
aload 1
invokevirtual java.lang.String.length:()I
iconst_2
iadd
i2f
aload 4
invokevirtual java.nio.charset.CharsetEncoder.averageBytesPerChar:()F
fmul
fadd
f2i
iconst_0
invokeinterface org.eclipse.jetty.io.ByteBufferPool.acquire:(IZ)Ljava/nio/ByteBuffer;
astore 7
start local 7 16: aload 7
invokestatic org.eclipse.jetty.util.BufferUtil.flipToFill:(Ljava/nio/ByteBuffer;)I
pop
17: StackMap locals: java.nio.CharBuffer java.nio.ByteBuffer
StackMap stack:
aload 5
invokevirtual java.nio.CharBuffer.hasRemaining:()Z
ifeq 24
18: aload 4
aload 5
aload 7
aload 6
ifnonnull 19
iconst_1
goto 20
StackMap locals: org.eclipse.jetty.server.HttpOutput java.lang.String int java.lang.String java.nio.charset.CharsetEncoder java.nio.CharBuffer java.nio.CharBuffer java.nio.ByteBuffer
StackMap stack: java.nio.charset.CharsetEncoder java.nio.CharBuffer java.nio.ByteBuffer
19: iconst_0
StackMap locals: org.eclipse.jetty.server.HttpOutput java.lang.String int java.lang.String java.nio.charset.CharsetEncoder java.nio.CharBuffer java.nio.CharBuffer java.nio.ByteBuffer
StackMap stack: java.nio.charset.CharsetEncoder java.nio.CharBuffer java.nio.ByteBuffer int
20: invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
astore 8
start local 8 21: aload 8
invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
ifeq 30
22: aload 6
ifnonnull 17
23: goto 39
end local 8 24: StackMap locals:
StackMap stack:
aload 6
ifnull 39
aload 6
invokevirtual java.nio.CharBuffer.hasRemaining:()Z
ifeq 39
25: aload 4
aload 6
aload 7
iconst_1
invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
astore 8
start local 8 26: aload 8
invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
ifeq 30
27: aload 4
aload 7
invokevirtual java.nio.charset.CharsetEncoder.flush:(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
ifne 39
28: aload 8
invokevirtual java.nio.charset.CoderResult.throwException:()V
29: goto 39
30: StackMap locals: java.nio.charset.CoderResult
StackMap stack:
aload 8
invokevirtual java.nio.charset.CoderResult.isOverflow:()Z
ifeq 37
31: aload 7
iconst_0
invokestatic org.eclipse.jetty.util.BufferUtil.flipToFlush:(Ljava/nio/ByteBuffer;I)V
32: aload 7
aload 7
invokevirtual java.nio.ByteBuffer.capacity:()I
aload 1
invokevirtual java.lang.String.length:()I
iadd
iconst_2
iadd
invokestatic org.eclipse.jetty.util.BufferUtil.ensureCapacity:(Ljava/nio/ByteBuffer;I)Ljava/nio/ByteBuffer;
astore 9
start local 9 33: aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.getHttpChannel:()Lorg/eclipse/jetty/server/HttpChannel;
invokevirtual org.eclipse.jetty.server.HttpChannel.getByteBufferPool:()Lorg/eclipse/jetty/io/ByteBufferPool;
aload 7
invokeinterface org.eclipse.jetty.io.ByteBufferPool.release:(Ljava/nio/ByteBuffer;)V
34: aload 9
invokestatic org.eclipse.jetty.util.BufferUtil.flipToFill:(Ljava/nio/ByteBuffer;)I
pop
35: aload 9
astore 7
36: goto 17
end local 9 37: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.nio.charset.CoderResult.throwException:()V
end local 8 38: goto 17
39: StackMap locals:
StackMap stack:
aload 7
iconst_0
invokestatic org.eclipse.jetty.util.BufferUtil.flipToFlush:(Ljava/nio/ByteBuffer;I)V
40: aload 0
aload 7
invokevirtual java.nio.ByteBuffer.array:()[B
aload 7
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
aload 7
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual org.eclipse.jetty.server.HttpOutput.write:([BII)V
41: aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.getHttpChannel:()Lorg/eclipse/jetty/server/HttpChannel;
invokevirtual org.eclipse.jetty.server.HttpChannel.getByteBufferPool:()Lorg/eclipse/jetty/io/ByteBufferPool;
aload 7
invokeinterface org.eclipse.jetty.io.ByteBufferPool.release:(Ljava/nio/ByteBuffer;)V
42: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 43 1 s Ljava/lang/String;
0 43 2 eoln Z
3 43 3 charset Ljava/lang/String;
4 43 4 encoder Ljava/nio/charset/CharsetEncoder;
12 43 5 in Ljava/nio/CharBuffer;
15 43 6 crlf Ljava/nio/CharBuffer;
16 43 7 out Ljava/nio/ByteBuffer;
21 24 8 result Ljava/nio/charset/CoderResult;
26 38 8 result Ljava/nio/charset/CoderResult;
33 37 9 bigger Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
eoln
public void println(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual org.eclipse.jetty.server.HttpOutput.print:(Ljava/lang/String;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 2 1 s Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
public void println(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getstatic org.eclipse.jetty.server.HttpOutput.lStrings:Ljava/util/ResourceBundle;
iload 1
ifeq 1
ldc "value.true"
goto 2
StackMap locals: org.eclipse.jetty.server.HttpOutput int
StackMap stack: org.eclipse.jetty.server.HttpOutput java.util.ResourceBundle
1: ldc "value.false"
StackMap locals: org.eclipse.jetty.server.HttpOutput int
StackMap stack: org.eclipse.jetty.server.HttpOutput java.util.ResourceBundle java.lang.String
2: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual org.eclipse.jetty.server.HttpOutput.println:(Ljava/lang/String;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 4 1 b Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
public void println(char);
descriptor: (C)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokevirtual org.eclipse.jetty.server.HttpOutput.println:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 2 1 c C
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
c
public void println(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokevirtual org.eclipse.jetty.server.HttpOutput.println:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 2 1 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
i
public void println(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
invokevirtual org.eclipse.jetty.server.HttpOutput.println:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 2 1 l J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
l
public void println(float);
descriptor: (F)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
fload 1
invokestatic java.lang.String.valueOf:(F)Ljava/lang/String;
invokevirtual org.eclipse.jetty.server.HttpOutput.println:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 2 1 f F
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
f
public void println(double);
descriptor: (D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dload 1
invokestatic java.lang.String.valueOf:(D)Ljava/lang/String;
invokevirtual org.eclipse.jetty.server.HttpOutput.println:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 2 1 d D
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
d
public void sendContent(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 2
1: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "sendContent({})"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
invokestatic org.eclipse.jetty.util.BufferUtil.toDetailString:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.eclipse.jetty.server.HttpOutput._written:J
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
ladd
putfield org.eclipse.jetty.server.HttpOutput._written:J
3: aload 0
aload 1
iconst_1
invokevirtual org.eclipse.jetty.server.HttpOutput.write:(Ljava/nio/ByteBuffer;Z)V
4: aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.closed:()V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 6 1 content Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
content
public void sendContent(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: aload 0
getfield org.eclipse.jetty.server.HttpOutput._writeBlocker:Lorg/eclipse/jetty/util/SharedBlockingCallback;
invokevirtual org.eclipse.jetty.util.SharedBlockingCallback.acquire:()Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
astore 4
start local 4 2: new org.eclipse.jetty.server.HttpOutput$InputStreamWritingCB
dup
aload 0
aload 1
aload 4
invokespecial org.eclipse.jetty.server.HttpOutput$InputStreamWritingCB.<init>:(Lorg/eclipse/jetty/server/HttpOutput;Ljava/io/InputStream;Lorg/eclipse/jetty/util/Callback;)V
invokevirtual org.eclipse.jetty.server.HttpOutput$InputStreamWritingCB.iterate:()V
3: aload 4
invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.block:()V
4: aload 4
ifnull 15
aload 4
invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.close:()V
goto 15
StackMap locals: org.eclipse.jetty.server.HttpOutput java.io.InputStream java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.SharedBlockingCallback$Blocker
StackMap stack: java.lang.Throwable
5: astore 2
aload 4
ifnull 6
aload 4
invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.close:()V
end local 4 StackMap locals:
StackMap stack:
6: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 3
aload 2
ifnonnull 8
aload 3
astore 2
goto 9
StackMap locals:
StackMap stack:
8: aload 2
aload 3
if_acmpeq 9
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
9: aload 2
athrow
10: StackMap locals: org.eclipse.jetty.server.HttpOutput java.io.InputStream
StackMap stack: java.lang.Throwable
astore 2
start local 2 11: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 13
12: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
aload 2
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/Throwable;)V
13: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
aload 2
invokevirtual org.eclipse.jetty.server.HttpOutput.abort:(Ljava/lang/Throwable;)V
14: aload 2
athrow
end local 2 15: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 16 1 in Ljava/io/InputStream;
2 6 4 blocker Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
11 15 2 failure Ljava/lang/Throwable;
Exception table:
from to target type
2 4 5 any
1 7 7 any
0 10 10 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
public void sendContent(java.nio.channels.ReadableByteChannel);
descriptor: (Ljava/nio/channels/ReadableByteChannel;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: aload 0
getfield org.eclipse.jetty.server.HttpOutput._writeBlocker:Lorg/eclipse/jetty/util/SharedBlockingCallback;
invokevirtual org.eclipse.jetty.util.SharedBlockingCallback.acquire:()Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
astore 4
start local 4 2: new org.eclipse.jetty.server.HttpOutput$ReadableByteChannelWritingCB
dup
aload 0
aload 1
aload 4
invokespecial org.eclipse.jetty.server.HttpOutput$ReadableByteChannelWritingCB.<init>:(Lorg/eclipse/jetty/server/HttpOutput;Ljava/nio/channels/ReadableByteChannel;Lorg/eclipse/jetty/util/Callback;)V
invokevirtual org.eclipse.jetty.server.HttpOutput$ReadableByteChannelWritingCB.iterate:()V
3: aload 4
invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.block:()V
4: aload 4
ifnull 15
aload 4
invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.close:()V
goto 15
StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.channels.ReadableByteChannel java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.SharedBlockingCallback$Blocker
StackMap stack: java.lang.Throwable
5: astore 2
aload 4
ifnull 6
aload 4
invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.close:()V
end local 4 StackMap locals:
StackMap stack:
6: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 3
aload 2
ifnonnull 8
aload 3
astore 2
goto 9
StackMap locals:
StackMap stack:
8: aload 2
aload 3
if_acmpeq 9
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
9: aload 2
athrow
10: StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.channels.ReadableByteChannel
StackMap stack: java.lang.Throwable
astore 2
start local 2 11: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 13
12: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
aload 2
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/Throwable;)V
13: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
aload 2
invokevirtual org.eclipse.jetty.server.HttpOutput.abort:(Ljava/lang/Throwable;)V
14: aload 2
athrow
end local 2 15: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 16 1 in Ljava/nio/channels/ReadableByteChannel;
2 6 4 blocker Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
11 15 2 failure Ljava/lang/Throwable;
Exception table:
from to target type
2 4 5 any
1 7 7 any
0 10 10 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
public void sendContent(org.eclipse.jetty.http.HttpContent);
descriptor: (Lorg/eclipse/jetty/http/HttpContent;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: aload 0
getfield org.eclipse.jetty.server.HttpOutput._writeBlocker:Lorg/eclipse/jetty/util/SharedBlockingCallback;
invokevirtual org.eclipse.jetty.util.SharedBlockingCallback.acquire:()Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
astore 4
start local 4 2: aload 0
aload 1
aload 4
invokevirtual org.eclipse.jetty.server.HttpOutput.sendContent:(Lorg/eclipse/jetty/http/HttpContent;Lorg/eclipse/jetty/util/Callback;)V
3: aload 4
invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.block:()V
4: aload 4
ifnull 15
aload 4
invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.close:()V
goto 15
StackMap locals: org.eclipse.jetty.server.HttpOutput org.eclipse.jetty.http.HttpContent java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.SharedBlockingCallback$Blocker
StackMap stack: java.lang.Throwable
5: astore 2
aload 4
ifnull 6
aload 4
invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.close:()V
end local 4 StackMap locals:
StackMap stack:
6: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 3
aload 2
ifnonnull 8
aload 3
astore 2
goto 9
StackMap locals:
StackMap stack:
8: aload 2
aload 3
if_acmpeq 9
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
9: aload 2
athrow
10: StackMap locals: org.eclipse.jetty.server.HttpOutput org.eclipse.jetty.http.HttpContent
StackMap stack: java.lang.Throwable
astore 2
start local 2 11: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 13
12: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
aload 2
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/Throwable;)V
13: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
aload 2
invokevirtual org.eclipse.jetty.server.HttpOutput.abort:(Ljava/lang/Throwable;)V
14: aload 2
athrow
end local 2 15: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 16 1 content Lorg/eclipse/jetty/http/HttpContent;
2 6 4 blocker Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
11 15 2 failure Ljava/lang/Throwable;
Exception table:
from to target type
2 4 5 any
1 7 7 any
0 10 10 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
content
public void sendContent(java.nio.ByteBuffer, org.eclipse.jetty.util.Callback);
descriptor: (Ljava/nio/ByteBuffer;Lorg/eclipse/jetty/util/Callback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 2
1: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "sendContent(buffer={},{})"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
invokestatic org.eclipse.jetty.util.BufferUtil.toDetailString:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
aastore
dup
iconst_1
aload 2
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.eclipse.jetty.server.HttpOutput._written:J
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
ladd
putfield org.eclipse.jetty.server.HttpOutput._written:J
3: aload 0
aload 1
iconst_1
new org.eclipse.jetty.server.HttpOutput$1
dup
aload 0
aload 2
invokespecial org.eclipse.jetty.server.HttpOutput$1.<init>:(Lorg/eclipse/jetty/server/HttpOutput;Lorg/eclipse/jetty/util/Callback;)V
invokevirtual org.eclipse.jetty.server.HttpOutput.write:(Ljava/nio/ByteBuffer;ZLorg/eclipse/jetty/util/Callback;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 5 1 content Ljava/nio/ByteBuffer;
0 5 2 callback Lorg/eclipse/jetty/util/Callback;
MethodParameters:
Name Flags
content
callback final
public void sendContent(java.io.InputStream, org.eclipse.jetty.util.Callback);
descriptor: (Ljava/io/InputStream;Lorg/eclipse/jetty/util/Callback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 2
1: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "sendContent(stream={},{})"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
new org.eclipse.jetty.server.HttpOutput$InputStreamWritingCB
dup
aload 0
aload 1
aload 2
invokespecial org.eclipse.jetty.server.HttpOutput$InputStreamWritingCB.<init>:(Lorg/eclipse/jetty/server/HttpOutput;Ljava/io/InputStream;Lorg/eclipse/jetty/util/Callback;)V
invokevirtual org.eclipse.jetty.server.HttpOutput$InputStreamWritingCB.iterate:()V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 4 1 in Ljava/io/InputStream;
0 4 2 callback Lorg/eclipse/jetty/util/Callback;
MethodParameters:
Name Flags
in
callback
public void sendContent(java.nio.channels.ReadableByteChannel, org.eclipse.jetty.util.Callback);
descriptor: (Ljava/nio/channels/ReadableByteChannel;Lorg/eclipse/jetty/util/Callback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 2
1: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "sendContent(channel={},{})"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
new org.eclipse.jetty.server.HttpOutput$ReadableByteChannelWritingCB
dup
aload 0
aload 1
aload 2
invokespecial org.eclipse.jetty.server.HttpOutput$ReadableByteChannelWritingCB.<init>:(Lorg/eclipse/jetty/server/HttpOutput;Ljava/nio/channels/ReadableByteChannel;Lorg/eclipse/jetty/util/Callback;)V
invokevirtual org.eclipse.jetty.server.HttpOutput$ReadableByteChannelWritingCB.iterate:()V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 4 1 in Ljava/nio/channels/ReadableByteChannel;
0 4 2 callback Lorg/eclipse/jetty/util/Callback;
MethodParameters:
Name Flags
in
callback
public void sendContent(org.eclipse.jetty.http.HttpContent, org.eclipse.jetty.util.Callback);
descriptor: (Lorg/eclipse/jetty/http/HttpContent;Lorg/eclipse/jetty/util/Callback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 2
1: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "sendContent(http={},{})"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
ifeq 5
3: aload 2
new java.io.IOException
dup
ldc "cannot sendContent() after write()"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
invokeinterface org.eclipse.jetty.util.Callback.failed:(Ljava/lang/Throwable;)V
4: return
5: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
invokevirtual org.eclipse.jetty.server.HttpChannel.isCommitted:()Z
ifeq 8
6: aload 2
new java.io.IOException
dup
ldc "cannot sendContent(), output already committed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
invokeinterface org.eclipse.jetty.util.Callback.failed:(Ljava/lang/Throwable;)V
7: return
8: StackMap locals:
StackMap stack:
invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$OutputState:()[I
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.eclipse.jetty.server.HttpOutput$OutputState
invokevirtual org.eclipse.jetty.server.HttpOutput$OutputState.ordinal:()I
iaload
tableswitch { // 1 - 7
1: 9
2: 15
3: 15
4: 15
5: 15
6: 11
7: 13
default: 15
}
9: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.OPEN:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.PENDING:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 16
10: goto 8
11: StackMap locals:
StackMap stack:
aload 2
new org.eclipse.jetty.io.EofException
dup
aload 0
getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
invokespecial org.eclipse.jetty.io.EofException.<init>:(Ljava/lang/Throwable;)V
invokeinterface org.eclipse.jetty.util.Callback.failed:(Ljava/lang/Throwable;)V
12: return
13: StackMap locals:
StackMap stack:
aload 2
new org.eclipse.jetty.io.EofException
dup
ldc "Closed"
invokespecial org.eclipse.jetty.io.EofException.<init>:(Ljava/lang/String;)V
invokeinterface org.eclipse.jetty.util.Callback.failed:(Ljava/lang/Throwable;)V
14: return
15: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
16: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
invokevirtual org.eclipse.jetty.server.HttpChannel.useDirectBuffers:()Z
ifeq 17
aload 1
invokeinterface org.eclipse.jetty.http.HttpContent.getDirectBuffer:()Ljava/nio/ByteBuffer;
goto 18
StackMap locals:
StackMap stack:
17: aconst_null
StackMap locals:
StackMap stack: java.nio.ByteBuffer
18: astore 3
start local 3 19: aload 3
ifnonnull 21
20: aload 1
invokeinterface org.eclipse.jetty.http.HttpContent.getIndirectBuffer:()Ljava/nio/ByteBuffer;
astore 3
21: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 3
ifnull 24
22: aload 0
aload 3
aload 2
invokevirtual org.eclipse.jetty.server.HttpOutput.sendContent:(Ljava/nio/ByteBuffer;Lorg/eclipse/jetty/util/Callback;)V
23: return
24: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.eclipse.jetty.http.HttpContent.getReadableByteChannel:()Ljava/nio/channels/ReadableByteChannel;
astore 4
start local 4 25: aload 4
ifnull 28
26: aload 0
aload 4
aload 2
invokevirtual org.eclipse.jetty.server.HttpOutput.sendContent:(Ljava/nio/channels/ReadableByteChannel;Lorg/eclipse/jetty/util/Callback;)V
27: return
28: StackMap locals: java.nio.channels.ReadableByteChannel
StackMap stack:
aload 1
invokeinterface org.eclipse.jetty.http.HttpContent.getInputStream:()Ljava/io/InputStream;
astore 5
start local 5 29: aload 5
ifnull 32
30: aload 0
aload 5
aload 2
invokevirtual org.eclipse.jetty.server.HttpOutput.sendContent:(Ljava/io/InputStream;Lorg/eclipse/jetty/util/Callback;)V
31: return
32: StackMap locals: java.io.InputStream
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "unknown content for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 5 end local 4 33: StackMap locals: org.eclipse.jetty.server.HttpOutput org.eclipse.jetty.http.HttpContent org.eclipse.jetty.util.Callback java.nio.ByteBuffer
StackMap stack: java.lang.Throwable
astore 4
start local 4 34: aload 0
aload 4
invokevirtual org.eclipse.jetty.server.HttpOutput.abort:(Ljava/lang/Throwable;)V
35: aload 2
aload 4
invokeinterface org.eclipse.jetty.util.Callback.failed:(Ljava/lang/Throwable;)V
end local 4 36: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 37 1 httpContent Lorg/eclipse/jetty/http/HttpContent;
0 37 2 callback Lorg/eclipse/jetty/util/Callback;
19 37 3 buffer Ljava/nio/ByteBuffer;
25 33 4 rbc Ljava/nio/channels/ReadableByteChannel;
29 33 5 in Ljava/io/InputStream;
34 36 4 th Ljava/lang/Throwable;
Exception table:
from to target type
24 27 33 Class java.lang.Throwable
28 31 33 Class java.lang.Throwable
32 33 33 Class java.lang.Throwable
MethodParameters:
Name Flags
httpContent
callback
public int getBufferSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.server.HttpOutput._bufferSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/server/HttpOutput;
public void setBufferSize(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.eclipse.jetty.server.HttpOutput._bufferSize:I
1: aload 0
iload 1
putfield org.eclipse.jetty.server.HttpOutput._commitSize:I
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 3 1 size I
MethodParameters:
Name Flags
size
public void onFlushed(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=10, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jetty.server.HttpOutput._firstByteTimeStamp:J
ldc -1
lcmp
ifeq 1
aload 0
getfield org.eclipse.jetty.server.HttpOutput._firstByteTimeStamp:J
ldc 9223372036854775807
lcmp
ifne 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.getHttpChannel:()Lorg/eclipse/jetty/server/HttpChannel;
invokevirtual org.eclipse.jetty.server.HttpChannel.getHttpConfiguration:()Lorg/eclipse/jetty/server/HttpConfiguration;
invokevirtual org.eclipse.jetty.server.HttpConfiguration.getMinResponseDataRate:()J
lstore 3
start local 3 3: aload 0
dup
getfield org.eclipse.jetty.server.HttpOutput._flushed:J
lload 1
ladd
putfield org.eclipse.jetty.server.HttpOutput._flushed:J
4: invokestatic java.lang.System.nanoTime:()J
aload 0
getfield org.eclipse.jetty.server.HttpOutput._firstByteTimeStamp:J
lsub
lstore 5
start local 5 5: lload 3
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
lload 5
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
lmul
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
lconst_1
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
ldiv
lstore 7
start local 7 6: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 8
7: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "Flushed bytes min/actual {}/{}"
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 7
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 0
getfield org.eclipse.jetty.server.HttpOutput._flushed:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
8: StackMap locals: long long long
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._flushed:J
lload 7
lcmp
ifge 12
9: new java.io.IOException
dup
ldc "Response content data rate < %d B/s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
astore 9
start local 9 10: aload 0
getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
aload 9
invokevirtual org.eclipse.jetty.server.HttpChannel.abort:(Ljava/lang/Throwable;)V
11: aload 9
athrow
end local 9 12: StackMap locals:
StackMap stack:
return
end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 13 1 bytes J
3 13 3 minDataRate J
5 13 5 elapsed J
6 13 7 minFlushed J
10 12 9 ioe Ljava/io/IOException;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
bytes
public void recycle();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
aload 0
getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
putfield org.eclipse.jetty.server.HttpOutput._interceptor:Lorg/eclipse/jetty/server/HttpOutput$Interceptor;
1: aload 0
getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
invokevirtual org.eclipse.jetty.server.HttpChannel.getHttpConfiguration:()Lorg/eclipse/jetty/server/HttpConfiguration;
astore 1
start local 1 2: aload 0
aload 1
invokevirtual org.eclipse.jetty.server.HttpConfiguration.getOutputBufferSize:()I
putfield org.eclipse.jetty.server.HttpOutput._bufferSize:I
3: aload 0
aload 1
invokevirtual org.eclipse.jetty.server.HttpConfiguration.getOutputAggregationSize:()I
putfield org.eclipse.jetty.server.HttpOutput._commitSize:I
4: aload 0
getfield org.eclipse.jetty.server.HttpOutput._commitSize:I
aload 0
getfield org.eclipse.jetty.server.HttpOutput._bufferSize:I
if_icmple 6
5: aload 0
aload 0
getfield org.eclipse.jetty.server.HttpOutput._bufferSize:I
putfield org.eclipse.jetty.server.HttpOutput._commitSize:I
6: StackMap locals: org.eclipse.jetty.server.HttpConfiguration
StackMap stack:
aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.releaseBuffer:()V
7: aload 0
lconst_0
putfield org.eclipse.jetty.server.HttpOutput._written:J
8: aload 0
aconst_null
putfield org.eclipse.jetty.server.HttpOutput._writeListener:Ljavax/servlet/WriteListener;
9: aload 0
aconst_null
putfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
10: aload 0
ldc -1
putfield org.eclipse.jetty.server.HttpOutput._firstByteTimeStamp:J
11: aload 0
lconst_0
putfield org.eclipse.jetty.server.HttpOutput._flushed:J
12: aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.reopen:()V
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/eclipse/jetty/server/HttpOutput;
2 14 1 config Lorg/eclipse/jetty/server/HttpConfiguration;
public void resetBuffer();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.server.HttpOutput._interceptor:Lorg/eclipse/jetty/server/HttpOutput$Interceptor;
invokeinterface org.eclipse.jetty.server.HttpOutput$Interceptor.resetBuffer:()V
1: aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
ifeq 3
2: aload 0
getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
invokestatic org.eclipse.jetty.util.BufferUtil.clear:(Ljava/nio/ByteBuffer;)V
3: StackMap locals:
StackMap stack:
aload 0
lconst_0
putfield org.eclipse.jetty.server.HttpOutput._written:J
4: aload 0
invokevirtual org.eclipse.jetty.server.HttpOutput.reopen:()V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/eclipse/jetty/server/HttpOutput;
public void setWriteListener(javax.servlet.WriteListener);
descriptor: (Ljavax/servlet/WriteListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
invokevirtual org.eclipse.jetty.server.HttpChannel.getState:()Lorg/eclipse/jetty/server/HttpChannelState;
invokevirtual org.eclipse.jetty.server.HttpChannelState.isAsync:()Z
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "!ASYNC"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.OPEN:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.READY:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 7
3: aload 0
aload 1
putfield org.eclipse.jetty.server.HttpOutput._writeListener:Ljavax/servlet/WriteListener;
4: aload 0
getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
invokevirtual org.eclipse.jetty.server.HttpChannel.getState:()Lorg/eclipse/jetty/server/HttpChannelState;
invokevirtual org.eclipse.jetty.server.HttpChannelState.onWritePossible:()Z
ifeq 8
5: aload 0
getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
aload 0
getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
invokevirtual org.eclipse.jetty.server.HttpChannel.execute:(Ljava/lang/Runnable;)V
6: goto 8
7: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/eclipse/jetty/server/HttpOutput;
0 9 1 writeListener Ljavax/servlet/WriteListener;
MethodParameters:
Name Flags
writeListener
public boolean isReady();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$OutputState:()[I
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.eclipse.jetty.server.HttpOutput$OutputState
invokevirtual org.eclipse.jetty.server.HttpOutput$OutputState.ordinal:()I
iaload
tableswitch { // 1 - 7
1: 1
2: 2
3: 5
4: 6
5: 9
6: 10
7: 11
default: 12
}
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.ASYNC:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.READY:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 4
3: goto 0
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
5: StackMap locals:
StackMap stack:
iconst_1
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.PENDING:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.UNREADY:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 8
7: goto 0
8: StackMap locals:
StackMap stack:
iconst_0
ireturn
9: StackMap locals:
StackMap stack:
iconst_0
ireturn
10: StackMap locals:
StackMap stack:
iconst_1
ireturn
11: StackMap locals:
StackMap stack:
iconst_1
ireturn
12: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/eclipse/jetty/server/HttpOutput;
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.eclipse.jetty.server.HttpOutput$OutputState
astore 1
start local 1 1: aload 0
getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
ifnull 17
2: invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$OutputState:()[I
aload 1
invokevirtual org.eclipse.jetty.server.HttpOutput$OutputState.ordinal:()I
iaload
tableswitch { // 6 - 7
6: 3
7: 3
default: 5
}
3: StackMap locals: org.eclipse.jetty.server.HttpOutput$OutputState
StackMap stack:
aload 0
aconst_null
putfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
4: return
5: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
aload 1
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.ERROR:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 0
6: aload 0
getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
astore 2
start local 2 7: aload 0
aconst_null
putfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
8: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 10
9: getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "onError"
aload 2
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
10: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._writeListener:Ljavax/servlet/WriteListener;
aload 2
invokeinterface javax.servlet.WriteListener.onError:(Ljava/lang/Throwable;)V
11: goto 15
12: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
13: aload 0
invokestatic org.eclipse.jetty.util.IO.close:(Ljava/io/OutputStream;)V
14: aload 3
athrow
15: StackMap locals:
StackMap stack:
aload 0
invokestatic org.eclipse.jetty.util.IO.close:(Ljava/io/OutputStream;)V
16: return
end local 2 17: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.server.HttpOutput._writeListener:Ljavax/servlet/WriteListener;
invokeinterface javax.servlet.WriteListener.onWritePossible:()V
18: goto 22
19: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 20: aload 0
aload 2
putfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
end local 2 end local 1 21: goto 0
22: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/eclipse/jetty/server/HttpOutput;
1 21 1 state Lorg/eclipse/jetty/server/HttpOutput$OutputState;
7 17 2 th Ljava/lang/Throwable;
20 21 2 e Ljava/lang/Throwable;
Exception table:
from to target type
10 12 12 any
17 18 19 Class java.lang.Throwable
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: ldc "%s@%x{%s}"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 0
invokevirtual java.lang.Object.hashCode:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 0
getfield org.eclipse.jetty.server.HttpOutput._state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/server/HttpOutput;
static int[] $SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$OutputState();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$OutputState:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.eclipse.jetty.server.HttpOutput$OutputState.values:()[Lorg/eclipse/jetty/server/HttpOutput$OutputState;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.ASYNC:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokevirtual org.eclipse.jetty.server.HttpOutput$OutputState.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.CLOSED:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokevirtual org.eclipse.jetty.server.HttpOutput$OutputState.ordinal:()I
bipush 7
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.ERROR:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokevirtual org.eclipse.jetty.server.HttpOutput$OutputState.ordinal:()I
bipush 6
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.OPEN:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokevirtual org.eclipse.jetty.server.HttpOutput$OutputState.ordinal:()I
iconst_1
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.PENDING:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokevirtual org.eclipse.jetty.server.HttpOutput$OutputState.ordinal:()I
iconst_4
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.READY:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokevirtual org.eclipse.jetty.server.HttpOutput$OutputState.ordinal:()I
iconst_3
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic org.eclipse.jetty.server.HttpOutput$OutputState.UNREADY:Lorg/eclipse/jetty/server/HttpOutput$OutputState;
invokevirtual org.eclipse.jetty.server.HttpOutput$OutputState.ordinal:()I
iconst_5
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
dup
putstatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$OutputState:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
}
SourceFile: "HttpOutput.java"
NestMembers:
org.eclipse.jetty.server.HttpOutput$1 org.eclipse.jetty.server.HttpOutput$AsyncFlush org.eclipse.jetty.server.HttpOutput$AsyncICB org.eclipse.jetty.server.HttpOutput$AsyncWrite org.eclipse.jetty.server.HttpOutput$InputStreamWritingCB org.eclipse.jetty.server.HttpOutput$Interceptor org.eclipse.jetty.server.HttpOutput$OutputState org.eclipse.jetty.server.HttpOutput$ReadableByteChannelWritingCB org.eclipse.jetty.server.HttpOutput$WriteBlocker
InnerClasses:
org.eclipse.jetty.server.HttpOutput$1
private AsyncFlush = org.eclipse.jetty.server.HttpOutput$AsyncFlush of org.eclipse.jetty.server.HttpOutput
private abstract AsyncICB = org.eclipse.jetty.server.HttpOutput$AsyncICB of org.eclipse.jetty.server.HttpOutput
private AsyncWrite = org.eclipse.jetty.server.HttpOutput$AsyncWrite of org.eclipse.jetty.server.HttpOutput
private InputStreamWritingCB = org.eclipse.jetty.server.HttpOutput$InputStreamWritingCB of org.eclipse.jetty.server.HttpOutput
public abstract Interceptor = org.eclipse.jetty.server.HttpOutput$Interceptor of org.eclipse.jetty.server.HttpOutput
private final OutputState = org.eclipse.jetty.server.HttpOutput$OutputState of org.eclipse.jetty.server.HttpOutput
private ReadableByteChannelWritingCB = org.eclipse.jetty.server.HttpOutput$ReadableByteChannelWritingCB of org.eclipse.jetty.server.HttpOutput
private WriteBlocker = org.eclipse.jetty.server.HttpOutput$WriteBlocker of org.eclipse.jetty.server.HttpOutput
public Blocker = org.eclipse.jetty.util.SharedBlockingCallback$Blocker of org.eclipse.jetty.util.SharedBlockingCallback