public class io.vertx.core.eventbus.impl.MessageProducerImpl<T> implements io.vertx.core.eventbus.MessageProducer<T>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.core.eventbus.impl.MessageProducerImpl
super_class: java.lang.Object
{
public static final java.lang.String ;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "__vertx.credit"
private final io.vertx.core.Vertx vertx;
descriptor: Lio/vertx/core/Vertx;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.core.eventbus.impl.EventBusImpl bus;
descriptor: Lio/vertx/core/eventbus/impl/EventBusImpl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean send;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String address;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Queue<io.vertx.core.eventbus.impl.MessageImpl<T, ?>> pending;
descriptor: Ljava/util/Queue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Queue<Lio/vertx/core/eventbus/impl/MessageImpl<TT;*>;>;
private final io.vertx.core.eventbus.MessageConsumer<java.lang.Integer> creditConsumer;
descriptor: Lio/vertx/core/eventbus/MessageConsumer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lio/vertx/core/eventbus/MessageConsumer<Ljava/lang/Integer;>;
private io.vertx.core.eventbus.DeliveryOptions options;
descriptor: Lio/vertx/core/eventbus/DeliveryOptions;
flags: (0x0002) ACC_PRIVATE
private int maxSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int credits;
descriptor: I
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;>;
public void <init>(io.vertx.core.Vertx, java.lang.String, boolean, io.vertx.core.eventbus.DeliveryOptions);
descriptor: (Lio/vertx/core/Vertx;Ljava/lang/String;ZLio/vertx/core/eventbus/DeliveryOptions;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield io.vertx.core.eventbus.impl.MessageProducerImpl.pending:Ljava/util/Queue;
2: aload 0
sipush 1000
putfield io.vertx.core.eventbus.impl.MessageProducerImpl.maxSize:I
3: aload 0
sipush 1000
putfield io.vertx.core.eventbus.impl.MessageProducerImpl.credits:I
4: aload 0
aload 1
putfield io.vertx.core.eventbus.impl.MessageProducerImpl.vertx:Lio/vertx/core/Vertx;
5: aload 0
aload 1
invokeinterface io.vertx.core.Vertx.eventBus:()Lio/vertx/core/eventbus/EventBus;
checkcast io.vertx.core.eventbus.impl.EventBusImpl
putfield io.vertx.core.eventbus.impl.MessageProducerImpl.bus:Lio/vertx/core/eventbus/impl/EventBusImpl;
6: aload 0
aload 2
putfield io.vertx.core.eventbus.impl.MessageProducerImpl.address:Ljava/lang/String;
7: aload 0
iload 3
putfield io.vertx.core.eventbus.impl.MessageProducerImpl.send:Z
8: aload 0
aload 4
putfield io.vertx.core.eventbus.impl.MessageProducerImpl.options:Lio/vertx/core/eventbus/DeliveryOptions;
9: iload 3
ifeq 14
10: new java.lang.StringBuilder
dup
invokestatic java.util.UUID.randomUUID:()Ljava/util/UUID;
invokevirtual java.util.UUID.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "-credit"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 11: aload 0
aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.bus:Lio/vertx/core/eventbus/impl/EventBusImpl;
aload 5
aload 0
invokedynamic handle(Lio/vertx/core/eventbus/impl/MessageProducerImpl;)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/eventbus/impl/MessageProducerImpl.lambda$0(Lio/vertx/core/eventbus/Message;)V (7)
(Lio/vertx/core/eventbus/Message;)V
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.consumer:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/MessageConsumer;
putfield io.vertx.core.eventbus.impl.MessageProducerImpl.creditConsumer:Lio/vertx/core/eventbus/MessageConsumer;
12: aload 4
ldc "__vertx.credit"
aload 5
invokevirtual io.vertx.core.eventbus.DeliveryOptions.addHeader:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/eventbus/DeliveryOptions;
pop
end local 5 13: goto 15
14: StackMap locals: io.vertx.core.eventbus.impl.MessageProducerImpl io.vertx.core.Vertx java.lang.String int io.vertx.core.eventbus.DeliveryOptions
StackMap stack:
aload 0
aconst_null
putfield io.vertx.core.eventbus.impl.MessageProducerImpl.creditConsumer:Lio/vertx/core/eventbus/MessageConsumer;
15: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lio/vertx/core/eventbus/impl/MessageProducerImpl<TT;>;
0 16 1 vertx Lio/vertx/core/Vertx;
0 16 2 address Ljava/lang/String;
0 16 3 send Z
0 16 4 options Lio/vertx/core/eventbus/DeliveryOptions;
11 13 5 creditAddress Ljava/lang/String;
MethodParameters:
Name Flags
vertx
address
send
options
public synchronized io.vertx.core.eventbus.MessageProducer<T> deliveryOptions(io.vertx.core.eventbus.DeliveryOptions);
descriptor: (Lio/vertx/core/eventbus/DeliveryOptions;)Lio/vertx/core/eventbus/MessageProducer;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.creditConsumer:Lio/vertx/core/eventbus/MessageConsumer;
ifnull 3
1: new io.vertx.core.eventbus.DeliveryOptions
dup
aload 1
invokespecial io.vertx.core.eventbus.DeliveryOptions.<init>:(Lio/vertx/core/eventbus/DeliveryOptions;)V
astore 1
2: aload 1
ldc "__vertx.credit"
aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.options:Lio/vertx/core/eventbus/DeliveryOptions;
invokevirtual io.vertx.core.eventbus.DeliveryOptions.getHeaders:()Lio/vertx/core/MultiMap;
ldc "__vertx.credit"
invokeinterface io.vertx.core.MultiMap.get:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual io.vertx.core.eventbus.DeliveryOptions.addHeader:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/eventbus/DeliveryOptions;
pop
3: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield io.vertx.core.eventbus.impl.MessageProducerImpl.options:Lio/vertx/core/eventbus/DeliveryOptions;
4: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/eventbus/impl/MessageProducerImpl<TT;>;
0 5 1 options Lio/vertx/core/eventbus/DeliveryOptions;
Signature: (Lio/vertx/core/eventbus/DeliveryOptions;)Lio/vertx/core/eventbus/MessageProducer<TT;>;
MethodParameters:
Name Flags
options
public io.vertx.core.eventbus.MessageProducer<T> send(T);
descriptor: (Ljava/lang/Object;)Lio/vertx/core/eventbus/MessageProducer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
aconst_null
invokevirtual io.vertx.core.eventbus.impl.MessageProducerImpl.doSend:(Ljava/lang/Object;Lio/vertx/core/Handler;Lio/vertx/core/Handler;)V
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/eventbus/impl/MessageProducerImpl<TT;>;
0 2 1 message TT;
Signature: (TT;)Lio/vertx/core/eventbus/MessageProducer<TT;>;
MethodParameters:
Name Flags
message
public <R> io.vertx.core.eventbus.MessageProducer<T> send(T, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.eventbus.Message<R>>>);
descriptor: (Ljava/lang/Object;Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/MessageProducer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aconst_null
invokevirtual io.vertx.core.eventbus.impl.MessageProducerImpl.doSend:(Ljava/lang/Object;Lio/vertx/core/Handler;Lio/vertx/core/Handler;)V
1: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/eventbus/impl/MessageProducerImpl<TT;>;
0 2 1 message TT;
0 2 2 replyHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/eventbus/Message<TR;>;>;>;
Signature: <R:Ljava/lang/Object;>(TT;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/eventbus/Message<TR;>;>;>;)Lio/vertx/core/eventbus/MessageProducer<TT;>;
MethodParameters:
Name Flags
message
replyHandler
public io.vertx.core.eventbus.MessageProducer<T> exceptionHandler(io.vertx.core.Handler<java.lang.Throwable>);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/MessageProducer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/eventbus/impl/MessageProducerImpl<TT;>;
0 1 1 handler Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
Signature: (Lio/vertx/core/Handler<Ljava/lang/Throwable;>;)Lio/vertx/core/eventbus/MessageProducer<TT;>;
MethodParameters:
Name Flags
handler
public synchronized io.vertx.core.eventbus.MessageProducer<T> setWriteQueueMaxSize(int);
descriptor: (I)Lio/vertx/core/eventbus/MessageProducer;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.maxSize:I
isub
istore 2
start local 2 1: aload 0
iload 1
putfield io.vertx.core.eventbus.impl.MessageProducerImpl.maxSize:I
2: aload 0
dup
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.credits:I
iload 2
iadd
putfield io.vertx.core.eventbus.impl.MessageProducerImpl.credits:I
3: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/eventbus/impl/MessageProducerImpl<TT;>;
0 4 1 s I
1 4 2 delta I
Signature: (I)Lio/vertx/core/eventbus/MessageProducer<TT;>;
MethodParameters:
Name Flags
s
public synchronized io.vertx.core.eventbus.MessageProducer<T> write(T);
descriptor: (Ljava/lang/Object;)Lio/vertx/core/eventbus/MessageProducer;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual io.vertx.core.eventbus.impl.MessageProducerImpl.write:(Ljava/lang/Object;Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/MessageProducer;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/eventbus/impl/MessageProducerImpl<TT;>;
0 1 1 data TT;
Signature: (TT;)Lio/vertx/core/eventbus/MessageProducer<TT;>;
MethodParameters:
Name Flags
data
public io.vertx.core.eventbus.MessageProducer<T> write(T, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Ljava/lang/Object;Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/MessageProducer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.send:Z
ifeq 3
1: aload 0
aload 1
aconst_null
aload 2
invokevirtual io.vertx.core.eventbus.impl.MessageProducerImpl.doSend:(Ljava/lang/Object;Lio/vertx/core/Handler;Lio/vertx/core/Handler;)V
2: goto 6
3: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.bus:Lio/vertx/core/eventbus/impl/EventBusImpl;
iconst_0
aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.address:Ljava/lang/String;
aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.options:Lio/vertx/core/eventbus/DeliveryOptions;
invokevirtual io.vertx.core.eventbus.DeliveryOptions.getHeaders:()Lio/vertx/core/MultiMap;
aload 1
aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.options:Lio/vertx/core/eventbus/DeliveryOptions;
invokevirtual io.vertx.core.eventbus.DeliveryOptions.getCodecName:()Ljava/lang/String;
aload 2
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.createMessage:(ZLjava/lang/String;Lio/vertx/core/MultiMap;Ljava/lang/Object;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/impl/MessageImpl;
astore 3
start local 3 4: aload 3
aload 2
putfield io.vertx.core.eventbus.impl.MessageImpl.writeHandler:Lio/vertx/core/Handler;
5: aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.bus:Lio/vertx/core/eventbus/impl/EventBusImpl;
aload 3
aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.options:Lio/vertx/core/eventbus/DeliveryOptions;
aconst_null
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.sendOrPubInternal:(Lio/vertx/core/eventbus/impl/MessageImpl;Lio/vertx/core/eventbus/DeliveryOptions;Lio/vertx/core/Handler;)V
end local 3 6: StackMap locals:
StackMap stack:
aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/vertx/core/eventbus/impl/MessageProducerImpl<TT;>;
0 7 1 data TT;
0 7 2 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
4 6 3 msg Lio/vertx/core/eventbus/impl/MessageImpl;
Signature: (TT;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)Lio/vertx/core/eventbus/MessageProducer<TT;>;
MethodParameters:
Name Flags
data
handler
public synchronized boolean writeQueueFull();
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.eventbus.impl.MessageProducerImpl.credits:I
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/eventbus/impl/MessageProducerImpl<TT;>;
public synchronized io.vertx.core.eventbus.MessageProducer<T> drainHandler(io.vertx.core.Handler<java.lang.Void>);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/MessageProducer;
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.eventbus.impl.MessageProducerImpl.drainHandler:Lio/vertx/core/Handler;
1: aload 1
ifnull 3
2: aload 0
invokevirtual io.vertx.core.eventbus.impl.MessageProducerImpl.checkDrained:()V
3: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/eventbus/impl/MessageProducerImpl<TT;>;
0 4 1 handler Lio/vertx/core/Handler<Ljava/lang/Void;>;
Signature: (Lio/vertx/core/Handler<Ljava/lang/Void;>;)Lio/vertx/core/eventbus/MessageProducer<TT;>;
MethodParameters:
Name Flags
handler
private void checkDrained();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.drainHandler:Lio/vertx/core/Handler;
astore 1
start local 1 1: aload 1
ifnull 4
aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.credits:I
aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.maxSize:I
iconst_2
idiv
if_icmplt 4
2: aload 0
aconst_null
putfield io.vertx.core.eventbus.impl.MessageProducerImpl.drainHandler:Lio/vertx/core/Handler;
3: aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.vertx:Lio/vertx/core/Vertx;
aload 1
invokedynamic handle(Lio/vertx/core/Handler;)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/eventbus/impl/MessageProducerImpl.lambda$1(Lio/vertx/core/Handler;Ljava/lang/Void;)V (6)
(Ljava/lang/Void;)V
invokeinterface io.vertx.core.Vertx.runOnContext:(Lio/vertx/core/Handler;)V
4: StackMap locals: io.vertx.core.Handler
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/eventbus/impl/MessageProducerImpl<TT;>;
1 5 1 handler Lio/vertx/core/Handler<Ljava/lang/Void;>;
public java.lang.String address();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.address:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/eventbus/impl/MessageProducerImpl<TT;>;
public void end();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.vertx.core.eventbus.impl.MessageProducerImpl.close:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/eventbus/impl/MessageProducerImpl<TT;>;
public void end(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aconst_null
invokevirtual io.vertx.core.eventbus.impl.MessageProducerImpl.close:(Lio/vertx/core/Handler;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/eventbus/impl/MessageProducerImpl<TT;>;
0 2 1 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
handler
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual io.vertx.core.eventbus.impl.MessageProducerImpl.close:(Lio/vertx/core/Handler;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/eventbus/impl/MessageProducerImpl<TT;>;
public void close(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.creditConsumer:Lio/vertx/core/eventbus/MessageConsumer;
ifnull 3
1: aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.creditConsumer:Lio/vertx/core/eventbus/MessageConsumer;
aload 1
invokeinterface io.vertx.core.eventbus.MessageConsumer.unregister:(Lio/vertx/core/Handler;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.vertx:Lio/vertx/core/Vertx;
aload 1
invokedynamic handle(Lio/vertx/core/Handler;)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/eventbus/impl/MessageProducerImpl.lambda$2(Lio/vertx/core/Handler;Ljava/lang/Void;)V (6)
(Ljava/lang/Void;)V
invokeinterface io.vertx.core.Vertx.runOnContext:(Lio/vertx/core/Handler;)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/eventbus/impl/MessageProducerImpl<TT;>;
0 5 1 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
handler
protected void finalize();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.vertx.core.eventbus.impl.MessageProducerImpl.close:()V
1: aload 0
invokespecial java.lang.Object.finalize:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/eventbus/impl/MessageProducerImpl<TT;>;
Exceptions:
throws java.lang.Throwable
private synchronized <R> void doSend(T, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.eventbus.Message<R>>>, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Ljava/lang/Object;Lio/vertx/core/Handler;Lio/vertx/core/Handler;)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.bus:Lio/vertx/core/eventbus/impl/EventBusImpl;
iconst_1
aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.address:Ljava/lang/String;
aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.options:Lio/vertx/core/eventbus/DeliveryOptions;
invokevirtual io.vertx.core.eventbus.DeliveryOptions.getHeaders:()Lio/vertx/core/MultiMap;
aload 1
aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.options:Lio/vertx/core/eventbus/DeliveryOptions;
invokevirtual io.vertx.core.eventbus.DeliveryOptions.getCodecName:()Ljava/lang/String;
aload 3
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.createMessage:(ZLjava/lang/String;Lio/vertx/core/MultiMap;Ljava/lang/Object;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/impl/MessageImpl;
astore 4
start local 4 1: aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.credits:I
ifle 5
2: aload 0
dup
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.credits:I
iconst_1
isub
putfield io.vertx.core.eventbus.impl.MessageProducerImpl.credits:I
3: aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.bus:Lio/vertx/core/eventbus/impl/EventBusImpl;
aload 4
aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.options:Lio/vertx/core/eventbus/DeliveryOptions;
aload 2
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.sendOrPubInternal:(Lio/vertx/core/eventbus/impl/MessageImpl;Lio/vertx/core/eventbus/DeliveryOptions;Lio/vertx/core/Handler;)V
4: goto 6
5: StackMap locals: io.vertx.core.eventbus.impl.MessageImpl
StackMap stack:
aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.pending:Ljava/util/Queue;
aload 4
invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
pop
6: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/vertx/core/eventbus/impl/MessageProducerImpl<TT;>;
0 7 1 data TT;
0 7 2 replyHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/eventbus/Message<TR;>;>;>;
0 7 3 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
1 7 4 msg Lio/vertx/core/eventbus/impl/MessageImpl;
Signature: <R:Ljava/lang/Object;>(TT;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/eventbus/Message<TR;>;>;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
data
replyHandler
handler
private synchronized void doReceiveCredit(int);
descriptor: (I)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.credits:I
iload 1
iadd
putfield io.vertx.core.eventbus.impl.MessageProducerImpl.credits:I
1: goto 7
2: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.pending:Ljava/util/Queue;
invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
checkcast io.vertx.core.eventbus.impl.MessageImpl
astore 2
start local 2 3: aload 2
ifnonnull 5
4: goto 8
5: StackMap locals: io.vertx.core.eventbus.impl.MessageImpl
StackMap stack:
aload 0
dup
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.credits:I
iconst_1
isub
putfield io.vertx.core.eventbus.impl.MessageProducerImpl.credits:I
6: aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.bus:Lio/vertx/core/eventbus/impl/EventBusImpl;
aload 2
aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.options:Lio/vertx/core/eventbus/DeliveryOptions;
aconst_null
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.sendOrPubInternal:(Lio/vertx/core/eventbus/impl/MessageImpl;Lio/vertx/core/eventbus/DeliveryOptions;Lio/vertx/core/Handler;)V
end local 2 7: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.eventbus.impl.MessageProducerImpl.credits:I
ifgt 2
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.vertx.core.eventbus.impl.MessageProducerImpl.checkDrained:()V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/vertx/core/eventbus/impl/MessageProducerImpl<TT;>;
0 10 1 credit I
3 7 2 msg Lio/vertx/core/eventbus/impl/MessageImpl<TT;*>;
MethodParameters:
Name Flags
credit
public io.vertx.core.streams.WriteStream write(java.lang.Object, io.vertx.core.Handler);
descriptor: (Ljava/lang/Object;Lio/vertx/core/Handler;)Lio/vertx/core/streams/WriteStream;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast java.lang.Object
aload 2
invokevirtual io.vertx.core.eventbus.impl.MessageProducerImpl.write:(Ljava/lang/Object;Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/MessageProducer;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.core.streams.WriteStream write(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lio/vertx/core/streams/WriteStream;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast java.lang.Object
invokevirtual io.vertx.core.eventbus.impl.MessageProducerImpl.write:(Ljava/lang/Object;)Lio/vertx/core/eventbus/MessageProducer;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.core.streams.WriteStream setWriteQueueMaxSize(int);
descriptor: (I)Lio/vertx/core/streams/WriteStream;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
iload 1
invokevirtual io.vertx.core.eventbus.impl.MessageProducerImpl.setWriteQueueMaxSize:(I)Lio/vertx/core/eventbus/MessageProducer;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.core.streams.StreamBase exceptionHandler(io.vertx.core.Handler);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/StreamBase;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual io.vertx.core.eventbus.impl.MessageProducerImpl.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/MessageProducer;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.core.streams.WriteStream exceptionHandler(io.vertx.core.Handler);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/WriteStream;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual io.vertx.core.eventbus.impl.MessageProducerImpl.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/MessageProducer;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.vertx.core.streams.WriteStream drainHandler(io.vertx.core.Handler);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/WriteStream;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual io.vertx.core.eventbus.impl.MessageProducerImpl.drainHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/MessageProducer;
areturn
LocalVariableTable:
Start End Slot Name Signature
private void lambda$0(io.vertx.core.eventbus.Message);
descriptor: (Lio/vertx/core/eventbus/Message;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface io.vertx.core.eventbus.Message.body:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokevirtual io.vertx.core.eventbus.impl.MessageProducerImpl.doReceiveCredit:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/eventbus/impl/MessageProducerImpl<TT;>;
0 2 1 msg Lio/vertx/core/eventbus/Message<Ljava/lang/Integer;>;
private static void lambda$1(io.vertx.core.Handler, java.lang.Void);
descriptor: (Lio/vertx/core/Handler;Ljava/lang/Void;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aconst_null
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 v Ljava/lang/Void;
private static void lambda$2(io.vertx.core.Handler, java.lang.Void);
descriptor: (Lio/vertx/core/Handler;Ljava/lang/Void;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
ifnull 2
1: aload 0
invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 v Ljava/lang/Void;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lio/vertx/core/eventbus/MessageProducer<TT;>;
SourceFile: "MessageProducerImpl.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles