class io.vertx.core.eventbus.impl.ReplyHandler extends io.vertx.core.eventbus.impl.HandlerRegistration implements io.vertx.core.Handler
{
private final io.vertx.core.eventbus.impl.EventBusImpl eventBus;
private final io.vertx.core.impl.ContextInternal context;
private final io.vertx.core.Promise result;
private final long timeoutID;
private final long timeout;
private final boolean src;
private final java.lang.String repliedAddress;
java.lang.Object trace;
void <init>(io.vertx.core.eventbus.impl.EventBusImpl, io.vertx.core.impl.ContextInternal, java.lang.String, java.lang.String, boolean, long)
{
io.vertx.core.eventbus.impl.EventBusImpl v;
io.vertx.core.impl.VertxInternal v;
io.vertx.core.impl.future.PromiseInternal v;
io.vertx.core.impl.ContextInternal v;
long v, v;
io.vertx.core.eventbus.impl.ReplyHandler v;
java.lang.String v, v;
boolean v;
v := @this: io.vertx.core.eventbus.impl.ReplyHandler;
v := @parameter: io.vertx.core.eventbus.impl.EventBusImpl;
v := @parameter: io.vertx.core.impl.ContextInternal;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: long;
specialinvoke v.<io.vertx.core.eventbus.impl.HandlerRegistration: void <init>(io.vertx.core.impl.ContextInternal,io.vertx.core.eventbus.impl.EventBusImpl,java.lang.String,boolean)>(v, v, v, v);
v.<io.vertx.core.eventbus.impl.ReplyHandler: io.vertx.core.eventbus.impl.EventBusImpl eventBus> = v;
v.<io.vertx.core.eventbus.impl.ReplyHandler: io.vertx.core.impl.ContextInternal context> = v;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.future.PromiseInternal promise()>();
v.<io.vertx.core.eventbus.impl.ReplyHandler: io.vertx.core.Promise result> = v;
v.<io.vertx.core.eventbus.impl.ReplyHandler: boolean src> = v;
v.<io.vertx.core.eventbus.impl.ReplyHandler: java.lang.String repliedAddress> = v;
v = v.<io.vertx.core.eventbus.impl.EventBusImpl: io.vertx.core.impl.VertxInternal vertx>;
v = interfaceinvoke v.<io.vertx.core.impl.VertxInternal: long setTimer(long,io.vertx.core.Handler)>(v, v);
v.<io.vertx.core.eventbus.impl.ReplyHandler: long timeoutID> = v;
v.<io.vertx.core.eventbus.impl.ReplyHandler: long timeout> = v;
return;
}
private void trace(java.lang.Object, java.lang.Throwable)
{
java.lang.Throwable v;
io.vertx.core.spi.tracing.TagExtractor v;
io.vertx.core.impl.ContextInternal v, v;
io.vertx.core.spi.tracing.VertxTracer v;
io.vertx.core.eventbus.impl.ReplyHandler v;
java.lang.Object v, v;
boolean v;
v := @this: io.vertx.core.eventbus.impl.ReplyHandler;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Throwable;
v = v.<io.vertx.core.eventbus.impl.ReplyHandler: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.spi.tracing.VertxTracer tracer()>();
v = v.<io.vertx.core.eventbus.impl.ReplyHandler: java.lang.Object trace>;
if v == null goto label;
v = v.<io.vertx.core.eventbus.impl.ReplyHandler: boolean src>;
if v == 0 goto label;
if v == null goto label;
v = v.<io.vertx.core.eventbus.impl.ReplyHandler: io.vertx.core.impl.ContextInternal context>;
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, v, v, v, v);
label:
return;
}
io.vertx.core.Future result()
{
io.vertx.core.Future v;
io.vertx.core.Promise v;
io.vertx.core.eventbus.impl.ReplyHandler v;
v := @this: io.vertx.core.eventbus.impl.ReplyHandler;
v = v.<io.vertx.core.eventbus.impl.ReplyHandler: io.vertx.core.Promise result>;
v = interfaceinvoke v.<io.vertx.core.Promise: io.vertx.core.Future future()>();
return v;
}
void fail(io.vertx.core.eventbus.ReplyException)
{
io.vertx.core.eventbus.impl.EventBusImpl v;
io.vertx.core.impl.VertxInternal v;
io.vertx.core.eventbus.impl.ReplyHandler v;
long v;
boolean v;
io.vertx.core.eventbus.ReplyException v;
v := @this: io.vertx.core.eventbus.impl.ReplyHandler;
v := @parameter: io.vertx.core.eventbus.ReplyException;
v = v.<io.vertx.core.eventbus.impl.ReplyHandler: io.vertx.core.eventbus.impl.EventBusImpl eventBus>;
v = v.<io.vertx.core.eventbus.impl.EventBusImpl: io.vertx.core.impl.VertxInternal vertx>;
v = v.<io.vertx.core.eventbus.impl.ReplyHandler: long timeoutID>;
v = interfaceinvoke v.<io.vertx.core.impl.VertxInternal: boolean cancelTimer(long)>(v);
if v == 0 goto label;
virtualinvoke v.<io.vertx.core.eventbus.impl.ReplyHandler: io.vertx.core.Future unregister()>();
specialinvoke v.<io.vertx.core.eventbus.impl.ReplyHandler: void doFail(io.vertx.core.eventbus.ReplyException)>(v);
label:
return;
}
private void doFail(io.vertx.core.eventbus.ReplyException)
{
io.vertx.core.eventbus.impl.EventBusImpl v, v;
io.vertx.core.Promise v;
io.vertx.core.spi.metrics.EventBusMetrics v, v;
io.vertx.core.eventbus.impl.ReplyHandler v;
io.vertx.core.eventbus.ReplyFailure v;
java.lang.String v;
io.vertx.core.eventbus.ReplyException v;
v := @this: io.vertx.core.eventbus.impl.ReplyHandler;
v := @parameter: io.vertx.core.eventbus.ReplyException;
specialinvoke v.<io.vertx.core.eventbus.impl.ReplyHandler: void trace(java.lang.Object,java.lang.Throwable)>(null, v);
v = v.<io.vertx.core.eventbus.impl.ReplyHandler: io.vertx.core.Promise result>;
interfaceinvoke v.<io.vertx.core.Promise: void fail(java.lang.Throwable)>(v);
v = v.<io.vertx.core.eventbus.impl.ReplyHandler: io.vertx.core.eventbus.impl.EventBusImpl eventBus>;
v = v.<io.vertx.core.eventbus.impl.EventBusImpl: io.vertx.core.spi.metrics.EventBusMetrics metrics>;
if v == null goto label;
v = v.<io.vertx.core.eventbus.impl.ReplyHandler: io.vertx.core.eventbus.impl.EventBusImpl eventBus>;
v = v.<io.vertx.core.eventbus.impl.EventBusImpl: io.vertx.core.spi.metrics.EventBusMetrics metrics>;
v = v.<io.vertx.core.eventbus.impl.ReplyHandler: java.lang.String repliedAddress>;
v = virtualinvoke v.<io.vertx.core.eventbus.ReplyException: io.vertx.core.eventbus.ReplyFailure failureType()>();
interfaceinvoke v.<io.vertx.core.spi.metrics.EventBusMetrics: void replyFailure(java.lang.String,io.vertx.core.eventbus.ReplyFailure)>(v, v);
label:
return;
}
public void handle(java.lang.Long)
{
long v;
java.lang.Long v;
io.vertx.core.eventbus.impl.ReplyHandler v;
io.vertx.core.eventbus.ReplyFailure v;
java.lang.String v, v, v;
io.vertx.core.eventbus.ReplyException v;
v := @this: io.vertx.core.eventbus.impl.ReplyHandler;
v := @parameter: java.lang.Long;
virtualinvoke v.<io.vertx.core.eventbus.impl.ReplyHandler: io.vertx.core.Future unregister()>();
v = new io.vertx.core.eventbus.ReplyException;
v = <io.vertx.core.eventbus.ReplyFailure: io.vertx.core.eventbus.ReplyFailure TIMEOUT>;
v = v.<io.vertx.core.eventbus.impl.ReplyHandler: long timeout>;
v = v.<io.vertx.core.eventbus.impl.ReplyHandler: java.lang.String address>;
v = v.<io.vertx.core.eventbus.impl.ReplyHandler: java.lang.String repliedAddress>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long,java.lang.String,java.lang.String)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Timed out after waiting \u0001(ms) for a reply. address: \u, repliedAddress: \u0001");
specialinvoke v.<io.vertx.core.eventbus.ReplyException: void <init>(io.vertx.core.eventbus.ReplyFailure,java.lang.String)>(v, v);
specialinvoke v.<io.vertx.core.eventbus.impl.ReplyHandler: void doFail(io.vertx.core.eventbus.ReplyException)>(v);
return;
}
protected boolean doReceive(io.vertx.core.eventbus.Message)
{
io.vertx.core.eventbus.Message v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.eventbus.impl.ReplyHandler v;
v := @this: io.vertx.core.eventbus.impl.ReplyHandler;
v := @parameter: io.vertx.core.eventbus.Message;
v = v.<io.vertx.core.eventbus.impl.ReplyHandler: io.vertx.core.impl.ContextInternal context>;
virtualinvoke v.<io.vertx.core.eventbus.impl.ReplyHandler: void dispatch(io.vertx.core.Handler,io.vertx.core.eventbus.Message,io.vertx.core.impl.ContextInternal)>(null, v, v);
return 1;
}
void register()
{
java.lang.String v;
io.vertx.core.eventbus.impl.ReplyHandler v;
v := @this: io.vertx.core.eventbus.impl.ReplyHandler;
v = v.<io.vertx.core.eventbus.impl.ReplyHandler: java.lang.String repliedAddress>;
virtualinvoke v.<io.vertx.core.eventbus.impl.ReplyHandler: void register(java.lang.String,boolean,io.vertx.core.Promise)>(v, 1, null);
return;
}
protected void dispatch(io.vertx.core.eventbus.Message, io.vertx.core.impl.ContextInternal, io.vertx.core.Handler)
{
io.vertx.core.eventbus.impl.EventBusImpl v;
io.vertx.core.impl.VertxInternal v;
io.vertx.core.Promise v;
io.vertx.core.eventbus.Message v;
io.vertx.core.impl.ContextInternal v;
long v;
io.vertx.core.eventbus.impl.ReplyHandler v;
java.lang.Object v, v;
io.vertx.core.Handler v;
boolean v, v;
v := @this: io.vertx.core.eventbus.impl.ReplyHandler;
v := @parameter: io.vertx.core.eventbus.Message;
v := @parameter: io.vertx.core.impl.ContextInternal;
v := @parameter: io.vertx.core.Handler;
v = v.<io.vertx.core.eventbus.impl.ReplyHandler: io.vertx.core.eventbus.impl.EventBusImpl eventBus>;
v = v.<io.vertx.core.eventbus.impl.EventBusImpl: io.vertx.core.impl.VertxInternal vertx>;
v = v.<io.vertx.core.eventbus.impl.ReplyHandler: long timeoutID>;
v = interfaceinvoke v.<io.vertx.core.impl.VertxInternal: boolean cancelTimer(long)>(v);
if v == 0 goto label;
virtualinvoke v.<io.vertx.core.eventbus.impl.ReplyHandler: io.vertx.core.Future unregister()>();
v = interfaceinvoke v.<io.vertx.core.eventbus.Message: java.lang.Object body()>();
v = v instanceof io.vertx.core.eventbus.ReplyException;
if v == 0 goto label;
v = interfaceinvoke v.<io.vertx.core.eventbus.Message: java.lang.Object body()>();
specialinvoke v.<io.vertx.core.eventbus.impl.ReplyHandler: void doFail(io.vertx.core.eventbus.ReplyException)>(v);
goto label;
label:
specialinvoke v.<io.vertx.core.eventbus.impl.ReplyHandler: void trace(java.lang.Object,java.lang.Throwable)>(v, null);
v = v.<io.vertx.core.eventbus.impl.ReplyHandler: io.vertx.core.Promise result>;
interfaceinvoke v.<io.vertx.core.Promise: void complete(java.lang.Object)>(v);
label:
return;
}
}