public class io.vertx.core.eventbus.impl.OutboundDeliveryContext extends io.vertx.core.eventbus.impl.DeliveryContextBase implements io.vertx.core.Handler
{
public final io.vertx.core.impl.ContextInternal ctx;
public final io.vertx.core.eventbus.DeliveryOptions options;
public final io.vertx.core.eventbus.impl.ReplyHandler replyHandler;
private final io.vertx.core.Promise writePromise;
private boolean src;
io.vertx.core.eventbus.impl.EventBusImpl bus;
io.vertx.core.spi.metrics.EventBusMetrics metrics;
void <init>(io.vertx.core.impl.ContextInternal, io.vertx.core.eventbus.impl.MessageImpl, io.vertx.core.eventbus.DeliveryOptions, io.vertx.core.eventbus.impl.ReplyHandler, io.vertx.core.Promise)
{
io.vertx.core.eventbus.impl.EventBusImpl v;
io.vertx.core.eventbus.impl.OutboundDeliveryContext v;
io.vertx.core.eventbus.DeliveryOptions v;
io.vertx.core.Promise v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.Handler[] v;
io.vertx.core.eventbus.impl.ReplyHandler v;
io.vertx.core.eventbus.impl.MessageImpl v;
v := @this: io.vertx.core.eventbus.impl.OutboundDeliveryContext;
v := @parameter: io.vertx.core.impl.ContextInternal;
v := @parameter: io.vertx.core.eventbus.impl.MessageImpl;
v := @parameter: io.vertx.core.eventbus.DeliveryOptions;
v := @parameter: io.vertx.core.eventbus.impl.ReplyHandler;
v := @parameter: io.vertx.core.Promise;
v = v.<io.vertx.core.eventbus.impl.MessageImpl: io.vertx.core.eventbus.impl.EventBusImpl bus>;
v = virtualinvoke v.<io.vertx.core.eventbus.impl.EventBusImpl: io.vertx.core.Handler[] outboundInterceptors()>();
specialinvoke v.<io.vertx.core.eventbus.impl.DeliveryContextBase: void <init>(io.vertx.core.eventbus.impl.MessageImpl,io.vertx.core.Handler[],io.vertx.core.impl.ContextInternal)>(v, v, v);
v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.impl.ContextInternal ctx> = v;
v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.eventbus.DeliveryOptions options> = v;
v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.eventbus.impl.ReplyHandler replyHandler> = v;
v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.Promise writePromise> = v;
return;
}
public void handle(io.vertx.core.AsyncResult)
{
java.lang.Throwable v;
io.vertx.core.eventbus.impl.OutboundDeliveryContext v;
io.vertx.core.AsyncResult v;
v := @this: io.vertx.core.eventbus.impl.OutboundDeliveryContext;
v := @parameter: io.vertx.core.AsyncResult;
v = interfaceinvoke v.<io.vertx.core.AsyncResult: java.lang.Throwable cause()>();
virtualinvoke v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: void written(java.lang.Throwable)>(v);
return;
}
public void written(java.lang.Throwable)
{
io.vertx.core.spi.metrics.EventBusMetrics v, v;
io.vertx.core.eventbus.impl.ReplyHandler v, v, v, v;
boolean v, v, v, v, v, v, v, v, v;
io.vertx.core.eventbus.impl.OutboundDeliveryContext v;
java.lang.Throwable v;
io.vertx.core.impl.ContextInternal v, v;
java.lang.String v;
io.vertx.core.spi.tracing.TagExtractor v;
io.vertx.core.Promise v, v, v;
io.vertx.core.spi.tracing.VertxTracer v;
io.vertx.core.eventbus.impl.MessageImpl v, v, v, v, v, v;
java.lang.Object v, v;
v := @this: io.vertx.core.eventbus.impl.OutboundDeliveryContext;
v := @parameter: java.lang.Throwable;
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.spi.metrics.EventBusMetrics metrics>;
if v == null goto label;
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.eventbus.impl.MessageImpl message>;
v = v instanceof io.vertx.core.eventbus.impl.clustered.ClusteredMessage;
if v == 0 goto label;
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.eventbus.impl.MessageImpl message>;
v = virtualinvoke v.<io.vertx.core.eventbus.impl.clustered.ClusteredMessage: boolean isToWire()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.spi.metrics.EventBusMetrics metrics>;
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.eventbus.impl.MessageImpl message>;
v = virtualinvoke v.<io.vertx.core.eventbus.impl.MessageImpl: java.lang.String address()>();
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.eventbus.impl.MessageImpl message>;
v = v.<io.vertx.core.eventbus.impl.MessageImpl: boolean send>;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
interfaceinvoke v.<io.vertx.core.spi.metrics.EventBusMetrics: void messageSent(java.lang.String,boolean,boolean,boolean)>(v, v, v, v);
label:
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.impl.ContextInternal ctx>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.spi.tracing.VertxTracer tracer()>();
if v == null goto label;
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.eventbus.impl.MessageImpl message>;
v = v.<io.vertx.core.eventbus.impl.MessageImpl: java.lang.Object trace>;
if v == null goto label;
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: boolean src>;
if v == 0 goto label;
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.eventbus.impl.ReplyHandler replyHandler>;
if v == null goto label;
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.eventbus.impl.ReplyHandler replyHandler>;
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.eventbus.impl.MessageImpl message>;
v = v.<io.vertx.core.eventbus.impl.MessageImpl: java.lang.Object trace>;
v.<io.vertx.core.eventbus.impl.ReplyHandler: java.lang.Object trace> = v;
goto label;
label:
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.impl.ContextInternal ctx>;
v = staticinvoke <io.vertx.core.spi.tracing.TagExtractor: io.vertx.core.spi.tracing.TagExtractor empty()>();
interfaceinvoke v.<io.vertx.core.spi.tracing.VertxTracer: void receiveResponse(io.vertx.core.Context,java.lang.Object,java.lang.Object,java.lang.Throwable,io.vertx.core.spi.tracing.TagExtractor)>(v, null, v, v, v);
label:
v = v instanceof io.vertx.core.eventbus.ReplyException;
if v == 0 goto label;
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.eventbus.impl.ReplyHandler replyHandler>;
if v == null goto label;
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.eventbus.impl.ReplyHandler replyHandler>;
virtualinvoke v.<io.vertx.core.eventbus.impl.ReplyHandler: void fail(io.vertx.core.eventbus.ReplyException)>(v);
label:
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.Promise writePromise>;
if v == null goto label;
if v != null goto label;
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.Promise writePromise>;
interfaceinvoke v.<io.vertx.core.Promise: void complete()>();
goto label;
label:
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.Promise writePromise>;
interfaceinvoke v.<io.vertx.core.Promise: void fail(java.lang.Throwable)>(v);
label:
return;
}
protected void execute()
{
io.vertx.core.eventbus.DeliveryOptions v;
io.vertx.core.impl.ContextInternal v, v, v;
io.vertx.core.spi.tracing.SpanKind v;
java.util.function.BiConsumer v;
java.lang.String v;
io.vertx.core.tracing.TracingPolicy v, v;
boolean v;
io.vertx.core.eventbus.impl.EventBusImpl v;
io.vertx.core.eventbus.impl.OutboundDeliveryContext v;
io.vertx.core.spi.tracing.TagExtractor v;
io.vertx.core.spi.tracing.VertxTracer v;
io.vertx.core.eventbus.impl.MessageImpl v, v, v, v, v;
java.lang.Object v, v, v;
io.vertx.core.eventbus.impl.MessageTagExtractor v;
v := @this: io.vertx.core.eventbus.impl.OutboundDeliveryContext;
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.impl.ContextInternal ctx>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.spi.tracing.VertxTracer tracer()>();
if v == null goto label;
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.eventbus.impl.MessageImpl message>;
v = v.<io.vertx.core.eventbus.impl.MessageImpl: java.lang.Object trace>;
if v != null goto label;
v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: boolean src> = 1;
v = staticinvoke <io.vertx.core.eventbus.impl.OutboundDeliveryContext$lambda_execute_0__1421: java.util.function.BiConsumer bootstrap$(io.vertx.core.eventbus.impl.OutboundDeliveryContext)>(v);
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.eventbus.DeliveryOptions options>;
v = virtualinvoke v.<io.vertx.core.eventbus.DeliveryOptions: io.vertx.core.tracing.TracingPolicy getTracingPolicy()>();
if v != null goto label;
v = <io.vertx.core.tracing.TracingPolicy: io.vertx.core.tracing.TracingPolicy PROPAGATE>;
label:
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.eventbus.impl.MessageImpl message>;
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.impl.ContextInternal ctx>;
v = <io.vertx.core.spi.tracing.SpanKind: io.vertx.core.spi.tracing.SpanKind RPC>;
v = v;
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.eventbus.impl.MessageImpl message>;
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.eventbus.impl.MessageImpl message>;
v = v.<io.vertx.core.eventbus.impl.MessageImpl: boolean send>;
if v == 0 goto label;
v = "send";
goto label;
label:
v = "publish";
label:
v = <io.vertx.core.eventbus.impl.MessageTagExtractor: io.vertx.core.eventbus.impl.MessageTagExtractor INSTANCE>;
v = interfaceinvoke v.<io.vertx.core.spi.tracing.VertxTracer: java.lang.Object sendRequest(io.vertx.core.Context,io.vertx.core.spi.tracing.SpanKind,io.vertx.core.tracing.TracingPolicy,java.lang.Object,java.lang.String,java.util.function.BiConsumer,io.vertx.core.spi.tracing.TagExtractor)>(v, v, v, v, v, v, v);
v.<io.vertx.core.eventbus.impl.MessageImpl: java.lang.Object trace> = v;
goto label;
label:
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.impl.ContextInternal ctx>;
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.eventbus.impl.MessageImpl message>;
v = v.<io.vertx.core.eventbus.impl.MessageImpl: java.lang.Object trace>;
v = staticinvoke <io.vertx.core.spi.tracing.TagExtractor: io.vertx.core.spi.tracing.TagExtractor empty()>();
interfaceinvoke v.<io.vertx.core.spi.tracing.VertxTracer: void sendResponse(io.vertx.core.Context,java.lang.Object,java.lang.Object,java.lang.Throwable,io.vertx.core.spi.tracing.TagExtractor)>(v, null, v, null, v);
label:
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.eventbus.impl.EventBusImpl bus>;
virtualinvoke v.<io.vertx.core.eventbus.impl.EventBusImpl: void sendOrPub(io.vertx.core.eventbus.impl.OutboundDeliveryContext)>(v);
return;
}
public boolean send()
{
io.vertx.core.eventbus.impl.OutboundDeliveryContext v;
io.vertx.core.eventbus.impl.MessageImpl v;
boolean v;
v := @this: io.vertx.core.eventbus.impl.OutboundDeliveryContext;
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.eventbus.impl.MessageImpl message>;
v = virtualinvoke v.<io.vertx.core.eventbus.impl.MessageImpl: boolean isSend()>();
return v;
}
public java.lang.Object body()
{
io.vertx.core.eventbus.impl.OutboundDeliveryContext v;
io.vertx.core.eventbus.impl.MessageImpl v;
java.lang.Object v;
v := @this: io.vertx.core.eventbus.impl.OutboundDeliveryContext;
v = v.<io.vertx.core.eventbus.impl.OutboundDeliveryContext: io.vertx.core.eventbus.impl.MessageImpl message>;
v = v.<io.vertx.core.eventbus.impl.MessageImpl: java.lang.Object sentBody>;
return v;
}
}