public class io.vertx.core.streams.impl.InboundBuffer<E>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.core.streams.impl.InboundBuffer
super_class: java.lang.Object
{
public static final java.lang.Object END_SENTINEL;
descriptor: Ljava/lang/Object;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private final io.vertx.core.impl.ContextInternal context;
descriptor: Lio/vertx/core/impl/ContextInternal;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.ArrayDeque<E> pending;
descriptor: Ljava/util/ArrayDeque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayDeque<TE;>;
private final long highWaterMark;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long demand;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private io.vertx.core.Handler<E> handler;
descriptor: Lio/vertx/core/Handler;
flags: (0x0002) ACC_PRIVATE
Signature: Lio/vertx/core/Handler<TE;>;
private boolean overflow;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private io.vertx.core.Handler<java.lang.Void> drainHandler;
descriptor: Lio/vertx/core/Handler;
flags: (0x0002) ACC_PRIVATE
Signature: Lio/vertx/core/Handler<Ljava/lang/Void;>;
private io.vertx.core.Handler<java.lang.Void> emptyHandler;
descriptor: Lio/vertx/core/Handler;
flags: (0x0002) ACC_PRIVATE
Signature: Lio/vertx/core/Handler<Ljava/lang/Void;>;
private io.vertx.core.Handler<java.lang.Throwable> exceptionHandler;
descriptor: Lio/vertx/core/Handler;
flags: (0x0002) ACC_PRIVATE
Signature: Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
private boolean emitting;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic io.vertx.core.streams.impl.InboundBuffer.END_SENTINEL:Ljava/lang/Object;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(io.vertx.core.Context);
descriptor: (Lio/vertx/core/Context;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc 16
invokespecial io.vertx.core.streams.impl.InboundBuffer.<init>:(Lio/vertx/core/Context;J)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
0 2 1 context Lio/vertx/core/Context;
MethodParameters:
Name Flags
context
public void <init>(io.vertx.core.Context, long);
descriptor: (Lio/vertx/core/Context;J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ifnonnull 3
2: new java.lang.NullPointerException
dup
ldc "context must not be null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: io.vertx.core.streams.impl.InboundBuffer io.vertx.core.Context long
StackMap stack:
lload 2
lconst_0
lcmp
ifge 5
4: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "highWaterMark "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " >= 0"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast io.vertx.core.impl.ContextInternal
putfield io.vertx.core.streams.impl.InboundBuffer.context:Lio/vertx/core/impl/ContextInternal;
6: aload 0
lload 2
putfield io.vertx.core.streams.impl.InboundBuffer.highWaterMark:J
7: aload 0
ldc 9223372036854775807
putfield io.vertx.core.streams.impl.InboundBuffer.demand:J
8: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield io.vertx.core.streams.impl.InboundBuffer.pending:Ljava/util/ArrayDeque;
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
0 10 1 context Lio/vertx/core/Context;
0 10 2 highWaterMark J
MethodParameters:
Name Flags
context
highWaterMark
private void checkThread();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 1
start local 1 1: aload 1
instanceof io.netty.util.concurrent.FastThreadLocalThread
ifne 3
2: new java.lang.IllegalStateException
dup
ldc "This operation must be called from a Vert.x thread"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.lang.Thread
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
1 4 1 thread Ljava/lang/Thread;
public boolean write();
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.vertx.core.streams.impl.InboundBuffer.checkThread:()V
1: aload 0
dup
astore 3
monitorenter
2: aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.demand:J
lconst_0
lcmp
ifeq 3
aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.emitting:Z
ifeq 6
3: StackMap locals: io.vertx.core.streams.impl.InboundBuffer java.lang.Object top io.vertx.core.streams.impl.InboundBuffer
StackMap stack:
aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.pending:Ljava/util/ArrayDeque;
aload 1
invokevirtual java.util.ArrayDeque.add:(Ljava/lang/Object;)Z
pop
4: aload 0
invokevirtual io.vertx.core.streams.impl.InboundBuffer.checkWritable:()Z
aload 3
monitorexit
5: ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.demand:J
ldc 9223372036854775807
lcmp
ifeq 8
7: aload 0
dup
getfield io.vertx.core.streams.impl.InboundBuffer.demand:J
lconst_1
lsub
putfield io.vertx.core.streams.impl.InboundBuffer.demand:J
8: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield io.vertx.core.streams.impl.InboundBuffer.emitting:Z
9: aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.handler:Lio/vertx/core/Handler;
astore 2
start local 2 10: aload 3
monitorexit
11: goto 14
end local 2 StackMap locals:
StackMap stack: java.lang.Throwable
12: aload 3
monitorexit
13: athrow
start local 2 14: StackMap locals: io.vertx.core.streams.impl.InboundBuffer java.lang.Object io.vertx.core.Handler
StackMap stack:
aload 0
aload 2
aload 1
invokevirtual io.vertx.core.streams.impl.InboundBuffer.handleEvent:(Lio/vertx/core/Handler;Ljava/lang/Object;)V
15: aload 0
invokevirtual io.vertx.core.streams.impl.InboundBuffer.emitPending:()Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
0 16 1 element TE;
10 12 2 handler Lio/vertx/core/Handler<TE;>;
14 16 2 handler Lio/vertx/core/Handler<TE;>;
Exception table:
from to target type
2 5 12 any
6 11 12 any
12 13 12 any
Signature: (TE;)Z
MethodParameters:
Name Flags
element
private boolean checkWritable();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.demand:J
ldc 9223372036854775807
lcmp
ifne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.pending:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.size:()I
i2l
aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.demand:J
lsub
lstore 1
start local 1 3: lload 1
aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.highWaterMark:J
lcmp
ifge 4
iconst_1
goto 5
StackMap locals: long
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 3
start local 3 6: aload 0
dup
getfield io.vertx.core.streams.impl.InboundBuffer.overflow:Z
iload 3
ifeq 7
iconst_0
goto 8
StackMap locals: io.vertx.core.streams.impl.InboundBuffer long int
StackMap stack: io.vertx.core.streams.impl.InboundBuffer int
7: iconst_1
StackMap locals: io.vertx.core.streams.impl.InboundBuffer long int
StackMap stack: io.vertx.core.streams.impl.InboundBuffer int int
8: ior
putfield io.vertx.core.streams.impl.InboundBuffer.overflow:Z
9: iload 3
ireturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
3 10 1 actual J
6 10 3 writable Z
public boolean write(java.lang.Iterable<E>);
descriptor: (Ljava/lang/Iterable;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.vertx.core.streams.impl.InboundBuffer.checkThread:()V
1: aload 0
dup
astore 2
monitorenter
2: aload 1
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: io.vertx.core.streams.impl.InboundBuffer java.lang.Iterable io.vertx.core.streams.impl.InboundBuffer top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Object
astore 3
start local 3 4: aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.pending:Ljava/util/ArrayDeque;
aload 3
invokevirtual java.util.ArrayDeque.add:(Ljava/lang/Object;)Z
pop
end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.demand:J
lconst_0
lcmp
ifeq 7
aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.emitting:Z
ifeq 9
7: StackMap locals: io.vertx.core.streams.impl.InboundBuffer java.lang.Iterable io.vertx.core.streams.impl.InboundBuffer
StackMap stack:
aload 0
invokevirtual io.vertx.core.streams.impl.InboundBuffer.checkWritable:()Z
aload 2
monitorexit
8: ireturn
9: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield io.vertx.core.streams.impl.InboundBuffer.emitting:Z
10: aload 2
monitorexit
11: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
12: aload 2
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.vertx.core.streams.impl.InboundBuffer.emitPending:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
0 15 1 elements Ljava/lang/Iterable<TE;>;
4 5 3 element TE;
Exception table:
from to target type
2 8 12 any
9 11 12 any
12 13 12 any
Signature: (Ljava/lang/Iterable<TE;>;)Z
MethodParameters:
Name Flags
elements
private boolean emitPending();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
dup
astore 3
monitorenter
1: aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.pending:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.size:()I
istore 4
start local 4 2: aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.demand:J
lconst_0
lcmp
ifne 12
3: aload 0
iconst_0
putfield io.vertx.core.streams.impl.InboundBuffer.emitting:Z
4: iload 4
i2l
aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.highWaterMark:J
lcmp
ifge 5
iconst_1
goto 6
StackMap locals: io.vertx.core.streams.impl.InboundBuffer top top io.vertx.core.streams.impl.InboundBuffer int
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 5
start local 5 7: aload 0
dup
getfield io.vertx.core.streams.impl.InboundBuffer.overflow:Z
iload 5
ifeq 8
iconst_0
goto 9
StackMap locals: io.vertx.core.streams.impl.InboundBuffer top top io.vertx.core.streams.impl.InboundBuffer int int
StackMap stack: io.vertx.core.streams.impl.InboundBuffer int
8: iconst_1
StackMap locals: io.vertx.core.streams.impl.InboundBuffer top top io.vertx.core.streams.impl.InboundBuffer int int
StackMap stack: io.vertx.core.streams.impl.InboundBuffer int int
9: ior
putfield io.vertx.core.streams.impl.InboundBuffer.overflow:Z
10: iload 5
aload 3
monitorexit
11: ireturn
end local 5 12: StackMap locals:
StackMap stack:
iload 4
ifne 16
13: aload 0
iconst_0
putfield io.vertx.core.streams.impl.InboundBuffer.emitting:Z
14: aload 3
monitorexit
15: iconst_1
ireturn
16: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.demand:J
ldc 9223372036854775807
lcmp
ifeq 18
17: aload 0
dup
getfield io.vertx.core.streams.impl.InboundBuffer.demand:J
lconst_1
lsub
putfield io.vertx.core.streams.impl.InboundBuffer.demand:J
18: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.pending:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.poll:()Ljava/lang/Object;
astore 1
start local 1 19: aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.handler:Lio/vertx/core/Handler;
astore 2
end local 4 start local 2 20: aload 3
monitorexit
21: goto 24
end local 2 end local 1 StackMap locals: io.vertx.core.streams.impl.InboundBuffer top top io.vertx.core.streams.impl.InboundBuffer
StackMap stack: java.lang.Throwable
22: aload 3
monitorexit
23: athrow
start local 1 start local 2 24: StackMap locals: io.vertx.core.streams.impl.InboundBuffer java.lang.Object io.vertx.core.Handler
StackMap stack:
aload 0
aload 2
aload 1
invokevirtual io.vertx.core.streams.impl.InboundBuffer.handleEvent:(Lio/vertx/core/Handler;Ljava/lang/Object;)V
end local 2 end local 1 25: goto 0
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
19 22 1 element TE;
24 25 1 element TE;
20 22 2 h Lio/vertx/core/Handler<TE;>;
24 25 2 h Lio/vertx/core/Handler<TE;>;
2 20 4 size I
7 12 5 writable Z
Exception table:
from to target type
1 11 22 any
12 15 22 any
16 21 22 any
22 23 22 any
private void drain();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: StackMap locals: int
StackMap stack:
aload 0
dup
astore 6
monitorenter
2: aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.pending:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.size:()I
istore 7
start local 7 3: iload 7
ifne 15
4: aload 0
iconst_0
putfield io.vertx.core.streams.impl.InboundBuffer.emitting:Z
5: aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.overflow:Z
ifeq 9
6: aload 0
iconst_0
putfield io.vertx.core.streams.impl.InboundBuffer.overflow:Z
7: aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.drainHandler:Lio/vertx/core/Handler;
astore 2
start local 2 8: goto 10
end local 2 9: StackMap locals: io.vertx.core.streams.impl.InboundBuffer int top top top top io.vertx.core.streams.impl.InboundBuffer int
StackMap stack:
aconst_null
astore 2
start local 2 10: StackMap locals: io.vertx.core.streams.impl.InboundBuffer int io.vertx.core.Handler top top top io.vertx.core.streams.impl.InboundBuffer int
StackMap stack:
iload 1
ifle 11
aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.emptyHandler:Lio/vertx/core/Handler;
goto 12
StackMap locals:
StackMap stack:
11: aconst_null
StackMap locals:
StackMap stack: io.vertx.core.Handler
12: astore 3
start local 3 13: aload 6
monitorexit
14: goto 30
end local 3 end local 2 15: StackMap locals: io.vertx.core.streams.impl.InboundBuffer int top top top top io.vertx.core.streams.impl.InboundBuffer int
StackMap stack:
aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.demand:J
lconst_0
lcmp
ifne 19
16: aload 0
iconst_0
putfield io.vertx.core.streams.impl.InboundBuffer.emitting:Z
17: aload 6
monitorexit
18: return
19: StackMap locals:
StackMap stack:
iinc 1 1
20: aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.demand:J
ldc 9223372036854775807
lcmp
ifeq 22
21: aload 0
dup
getfield io.vertx.core.streams.impl.InboundBuffer.demand:J
lconst_1
lsub
putfield io.vertx.core.streams.impl.InboundBuffer.demand:J
22: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.pending:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.poll:()Ljava/lang/Object;
astore 4
start local 4 23: aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.handler:Lio/vertx/core/Handler;
astore 5
end local 7 start local 5 24: aload 6
monitorexit
25: goto 28
end local 5 end local 4 StackMap locals: io.vertx.core.streams.impl.InboundBuffer int top top top top io.vertx.core.streams.impl.InboundBuffer
StackMap stack: java.lang.Throwable
26: aload 6
monitorexit
27: athrow
start local 4 start local 5 28: StackMap locals: io.vertx.core.streams.impl.InboundBuffer int top top java.lang.Object io.vertx.core.Handler
StackMap stack:
aload 0
aload 5
aload 4
invokevirtual io.vertx.core.streams.impl.InboundBuffer.handleEvent:(Lio/vertx/core/Handler;Ljava/lang/Object;)V
end local 5 end local 4 29: goto 1
start local 2 start local 3 30: StackMap locals: io.vertx.core.streams.impl.InboundBuffer int io.vertx.core.Handler io.vertx.core.Handler
StackMap stack:
aload 2
ifnull 32
31: aload 0
aload 2
aconst_null
invokevirtual io.vertx.core.streams.impl.InboundBuffer.handleEvent:(Lio/vertx/core/Handler;Ljava/lang/Object;)V
32: StackMap locals:
StackMap stack:
aload 3
ifnull 34
33: aload 0
aload 3
aconst_null
invokevirtual io.vertx.core.streams.impl.InboundBuffer.handleEvent:(Lio/vertx/core/Handler;Ljava/lang/Object;)V
34: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
1 35 1 emitted I
8 9 2 drainHandler Lio/vertx/core/Handler<Ljava/lang/Void;>;
10 15 2 drainHandler Lio/vertx/core/Handler<Ljava/lang/Void;>;
30 35 2 drainHandler Lio/vertx/core/Handler<Ljava/lang/Void;>;
13 15 3 emptyHandler Lio/vertx/core/Handler<Ljava/lang/Void;>;
30 35 3 emptyHandler Lio/vertx/core/Handler<Ljava/lang/Void;>;
23 26 4 element TE;
28 29 4 element TE;
24 26 5 handler Lio/vertx/core/Handler<TE;>;
28 29 5 handler Lio/vertx/core/Handler<TE;>;
3 24 7 size I
Exception table:
from to target type
2 14 26 any
15 18 26 any
19 25 26 any
26 27 26 any
private <T> void handleEvent(io.vertx.core.Handler<T>, );
descriptor: (Lio/vertx/core/Handler;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 5
1: aload 1
aload 2
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
2: goto 5
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 3
start local 3 4: aload 0
aload 3
invokevirtual io.vertx.core.streams.impl.InboundBuffer.handleException:(Ljava/lang/Throwable;)V
end local 3 5: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
0 6 1 handler Lio/vertx/core/Handler<TT;>;
0 6 2 element TT;
4 5 3 t Ljava/lang/Throwable;
Exception table:
from to target type
1 2 3 Class java.lang.Throwable
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/Handler<TT;>;TT;)V
MethodParameters:
Name Flags
handler
element
private void handleException(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 3
monitorenter
1: aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.exceptionHandler:Lio/vertx/core/Handler;
dup
astore 2
start local 2 2: ifnonnull 5
3: aload 3
monitorexit
4: return
5: StackMap locals: io.vertx.core.Handler io.vertx.core.streams.impl.InboundBuffer
StackMap stack:
aload 3
monitorexit
6: goto 9
end local 2 StackMap locals: io.vertx.core.streams.impl.InboundBuffer java.lang.Throwable top io.vertx.core.streams.impl.InboundBuffer
StackMap stack: java.lang.Throwable
7: aload 3
monitorexit
8: athrow
start local 2 9: StackMap locals: io.vertx.core.streams.impl.InboundBuffer java.lang.Throwable io.vertx.core.Handler
StackMap stack:
aload 2
aload 1
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
0 11 1 err Ljava/lang/Throwable;
2 7 2 handler Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
9 11 2 handler Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
Exception table:
from to target type
1 4 7 any
5 6 7 any
7 8 7 any
MethodParameters:
Name Flags
err
public boolean fetch(long);
descriptor: (J)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: lload 1
lconst_0
lcmp
ifge 2
1: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
dup
astore 3
monitorenter
3: aload 0
dup
getfield io.vertx.core.streams.impl.InboundBuffer.demand:J
lload 1
ladd
putfield io.vertx.core.streams.impl.InboundBuffer.demand:J
4: aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.demand:J
lconst_0
lcmp
ifge 6
5: aload 0
ldc 9223372036854775807
putfield io.vertx.core.streams.impl.InboundBuffer.demand:J
6: StackMap locals: io.vertx.core.streams.impl.InboundBuffer
StackMap stack:
aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.emitting:Z
ifne 7
aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.pending:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.isEmpty:()Z
ifeq 9
aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.overflow:Z
ifne 9
7: StackMap locals:
StackMap stack:
aload 3
monitorexit
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield io.vertx.core.streams.impl.InboundBuffer.emitting:Z
10: aload 3
monitorexit
11: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
12: aload 3
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.context:Lio/vertx/core/impl/ContextInternal;
aload 0
invokedynamic handle(Lio/vertx/core/streams/impl/InboundBuffer;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/core/streams/impl/InboundBuffer.lambda$0(Ljava/lang/Void;)V (7)
(Ljava/lang/Void;)V
invokeinterface io.vertx.core.impl.ContextInternal.runOnContext:(Lio/vertx/core/Handler;)V
15: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
0 16 1 amount J
Exception table:
from to target type
3 8 12 any
9 11 12 any
12 13 12 any
MethodParameters:
Name Flags
amount
public E read();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.pending:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.poll:()Ljava/lang/Object;
aload 1
monitorexit
2: areturn
3: StackMap locals: io.vertx.core.streams.impl.InboundBuffer io.vertx.core.streams.impl.InboundBuffer
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
Exception table:
from to target type
1 2 3 any
3 4 3 any
Signature: ()TE;
public synchronized io.vertx.core.streams.impl.InboundBuffer<E> clear();
descriptor: ()Lio/vertx/core/streams/impl/InboundBuffer;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.pending:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.clear:()V
1: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
Signature: ()Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
public synchronized io.vertx.core.streams.impl.InboundBuffer<E> pause();
descriptor: ()Lio/vertx/core/streams/impl/InboundBuffer;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
lconst_0
putfield io.vertx.core.streams.impl.InboundBuffer.demand:J
1: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
Signature: ()Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
public boolean resume();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc 9223372036854775807
invokevirtual io.vertx.core.streams.impl.InboundBuffer.fetch:(J)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
public synchronized io.vertx.core.streams.impl.InboundBuffer<E> handler(io.vertx.core.Handler<E>);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/impl/InboundBuffer;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.vertx.core.streams.impl.InboundBuffer.handler:Lio/vertx/core/Handler;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
0 2 1 handler Lio/vertx/core/Handler<TE;>;
Signature: (Lio/vertx/core/Handler<TE;>;)Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
MethodParameters:
Name Flags
handler
public synchronized io.vertx.core.streams.impl.InboundBuffer<E> drainHandler(io.vertx.core.Handler<java.lang.Void>);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/impl/InboundBuffer;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.vertx.core.streams.impl.InboundBuffer.drainHandler:Lio/vertx/core/Handler;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
0 2 1 handler Lio/vertx/core/Handler<Ljava/lang/Void;>;
Signature: (Lio/vertx/core/Handler<Ljava/lang/Void;>;)Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
MethodParameters:
Name Flags
handler
public synchronized io.vertx.core.streams.impl.InboundBuffer<E> emptyHandler(io.vertx.core.Handler<java.lang.Void>);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/impl/InboundBuffer;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.vertx.core.streams.impl.InboundBuffer.emptyHandler:Lio/vertx/core/Handler;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
0 2 1 handler Lio/vertx/core/Handler<Ljava/lang/Void;>;
Signature: (Lio/vertx/core/Handler<Ljava/lang/Void;>;)Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
MethodParameters:
Name Flags
handler
public synchronized io.vertx.core.streams.impl.InboundBuffer<E> exceptionHandler(io.vertx.core.Handler<java.lang.Throwable>);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/impl/InboundBuffer;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.vertx.core.streams.impl.InboundBuffer.exceptionHandler:Lio/vertx/core/Handler;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
0 2 1 handler Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
Signature: (Lio/vertx/core/Handler<Ljava/lang/Throwable;>;)Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
MethodParameters:
Name Flags
handler
public synchronized boolean isEmpty();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.pending:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.isEmpty:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
public synchronized boolean isWritable();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.pending:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.size:()I
i2l
aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.highWaterMark:J
lcmp
ifge 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 Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
public synchronized boolean isPaused();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.demand:J
lconst_0
lcmp
ifne 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 Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
public synchronized int size();
descriptor: ()I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.streams.impl.InboundBuffer.pending:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
private void lambda$0(java.lang.Void);
descriptor: (Ljava/lang/Void;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.vertx.core.streams.impl.InboundBuffer.drain:()V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/streams/impl/InboundBuffer<TE;>;
0 1 1 v Ljava/lang/Void;
}
Signature: <E:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "InboundBuffer.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles