public abstract class org.eclipse.jetty.io.WriteFlusher
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.eclipse.jetty.io.WriteFlusher
super_class: java.lang.Object
{
private static final org.slf4j.Logger LOG;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.nio.ByteBuffer[] EMPTY_BUFFERS;
descriptor: [Ljava/nio/ByteBuffer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.EnumMap<org.eclipse.jetty.io.WriteFlusher$StateType, java.util.Set<org.eclipse.jetty.io.WriteFlusher$StateType>> __stateTransitions;
descriptor: Ljava/util/EnumMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/EnumMap<Lorg/eclipse/jetty/io/WriteFlusher$StateType;Ljava/util/Set<Lorg/eclipse/jetty/io/WriteFlusher$StateType;>;>;
private static final org.eclipse.jetty.io.WriteFlusher$State __IDLE;
descriptor: Lorg/eclipse/jetty/io/WriteFlusher$State;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.eclipse.jetty.io.WriteFlusher$State __WRITING;
descriptor: Lorg/eclipse/jetty/io/WriteFlusher$State;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.eclipse.jetty.io.WriteFlusher$State __COMPLETING;
descriptor: Lorg/eclipse/jetty/io/WriteFlusher$State;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.eclipse.jetty.io.EndPoint _endPoint;
descriptor: Lorg/eclipse/jetty/io/EndPoint;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicReference<org.eclipse.jetty.io.WriteFlusher$State> _state;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Lorg/eclipse/jetty/io/WriteFlusher$State;>;
private static volatile int[] $SWITCH_TABLE$org$eclipse$jetty$io$WriteFlusher$StateType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: ldc Lorg/eclipse/jetty/io/WriteFlusher;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.eclipse.jetty.io.WriteFlusher.LOG:Lorg/slf4j/Logger;
1: getstatic org.eclipse.jetty.io.WriteFlusher.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
putstatic org.eclipse.jetty.io.WriteFlusher.DEBUG:Z
2: iconst_1
anewarray java.nio.ByteBuffer
dup
iconst_0
getstatic org.eclipse.jetty.util.BufferUtil.EMPTY_BUFFER:Ljava/nio/ByteBuffer;
aastore
putstatic org.eclipse.jetty.io.WriteFlusher.EMPTY_BUFFERS:[Ljava/nio/ByteBuffer;
3: new java.util.EnumMap
dup
ldc Lorg/eclipse/jetty/io/WriteFlusher$StateType;
invokespecial java.util.EnumMap.<init>:(Ljava/lang/Class;)V
putstatic org.eclipse.jetty.io.WriteFlusher.__stateTransitions:Ljava/util/EnumMap;
4: new org.eclipse.jetty.io.WriteFlusher$IdleState
dup
invokespecial org.eclipse.jetty.io.WriteFlusher$IdleState.<init>:()V
putstatic org.eclipse.jetty.io.WriteFlusher.__IDLE:Lorg/eclipse/jetty/io/WriteFlusher$State;
5: new org.eclipse.jetty.io.WriteFlusher$WritingState
dup
invokespecial org.eclipse.jetty.io.WriteFlusher$WritingState.<init>:()V
putstatic org.eclipse.jetty.io.WriteFlusher.__WRITING:Lorg/eclipse/jetty/io/WriteFlusher$State;
6: new org.eclipse.jetty.io.WriteFlusher$CompletingState
dup
invokespecial org.eclipse.jetty.io.WriteFlusher$CompletingState.<init>:()V
putstatic org.eclipse.jetty.io.WriteFlusher.__COMPLETING:Lorg/eclipse/jetty/io/WriteFlusher$State;
7: getstatic org.eclipse.jetty.io.WriteFlusher.__stateTransitions:Ljava/util/EnumMap;
getstatic org.eclipse.jetty.io.WriteFlusher$StateType.IDLE:Lorg/eclipse/jetty/io/WriteFlusher$StateType;
getstatic org.eclipse.jetty.io.WriteFlusher$StateType.WRITING:Lorg/eclipse/jetty/io/WriteFlusher$StateType;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: getstatic org.eclipse.jetty.io.WriteFlusher.__stateTransitions:Ljava/util/EnumMap;
getstatic org.eclipse.jetty.io.WriteFlusher$StateType.WRITING:Lorg/eclipse/jetty/io/WriteFlusher$StateType;
getstatic org.eclipse.jetty.io.WriteFlusher$StateType.IDLE:Lorg/eclipse/jetty/io/WriteFlusher$StateType;
getstatic org.eclipse.jetty.io.WriteFlusher$StateType.PENDING:Lorg/eclipse/jetty/io/WriteFlusher$StateType;
getstatic org.eclipse.jetty.io.WriteFlusher$StateType.FAILED:Lorg/eclipse/jetty/io/WriteFlusher$StateType;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: getstatic org.eclipse.jetty.io.WriteFlusher.__stateTransitions:Ljava/util/EnumMap;
getstatic org.eclipse.jetty.io.WriteFlusher$StateType.PENDING:Lorg/eclipse/jetty/io/WriteFlusher$StateType;
getstatic org.eclipse.jetty.io.WriteFlusher$StateType.COMPLETING:Lorg/eclipse/jetty/io/WriteFlusher$StateType;
getstatic org.eclipse.jetty.io.WriteFlusher$StateType.IDLE:Lorg/eclipse/jetty/io/WriteFlusher$StateType;
getstatic org.eclipse.jetty.io.WriteFlusher$StateType.FAILED:Lorg/eclipse/jetty/io/WriteFlusher$StateType;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: getstatic org.eclipse.jetty.io.WriteFlusher.__stateTransitions:Ljava/util/EnumMap;
getstatic org.eclipse.jetty.io.WriteFlusher$StateType.COMPLETING:Lorg/eclipse/jetty/io/WriteFlusher$StateType;
getstatic org.eclipse.jetty.io.WriteFlusher$StateType.IDLE:Lorg/eclipse/jetty/io/WriteFlusher$StateType;
getstatic org.eclipse.jetty.io.WriteFlusher$StateType.PENDING:Lorg/eclipse/jetty/io/WriteFlusher$StateType;
getstatic org.eclipse.jetty.io.WriteFlusher$StateType.FAILED:Lorg/eclipse/jetty/io/WriteFlusher$StateType;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: getstatic org.eclipse.jetty.io.WriteFlusher.__stateTransitions:Ljava/util/EnumMap;
getstatic org.eclipse.jetty.io.WriteFlusher$StateType.FAILED:Lorg/eclipse/jetty/io/WriteFlusher$StateType;
ldc Lorg/eclipse/jetty/io/WriteFlusher$StateType;
invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(org.eclipse.jetty.io.EndPoint);
descriptor: (Lorg/eclipse/jetty/io/EndPoint;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield org.eclipse.jetty.io.WriteFlusher._state:Ljava/util/concurrent/atomic/AtomicReference;
2: aload 0
getfield org.eclipse.jetty.io.WriteFlusher._state:Ljava/util/concurrent/atomic/AtomicReference;
getstatic org.eclipse.jetty.io.WriteFlusher.__IDLE:Lorg/eclipse/jetty/io/WriteFlusher$State;
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
3: aload 0
aload 1
putfield org.eclipse.jetty.io.WriteFlusher._endPoint:Lorg/eclipse/jetty/io/EndPoint;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jetty/io/WriteFlusher;
0 5 1 endPoint Lorg/eclipse/jetty/io/EndPoint;
MethodParameters:
Name Flags
endPoint
private boolean updateState(org.eclipse.jetty.io.WriteFlusher$State, org.eclipse.jetty.io.WriteFlusher$State);
descriptor: (Lorg/eclipse/jetty/io/WriteFlusher$State;Lorg/eclipse/jetty/io/WriteFlusher$State;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.eclipse.jetty.io.WriteFlusher.isTransitionAllowed:(Lorg/eclipse/jetty/io/WriteFlusher$State;Lorg/eclipse/jetty/io/WriteFlusher$State;)Z
ifne 2
1: new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.io.WriteFlusher._state:Ljava/util/concurrent/atomic/AtomicReference;
aload 1
aload 2
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
istore 3
start local 3 3: getstatic org.eclipse.jetty.io.WriteFlusher.DEBUG:Z
ifeq 7
4: getstatic org.eclipse.jetty.io.WriteFlusher.LOG:Lorg/slf4j/Logger;
ldc "update {}:{}{}{}"
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
iload 3
ifeq 5
ldc "-->"
goto 6
StackMap locals: org.eclipse.jetty.io.WriteFlusher org.eclipse.jetty.io.WriteFlusher$State org.eclipse.jetty.io.WriteFlusher$State int
StackMap stack: org.slf4j.Logger java.lang.String java.lang.Object[] java.lang.Object[] int
5: ldc "!->"
StackMap locals: org.eclipse.jetty.io.WriteFlusher org.eclipse.jetty.io.WriteFlusher$State org.eclipse.jetty.io.WriteFlusher$State int
StackMap stack: org.slf4j.Logger java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
6: aastore
dup
iconst_3
aload 2
aastore
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
7: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/jetty/io/WriteFlusher;
0 8 1 previous Lorg/eclipse/jetty/io/WriteFlusher$State;
0 8 2 next Lorg/eclipse/jetty/io/WriteFlusher$State;
3 8 3 updated Z
MethodParameters:
Name Flags
previous
next
private boolean isTransitionAllowed(org.eclipse.jetty.io.WriteFlusher$State, org.eclipse.jetty.io.WriteFlusher$State);
descriptor: (Lorg/eclipse/jetty/io/WriteFlusher$State;Lorg/eclipse/jetty/io/WriteFlusher$State;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.eclipse.jetty.io.WriteFlusher.__stateTransitions:Ljava/util/EnumMap;
aload 1
invokevirtual org.eclipse.jetty.io.WriteFlusher$State.getType:()Lorg/eclipse/jetty/io/WriteFlusher$StateType;
invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
astore 3
start local 3 1: aload 3
aload 2
invokevirtual org.eclipse.jetty.io.WriteFlusher$State.getType:()Lorg/eclipse/jetty/io/WriteFlusher$StateType;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 4
2: getstatic org.eclipse.jetty.io.WriteFlusher.LOG:Lorg/slf4j/Logger;
ldc "{}: {} -> {} not allowed"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 2
aastore
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
3: iconst_0
ireturn
4: StackMap locals: java.util.Set
StackMap stack:
iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jetty/io/WriteFlusher;
0 5 1 currentState Lorg/eclipse/jetty/io/WriteFlusher$State;
0 5 2 newState Lorg/eclipse/jetty/io/WriteFlusher$State;
1 5 3 allowedNewStateTypes Ljava/util/Set<Lorg/eclipse/jetty/io/WriteFlusher$StateType;>;
MethodParameters:
Name Flags
currentState
newState
public org.eclipse.jetty.util.thread.Invocable$InvocationType getCallbackInvocationType();
descriptor: ()Lorg/eclipse/jetty/util/thread/Invocable$InvocationType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.io.WriteFlusher._state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.eclipse.jetty.io.WriteFlusher$State
astore 1
start local 1 1: aload 1
instanceof org.eclipse.jetty.io.WriteFlusher$PendingState
ifeq 3
2: aload 1
checkcast org.eclipse.jetty.io.WriteFlusher$PendingState
invokevirtual org.eclipse.jetty.io.WriteFlusher$PendingState.getCallbackInvocationType:()Lorg/eclipse/jetty/util/thread/Invocable$InvocationType;
goto 4
3: StackMap locals: org.eclipse.jetty.io.WriteFlusher$State
StackMap stack:
getstatic org.eclipse.jetty.util.thread.Invocable$InvocationType.BLOCKING:Lorg/eclipse/jetty/util/thread/Invocable$InvocationType;
4: StackMap locals:
StackMap stack: org.eclipse.jetty.util.thread.Invocable$InvocationType
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jetty/io/WriteFlusher;
1 5 1 s Lorg/eclipse/jetty/io/WriteFlusher$State;
protected abstract void onIncompleteFlush();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
public void write(org.eclipse.jetty.util.Callback, java.nio.ByteBuffer[]);
descriptor: (Lorg/eclipse/jetty/util/Callback;[Ljava/nio/ByteBuffer;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
invokevirtual org.eclipse.jetty.io.WriteFlusher.isFailed:()Z
ifeq 4
2: aload 0
aload 1
iconst_0
anewarray java.lang.Throwable
invokevirtual org.eclipse.jetty.io.WriteFlusher.fail:(Lorg/eclipse/jetty/util/Callback;[Ljava/lang/Throwable;)V
3: return
4: StackMap locals:
StackMap stack:
getstatic org.eclipse.jetty.io.WriteFlusher.DEBUG:Z
ifeq 6
5: getstatic org.eclipse.jetty.io.WriteFlusher.LOG:Lorg/slf4j/Logger;
ldc "write: {} {}"
aload 0
aload 2
invokestatic org.eclipse.jetty.util.BufferUtil.toDetailString:([Ljava/nio/ByteBuffer;)Ljava/lang/String;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
6: StackMap locals:
StackMap stack:
aload 0
getstatic org.eclipse.jetty.io.WriteFlusher.__IDLE:Lorg/eclipse/jetty/io/WriteFlusher$State;
getstatic org.eclipse.jetty.io.WriteFlusher.__WRITING:Lorg/eclipse/jetty/io/WriteFlusher$State;
invokevirtual org.eclipse.jetty.io.WriteFlusher.updateState:(Lorg/eclipse/jetty/io/WriteFlusher$State;Lorg/eclipse/jetty/io/WriteFlusher$State;)Z
ifne 8
7: new java.nio.channels.WritePendingException
dup
invokespecial java.nio.channels.WritePendingException.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.eclipse.jetty.io.WriteFlusher.flush:([Ljava/nio/ByteBuffer;)[Ljava/nio/ByteBuffer;
astore 2
9: aload 2
ifnull 17
10: getstatic org.eclipse.jetty.io.WriteFlusher.DEBUG:Z
ifeq 12
11: getstatic org.eclipse.jetty.io.WriteFlusher.LOG:Lorg/slf4j/Logger;
ldc "flushed incomplete"
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
12: StackMap locals:
StackMap stack:
new org.eclipse.jetty.io.WriteFlusher$PendingState
dup
aload 0
aload 2
aload 1
invokespecial org.eclipse.jetty.io.WriteFlusher$PendingState.<init>:(Lorg/eclipse/jetty/io/WriteFlusher;[Ljava/nio/ByteBuffer;Lorg/eclipse/jetty/util/Callback;)V
astore 3
start local 3 13: aload 0
getstatic org.eclipse.jetty.io.WriteFlusher.__WRITING:Lorg/eclipse/jetty/io/WriteFlusher$State;
aload 3
invokevirtual org.eclipse.jetty.io.WriteFlusher.updateState:(Lorg/eclipse/jetty/io/WriteFlusher$State;Lorg/eclipse/jetty/io/WriteFlusher$State;)Z
ifeq 15
14: aload 0
invokevirtual org.eclipse.jetty.io.WriteFlusher.onIncompleteFlush:()V
goto 16
15: StackMap locals: org.eclipse.jetty.io.WriteFlusher$PendingState
StackMap stack:
aload 0
aload 1
iconst_0
anewarray java.lang.Throwable
invokevirtual org.eclipse.jetty.io.WriteFlusher.fail:(Lorg/eclipse/jetty/util/Callback;[Ljava/lang/Throwable;)V
16: StackMap locals:
StackMap stack:
return
end local 3 17: StackMap locals:
StackMap stack:
aload 0
getstatic org.eclipse.jetty.io.WriteFlusher.__WRITING:Lorg/eclipse/jetty/io/WriteFlusher$State;
getstatic org.eclipse.jetty.io.WriteFlusher.__IDLE:Lorg/eclipse/jetty/io/WriteFlusher$State;
invokevirtual org.eclipse.jetty.io.WriteFlusher.updateState:(Lorg/eclipse/jetty/io/WriteFlusher$State;Lorg/eclipse/jetty/io/WriteFlusher$State;)Z
ifeq 19
18: aload 1
invokeinterface org.eclipse.jetty.util.Callback.succeeded:()V
goto 27
19: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
anewarray java.lang.Throwable
invokevirtual org.eclipse.jetty.io.WriteFlusher.fail:(Lorg/eclipse/jetty/util/Callback;[Ljava/lang/Throwable;)V
20: goto 27
21: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 22: getstatic org.eclipse.jetty.io.WriteFlusher.DEBUG:Z
ifeq 24
23: getstatic org.eclipse.jetty.io.WriteFlusher.LOG:Lorg/slf4j/Logger;
ldc "write exception"
aload 3
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
24: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
getstatic org.eclipse.jetty.io.WriteFlusher.__WRITING:Lorg/eclipse/jetty/io/WriteFlusher$State;
new org.eclipse.jetty.io.WriteFlusher$FailedState
dup
aload 3
invokespecial org.eclipse.jetty.io.WriteFlusher$FailedState.<init>:(Ljava/lang/Throwable;)V
invokevirtual org.eclipse.jetty.io.WriteFlusher.updateState:(Lorg/eclipse/jetty/io/WriteFlusher$State;Lorg/eclipse/jetty/io/WriteFlusher$State;)Z
ifeq 26
25: aload 1
aload 3
invokeinterface org.eclipse.jetty.util.Callback.failed:(Ljava/lang/Throwable;)V
goto 27
26: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_1
anewarray java.lang.Throwable
dup
iconst_0
aload 3
aastore
invokevirtual org.eclipse.jetty.io.WriteFlusher.fail:(Lorg/eclipse/jetty/util/Callback;[Ljava/lang/Throwable;)V
end local 3 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/io/WriteFlusher;
0 28 1 callback Lorg/eclipse/jetty/util/Callback;
0 28 2 buffers [Ljava/nio/ByteBuffer;
13 17 3 pending Lorg/eclipse/jetty/io/WriteFlusher$PendingState;
22 27 3 e Ljava/lang/Throwable;
Exception table:
from to target type
8 16 21 Class java.lang.Throwable
17 20 21 Class java.lang.Throwable
Exceptions:
throws java.nio.channels.WritePendingException
MethodParameters:
Name Flags
callback
buffers
private void fail(org.eclipse.jetty.util.Callback, java.lang.Throwable[]);
descriptor: (Lorg/eclipse/jetty/util/Callback;[Ljava/lang/Throwable;)V
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.io.WriteFlusher._state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.eclipse.jetty.io.WriteFlusher$State
astore 4
start local 4 1: invokestatic org.eclipse.jetty.io.WriteFlusher.$SWITCH_TABLE$org$eclipse$jetty$io$WriteFlusher$StateType:()[I
aload 4
invokevirtual org.eclipse.jetty.io.WriteFlusher$State.getType:()Lorg/eclipse/jetty/io/WriteFlusher$StateType;
invokevirtual org.eclipse.jetty.io.WriteFlusher$StateType.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 5
2: 11
3: 11
4: 11
5: 2
default: 11
}
2: StackMap locals: org.eclipse.jetty.io.WriteFlusher org.eclipse.jetty.util.Callback java.lang.Throwable[] top org.eclipse.jetty.io.WriteFlusher$State
StackMap stack:
aload 4
checkcast org.eclipse.jetty.io.WriteFlusher$FailedState
astore 5
start local 5 3: aload 5
invokevirtual org.eclipse.jetty.io.WriteFlusher$FailedState.getCause:()Ljava/lang/Throwable;
astore 3
start local 3 4: goto 15
end local 5 end local 3 5: StackMap locals:
StackMap stack:
aload 2
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 9
StackMap locals: org.eclipse.jetty.io.WriteFlusher org.eclipse.jetty.util.Callback java.lang.Throwable[] top org.eclipse.jetty.io.WriteFlusher$State top int int java.lang.Throwable[]
StackMap stack:
6: aload 8
iload 6
aaload
astore 5
start local 5 7: getstatic org.eclipse.jetty.io.WriteFlusher.LOG:Lorg/slf4j/Logger;
ldc "Failed Write Cause"
aload 5
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 5 8: iinc 6 1
StackMap locals:
StackMap stack:
9: iload 6
iload 7
if_icmplt 6
10: return
11: StackMap locals: org.eclipse.jetty.io.WriteFlusher org.eclipse.jetty.util.Callback java.lang.Throwable[] top org.eclipse.jetty.io.WriteFlusher$State
StackMap stack:
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
astore 5
start local 5 12: aload 0
getfield org.eclipse.jetty.io.WriteFlusher._state:Ljava/util/concurrent/atomic/AtomicReference;
aload 4
new org.eclipse.jetty.io.WriteFlusher$FailedState
dup
aload 5
invokespecial org.eclipse.jetty.io.WriteFlusher$FailedState.<init>:(Ljava/lang/Throwable;)V
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 14
13: goto 0
14: StackMap locals: java.lang.Throwable
StackMap stack:
aload 5
astore 3
end local 5 end local 4 start local 3 15: StackMap locals: org.eclipse.jetty.io.WriteFlusher org.eclipse.jetty.util.Callback java.lang.Throwable[] java.lang.Throwable
StackMap stack:
aload 2
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 20
StackMap locals: org.eclipse.jetty.io.WriteFlusher org.eclipse.jetty.util.Callback java.lang.Throwable[] java.lang.Throwable top int int java.lang.Throwable[]
StackMap stack:
16: aload 7
iload 5
aaload
astore 4
start local 4 17: aload 4
aload 3
if_acmpeq 19
18: aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
end local 4 19: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
20: iload 5
iload 6
if_icmplt 16
21: aload 1
aload 3
invokeinterface org.eclipse.jetty.util.Callback.failed:(Ljava/lang/Throwable;)V
22: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/eclipse/jetty/io/WriteFlusher;
0 23 1 callback Lorg/eclipse/jetty/util/Callback;
0 23 2 suppressed [Ljava/lang/Throwable;
4 5 3 cause Ljava/lang/Throwable;
15 23 3 cause Ljava/lang/Throwable;
1 15 4 state Lorg/eclipse/jetty/io/WriteFlusher$State;
3 5 5 failed Lorg/eclipse/jetty/io/WriteFlusher$FailedState;
7 8 5 t Ljava/lang/Throwable;
12 15 5 t Ljava/lang/Throwable;
17 19 4 t Ljava/lang/Throwable;
MethodParameters:
Name Flags
callback
suppressed
public void completeWrite();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=1
start local 0 0: getstatic org.eclipse.jetty.io.WriteFlusher.DEBUG:Z
ifeq 2
1: getstatic org.eclipse.jetty.io.WriteFlusher.LOG:Lorg/slf4j/Logger;
ldc "completeWrite: {}"
aload 0
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.io.WriteFlusher._state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.eclipse.jetty.io.WriteFlusher$State
astore 1
start local 1 3: aload 1
invokevirtual org.eclipse.jetty.io.WriteFlusher$State.getType:()Lorg/eclipse/jetty/io/WriteFlusher$StateType;
getstatic org.eclipse.jetty.io.WriteFlusher$StateType.PENDING:Lorg/eclipse/jetty/io/WriteFlusher$StateType;
if_acmpeq 5
4: return
5: StackMap locals: org.eclipse.jetty.io.WriteFlusher$State
StackMap stack:
aload 1
checkcast org.eclipse.jetty.io.WriteFlusher$PendingState
astore 2
start local 2 6: aload 0
aload 2
getstatic org.eclipse.jetty.io.WriteFlusher.__COMPLETING:Lorg/eclipse/jetty/io/WriteFlusher$State;
invokevirtual org.eclipse.jetty.io.WriteFlusher.updateState:(Lorg/eclipse/jetty/io/WriteFlusher$State;Lorg/eclipse/jetty/io/WriteFlusher$State;)Z
ifne 8
7: return
8: StackMap locals: org.eclipse.jetty.io.WriteFlusher$PendingState
StackMap stack:
aload 2
getfield org.eclipse.jetty.io.WriteFlusher$PendingState._callback:Lorg/eclipse/jetty/util/Callback;
astore 3
start local 3 9: aload 2
invokevirtual org.eclipse.jetty.io.WriteFlusher$PendingState.getBuffers:()[Ljava/nio/ByteBuffer;
astore 4
start local 4 10: aload 0
aload 4
invokevirtual org.eclipse.jetty.io.WriteFlusher.flush:([Ljava/nio/ByteBuffer;)[Ljava/nio/ByteBuffer;
astore 4
11: aload 4
ifnull 20
12: getstatic org.eclipse.jetty.io.WriteFlusher.DEBUG:Z
ifeq 14
13: getstatic org.eclipse.jetty.io.WriteFlusher.LOG:Lorg/slf4j/Logger;
ldc "flushed incomplete {}"
aload 4
invokestatic org.eclipse.jetty.util.BufferUtil.toDetailString:([Ljava/nio/ByteBuffer;)Ljava/lang/String;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
14: StackMap locals: org.eclipse.jetty.util.Callback java.nio.ByteBuffer[]
StackMap stack:
aload 4
aload 2
invokevirtual org.eclipse.jetty.io.WriteFlusher$PendingState.getBuffers:()[Ljava/nio/ByteBuffer;
if_acmpeq 16
15: new org.eclipse.jetty.io.WriteFlusher$PendingState
dup
aload 0
aload 4
aload 3
invokespecial org.eclipse.jetty.io.WriteFlusher$PendingState.<init>:(Lorg/eclipse/jetty/io/WriteFlusher;[Ljava/nio/ByteBuffer;Lorg/eclipse/jetty/util/Callback;)V
astore 2
16: StackMap locals:
StackMap stack:
aload 0
getstatic org.eclipse.jetty.io.WriteFlusher.__COMPLETING:Lorg/eclipse/jetty/io/WriteFlusher$State;
aload 2
invokevirtual org.eclipse.jetty.io.WriteFlusher.updateState:(Lorg/eclipse/jetty/io/WriteFlusher$State;Lorg/eclipse/jetty/io/WriteFlusher$State;)Z
ifeq 18
17: aload 0
invokevirtual org.eclipse.jetty.io.WriteFlusher.onIncompleteFlush:()V
goto 19
18: StackMap locals:
StackMap stack:
aload 0
aload 3
iconst_0
anewarray java.lang.Throwable
invokevirtual org.eclipse.jetty.io.WriteFlusher.fail:(Lorg/eclipse/jetty/util/Callback;[Ljava/lang/Throwable;)V
19: StackMap locals:
StackMap stack:
return
20: StackMap locals:
StackMap stack:
aload 0
getstatic org.eclipse.jetty.io.WriteFlusher.__COMPLETING:Lorg/eclipse/jetty/io/WriteFlusher$State;
getstatic org.eclipse.jetty.io.WriteFlusher.__IDLE:Lorg/eclipse/jetty/io/WriteFlusher$State;
invokevirtual org.eclipse.jetty.io.WriteFlusher.updateState:(Lorg/eclipse/jetty/io/WriteFlusher$State;Lorg/eclipse/jetty/io/WriteFlusher$State;)Z
ifeq 22
21: aload 3
invokeinterface org.eclipse.jetty.util.Callback.succeeded:()V
goto 30
22: StackMap locals:
StackMap stack:
aload 0
aload 3
iconst_0
anewarray java.lang.Throwable
invokevirtual org.eclipse.jetty.io.WriteFlusher.fail:(Lorg/eclipse/jetty/util/Callback;[Ljava/lang/Throwable;)V
end local 4 23: goto 30
24: StackMap locals: org.eclipse.jetty.io.WriteFlusher org.eclipse.jetty.io.WriteFlusher$State org.eclipse.jetty.io.WriteFlusher$PendingState org.eclipse.jetty.util.Callback
StackMap stack: java.lang.Throwable
astore 4
start local 4 25: getstatic org.eclipse.jetty.io.WriteFlusher.DEBUG:Z
ifeq 27
26: getstatic org.eclipse.jetty.io.WriteFlusher.LOG:Lorg/slf4j/Logger;
ldc "completeWrite exception"
aload 4
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
27: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
getstatic org.eclipse.jetty.io.WriteFlusher.__COMPLETING:Lorg/eclipse/jetty/io/WriteFlusher$State;
new org.eclipse.jetty.io.WriteFlusher$FailedState
dup
aload 4
invokespecial org.eclipse.jetty.io.WriteFlusher$FailedState.<init>:(Ljava/lang/Throwable;)V
invokevirtual org.eclipse.jetty.io.WriteFlusher.updateState:(Lorg/eclipse/jetty/io/WriteFlusher$State;Lorg/eclipse/jetty/io/WriteFlusher$State;)Z
ifeq 29
28: aload 3
aload 4
invokeinterface org.eclipse.jetty.util.Callback.failed:(Ljava/lang/Throwable;)V
goto 30
29: StackMap locals:
StackMap stack:
aload 0
aload 3
iconst_1
anewarray java.lang.Throwable
dup
iconst_0
aload 4
aastore
invokevirtual org.eclipse.jetty.io.WriteFlusher.fail:(Lorg/eclipse/jetty/util/Callback;[Ljava/lang/Throwable;)V
end local 4 30: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/eclipse/jetty/io/WriteFlusher;
3 31 1 previous Lorg/eclipse/jetty/io/WriteFlusher$State;
6 31 2 pending Lorg/eclipse/jetty/io/WriteFlusher$PendingState;
9 31 3 callback Lorg/eclipse/jetty/util/Callback;
10 23 4 buffers [Ljava/nio/ByteBuffer;
25 30 4 e Ljava/lang/Throwable;
Exception table:
from to target type
9 19 24 Class java.lang.Throwable
20 23 24 Class java.lang.Throwable
protected java.nio.ByteBuffer[] flush(java.nio.ByteBuffer[]);
descriptor: ([Ljava/nio/ByteBuffer;)[Ljava/nio/ByteBuffer;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=12, args_size=2
start local 0 start local 1 0: iconst_1
istore 2
start local 2 1: goto 30
2: StackMap locals: int
StackMap stack:
aload 1
invokestatic org.eclipse.jetty.util.BufferUtil.remaining:([Ljava/nio/ByteBuffer;)J
lstore 3
start local 3 3: aload 0
getfield org.eclipse.jetty.io.WriteFlusher._endPoint:Lorg/eclipse/jetty/io/EndPoint;
aload 1
invokeinterface org.eclipse.jetty.io.EndPoint.flush:([Ljava/nio/ByteBuffer;)Z
istore 5
start local 5 4: aload 1
invokestatic org.eclipse.jetty.util.BufferUtil.remaining:([Ljava/nio/ByteBuffer;)J
lstore 6
start local 6 5: lload 3
lload 6
lsub
lstore 8
start local 8 6: getstatic org.eclipse.jetty.io.WriteFlusher.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 8
7: getstatic org.eclipse.jetty.io.WriteFlusher.LOG:Lorg/slf4j/Logger;
ldc "Flushed={} written={} remaining={} {}"
iconst_4
anewarray java.lang.Object
dup
iconst_0
iload 5
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_1
lload 8
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
lload 6
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_3
aload 0
aastore
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
8: StackMap locals: org.eclipse.jetty.io.WriteFlusher java.nio.ByteBuffer[] int long int long long
StackMap stack:
lload 8
lconst_0
lcmp
ifle 12
9: aload 0
getfield org.eclipse.jetty.io.WriteFlusher._endPoint:Lorg/eclipse/jetty/io/EndPoint;
invokeinterface org.eclipse.jetty.io.EndPoint.getConnection:()Lorg/eclipse/jetty/io/Connection;
astore 10
start local 10 10: aload 10
instanceof org.eclipse.jetty.io.WriteFlusher$Listener
ifeq 12
11: aload 10
checkcast org.eclipse.jetty.io.WriteFlusher$Listener
lload 8
invokeinterface org.eclipse.jetty.io.WriteFlusher$Listener.onFlushed:(J)V
end local 10 12: StackMap locals:
StackMap stack:
iload 5
ifeq 14
13: aconst_null
areturn
14: StackMap locals:
StackMap stack:
lload 8
lconst_0
lcmp
ifle 15
iconst_1
goto 16
StackMap locals:
StackMap stack:
15: iconst_0
StackMap locals:
StackMap stack: int
16: istore 2
17: iconst_0
istore 10
start local 10 18: StackMap locals: int
StackMap stack:
iload 10
aload 1
arraylength
if_icmpne 22
19: aconst_null
astore 1
20: iconst_0
istore 10
21: goto 28
22: StackMap locals:
StackMap stack:
aload 1
iload 10
aaload
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 11
start local 11 23: iload 11
ifle 25
24: goto 28
25: StackMap locals: int
StackMap stack:
iinc 10 1
26: iconst_1
istore 2
end local 11 27: goto 18
28: StackMap locals:
StackMap stack:
iload 10
ifle 30
29: aload 1
iload 10
aload 1
arraylength
invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
checkcast java.nio.ByteBuffer[]
astore 1
end local 10 end local 8 end local 6 end local 5 end local 3 30: StackMap locals: org.eclipse.jetty.io.WriteFlusher java.nio.ByteBuffer[] int
StackMap stack:
iload 2
ifeq 31
aload 1
ifnonnull 2
31: StackMap locals:
StackMap stack:
getstatic org.eclipse.jetty.io.WriteFlusher.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 33
32: getstatic org.eclipse.jetty.io.WriteFlusher.LOG:Lorg/slf4j/Logger;
ldc "!fully flushed {}"
aload 0
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
33: StackMap locals:
StackMap stack:
aload 1
ifnonnull 34
getstatic org.eclipse.jetty.io.WriteFlusher.EMPTY_BUFFERS:[Ljava/nio/ByteBuffer;
goto 35
StackMap locals:
StackMap stack:
34: aload 1
StackMap locals:
StackMap stack: java.nio.ByteBuffer[]
35: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lorg/eclipse/jetty/io/WriteFlusher;
0 36 1 buffers [Ljava/nio/ByteBuffer;
1 36 2 progress Z
3 30 3 before J
4 30 5 flushed Z
5 30 6 after J
6 30 8 written J
10 12 10 connection Lorg/eclipse/jetty/io/Connection;
18 30 10 index I
23 27 11 remaining I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buffers
public boolean onFail(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.io.WriteFlusher._state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.eclipse.jetty.io.WriteFlusher$State
astore 2
start local 2 1: invokestatic org.eclipse.jetty.io.WriteFlusher.$SWITCH_TABLE$org$eclipse$jetty$io$WriteFlusher$StateType:()[I
aload 2
invokevirtual org.eclipse.jetty.io.WriteFlusher$State.getType:()Lorg/eclipse/jetty/io/WriteFlusher$StateType;
invokevirtual org.eclipse.jetty.io.WriteFlusher$StateType.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 2
2: 12
3: 6
4: 12
5: 2
default: 16
}
2: StackMap locals: org.eclipse.jetty.io.WriteFlusher$State
StackMap stack:
getstatic org.eclipse.jetty.io.WriteFlusher.DEBUG:Z
ifeq 5
3: getstatic org.eclipse.jetty.io.WriteFlusher.LOG:Lorg/slf4j/Logger;
ldc "ignored: {} {}"
aload 1
aload 0
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
4: getstatic org.eclipse.jetty.io.WriteFlusher.LOG:Lorg/slf4j/Logger;
ldc "IGNORED"
aload 1
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Throwable;)V
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
6: StackMap locals:
StackMap stack:
getstatic org.eclipse.jetty.io.WriteFlusher.DEBUG:Z
ifeq 8
7: getstatic org.eclipse.jetty.io.WriteFlusher.LOG:Lorg/slf4j/Logger;
ldc "failed: {}"
aload 0
aload 1
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
8: StackMap locals:
StackMap stack:
aload 2
checkcast org.eclipse.jetty.io.WriteFlusher$PendingState
astore 3
start local 3 9: aload 0
aload 3
new org.eclipse.jetty.io.WriteFlusher$FailedState
dup
aload 1
invokespecial org.eclipse.jetty.io.WriteFlusher$FailedState.<init>:(Ljava/lang/Throwable;)V
invokevirtual org.eclipse.jetty.io.WriteFlusher.updateState:(Lorg/eclipse/jetty/io/WriteFlusher$State;Lorg/eclipse/jetty/io/WriteFlusher$State;)Z
ifeq 0
10: aload 3
getfield org.eclipse.jetty.io.WriteFlusher$PendingState._callback:Lorg/eclipse/jetty/util/Callback;
aload 1
invokeinterface org.eclipse.jetty.util.Callback.failed:(Ljava/lang/Throwable;)V
11: iconst_1
ireturn
end local 3 12: StackMap locals:
StackMap stack:
getstatic org.eclipse.jetty.io.WriteFlusher.DEBUG:Z
ifeq 14
13: getstatic org.eclipse.jetty.io.WriteFlusher.LOG:Lorg/slf4j/Logger;
ldc "failed: {}"
aload 0
aload 1
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
14: StackMap locals:
StackMap stack:
aload 0
aload 2
new org.eclipse.jetty.io.WriteFlusher$FailedState
dup
aload 1
invokespecial org.eclipse.jetty.io.WriteFlusher$FailedState.<init>:(Ljava/lang/Throwable;)V
invokevirtual org.eclipse.jetty.io.WriteFlusher.updateState:(Lorg/eclipse/jetty/io/WriteFlusher$State;Lorg/eclipse/jetty/io/WriteFlusher$State;)Z
ifeq 0
15: iconst_1
ireturn
16: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/eclipse/jetty/io/WriteFlusher;
0 17 1 cause Ljava/lang/Throwable;
1 17 2 current Lorg/eclipse/jetty/io/WriteFlusher$State;
9 12 3 pending Lorg/eclipse/jetty/io/WriteFlusher$PendingState;
MethodParameters:
Name Flags
cause
public void onClose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: invokestatic org.eclipse.jetty.io.WriteFlusher.$SWITCH_TABLE$org$eclipse$jetty$io$WriteFlusher$StateType:()[I
aload 0
getfield org.eclipse.jetty.io.WriteFlusher._state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.eclipse.jetty.io.WriteFlusher$State
invokevirtual org.eclipse.jetty.io.WriteFlusher$State.getType:()Lorg/eclipse/jetty/io/WriteFlusher$StateType;
invokevirtual org.eclipse.jetty.io.WriteFlusher$StateType.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 1
2: 2
3: 2
4: 2
5: 1
default: 2
}
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
invokevirtual org.eclipse.jetty.io.WriteFlusher.onFail:(Ljava/lang/Throwable;)Z
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jetty/io/WriteFlusher;
boolean isFailed();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic org.eclipse.jetty.io.WriteFlusher$StateType.FAILED:Lorg/eclipse/jetty/io/WriteFlusher$StateType;
invokevirtual org.eclipse.jetty.io.WriteFlusher.isState:(Lorg/eclipse/jetty/io/WriteFlusher$StateType;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/io/WriteFlusher;
boolean isIdle();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic org.eclipse.jetty.io.WriteFlusher$StateType.IDLE:Lorg/eclipse/jetty/io/WriteFlusher$StateType;
invokevirtual org.eclipse.jetty.io.WriteFlusher.isState:(Lorg/eclipse/jetty/io/WriteFlusher$StateType;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/io/WriteFlusher;
public boolean isPending();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic org.eclipse.jetty.io.WriteFlusher$StateType.PENDING:Lorg/eclipse/jetty/io/WriteFlusher$StateType;
invokevirtual org.eclipse.jetty.io.WriteFlusher.isState:(Lorg/eclipse/jetty/io/WriteFlusher$StateType;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/io/WriteFlusher;
private boolean isState(org.eclipse.jetty.io.WriteFlusher$StateType);
descriptor: (Lorg/eclipse/jetty/io/WriteFlusher$StateType;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jetty.io.WriteFlusher._state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.eclipse.jetty.io.WriteFlusher$State
invokevirtual org.eclipse.jetty.io.WriteFlusher$State.getType:()Lorg/eclipse/jetty/io/WriteFlusher$StateType;
aload 1
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/io/WriteFlusher;
0 2 1 type Lorg/eclipse/jetty/io/WriteFlusher$StateType;
MethodParameters:
Name Flags
type
public java.lang.String toStateString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic org.eclipse.jetty.io.WriteFlusher.$SWITCH_TABLE$org$eclipse$jetty$io$WriteFlusher$StateType:()[I
aload 0
getfield org.eclipse.jetty.io.WriteFlusher._state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.eclipse.jetty.io.WriteFlusher$State
invokevirtual org.eclipse.jetty.io.WriteFlusher$State.getType:()Lorg/eclipse/jetty/io/WriteFlusher$StateType;
invokevirtual org.eclipse.jetty.io.WriteFlusher$StateType.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 4
2: 1
3: 2
4: 3
5: 5
default: 6
}
1: StackMap locals:
StackMap stack:
ldc "W"
areturn
2: StackMap locals:
StackMap stack:
ldc "P"
areturn
3: StackMap locals:
StackMap stack:
ldc "C"
areturn
4: StackMap locals:
StackMap stack:
ldc "-"
areturn
5: StackMap locals:
StackMap stack:
ldc "F"
areturn
6: StackMap locals:
StackMap stack:
ldc "?"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jetty/io/WriteFlusher;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.io.WriteFlusher._state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.eclipse.jetty.io.WriteFlusher$State
astore 1
start local 1 1: ldc "WriteFlusher@%x{%s}->%s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual java.lang.Object.hashCode:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 1
instanceof org.eclipse.jetty.io.WriteFlusher$PendingState
ifeq 2
aload 1
checkcast org.eclipse.jetty.io.WriteFlusher$PendingState
getfield org.eclipse.jetty.io.WriteFlusher$PendingState._callback:Lorg/eclipse/jetty/util/Callback;
goto 3
StackMap locals: org.eclipse.jetty.io.WriteFlusher org.eclipse.jetty.io.WriteFlusher$State
StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int
2: aconst_null
StackMap locals: org.eclipse.jetty.io.WriteFlusher org.eclipse.jetty.io.WriteFlusher$State
StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int org.eclipse.jetty.util.Callback
3: aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jetty/io/WriteFlusher;
1 4 1 s Lorg/eclipse/jetty/io/WriteFlusher$State;
static int[] $SWITCH_TABLE$org$eclipse$jetty$io$WriteFlusher$StateType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.eclipse.jetty.io.WriteFlusher.$SWITCH_TABLE$org$eclipse$jetty$io$WriteFlusher$StateType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.eclipse.jetty.io.WriteFlusher$StateType.values:()[Lorg/eclipse/jetty/io/WriteFlusher$StateType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.eclipse.jetty.io.WriteFlusher$StateType.COMPLETING:Lorg/eclipse/jetty/io/WriteFlusher$StateType;
invokevirtual org.eclipse.jetty.io.WriteFlusher$StateType.ordinal:()I
iconst_4
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.io.WriteFlusher$StateType.FAILED:Lorg/eclipse/jetty/io/WriteFlusher$StateType;
invokevirtual org.eclipse.jetty.io.WriteFlusher$StateType.ordinal:()I
iconst_5
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.eclipse.jetty.io.WriteFlusher$StateType.IDLE:Lorg/eclipse/jetty/io/WriteFlusher$StateType;
invokevirtual org.eclipse.jetty.io.WriteFlusher$StateType.ordinal:()I
iconst_1
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.eclipse.jetty.io.WriteFlusher$StateType.PENDING:Lorg/eclipse/jetty/io/WriteFlusher$StateType;
invokevirtual org.eclipse.jetty.io.WriteFlusher$StateType.ordinal:()I
iconst_3
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic org.eclipse.jetty.io.WriteFlusher$StateType.WRITING:Lorg/eclipse/jetty/io/WriteFlusher$StateType;
invokevirtual org.eclipse.jetty.io.WriteFlusher$StateType.ordinal:()I
iconst_2
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
dup
putstatic org.eclipse.jetty.io.WriteFlusher.$SWITCH_TABLE$org$eclipse$jetty$io$WriteFlusher$StateType:[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
}
SourceFile: "WriteFlusher.java"
NestMembers:
org.eclipse.jetty.io.WriteFlusher$CompletingState org.eclipse.jetty.io.WriteFlusher$FailedState org.eclipse.jetty.io.WriteFlusher$IdleState org.eclipse.jetty.io.WriteFlusher$Listener org.eclipse.jetty.io.WriteFlusher$PendingState org.eclipse.jetty.io.WriteFlusher$State org.eclipse.jetty.io.WriteFlusher$StateType org.eclipse.jetty.io.WriteFlusher$WritingState
InnerClasses:
private CompletingState = org.eclipse.jetty.io.WriteFlusher$CompletingState of org.eclipse.jetty.io.WriteFlusher
private FailedState = org.eclipse.jetty.io.WriteFlusher$FailedState of org.eclipse.jetty.io.WriteFlusher
private IdleState = org.eclipse.jetty.io.WriteFlusher$IdleState of org.eclipse.jetty.io.WriteFlusher
public abstract Listener = org.eclipse.jetty.io.WriteFlusher$Listener of org.eclipse.jetty.io.WriteFlusher
private PendingState = org.eclipse.jetty.io.WriteFlusher$PendingState of org.eclipse.jetty.io.WriteFlusher
private State = org.eclipse.jetty.io.WriteFlusher$State of org.eclipse.jetty.io.WriteFlusher
private final StateType = org.eclipse.jetty.io.WriteFlusher$StateType of org.eclipse.jetty.io.WriteFlusher
private WritingState = org.eclipse.jetty.io.WriteFlusher$WritingState of org.eclipse.jetty.io.WriteFlusher
public final InvocationType = org.eclipse.jetty.util.thread.Invocable$InvocationType of org.eclipse.jetty.util.thread.Invocable