public abstract class io.vertx.core.impl.ContextBase extends java.lang.Object implements io.vertx.core.impl.ContextInternal
{
private static final io.vertx.core.impl.logging.Logger log;
private static final java.lang.String DISABLE_TIMINGS_PROP_NAME;
static final boolean DISABLE_TIMINGS;
private final io.vertx.core.impl.VertxInternal owner;
private final io.vertx.core.json.JsonObject config;
private final io.vertx.core.impl.Deployment deployment;
private final io.vertx.core.impl.CloseFuture closeFuture;
private final java.lang.ClassLoader tccl;
private final io.netty.channel.EventLoop eventLoop;
private java.util.concurrent.ConcurrentMap data;
private java.util.concurrent.ConcurrentMap localData;
private volatile io.vertx.core.Handler exceptionHandler;
final io.vertx.core.impl.TaskQueue internalOrderedTasks;
final io.vertx.core.impl.WorkerPool internalWorkerPool;
final io.vertx.core.impl.WorkerPool workerPool;
final io.vertx.core.impl.TaskQueue orderedTasks;
static void setResultHandler(io.vertx.core.impl.ContextInternal, io.vertx.core.Future, io.vertx.core.Handler)
{
io.vertx.core.impl.ContextInternal v;
io.vertx.core.Handler v, v;
io.vertx.core.Future v;
v := @parameter: io.vertx.core.impl.ContextInternal;
v := @parameter: io.vertx.core.Future;
v := @parameter: io.vertx.core.Handler;
if v == null goto label;
interfaceinvoke v.<io.vertx.core.Future: io.vertx.core.Future onComplete(io.vertx.core.Handler)>(v);
goto label;
label:
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <io.vertx.core.impl.ContextBase$reportException__1505: io.vertx.core.Handler bootstrap$(io.vertx.core.impl.ContextInternal)>(v);
interfaceinvoke v.<io.vertx.core.Future: io.vertx.core.Future onFailure(io.vertx.core.Handler)>(v);
label:
return;
}
protected void <init>(io.vertx.core.impl.VertxInternal, io.netty.channel.EventLoop, io.vertx.core.impl.WorkerPool, io.vertx.core.impl.WorkerPool, io.vertx.core.impl.Deployment, io.vertx.core.impl.CloseFuture, java.lang.ClassLoader)
{
io.vertx.core.impl.VertxInternal v;
io.vertx.core.impl.WorkerPool v, v;
io.netty.channel.EventLoop v;
io.vertx.core.impl.ContextBase v;
io.vertx.core.impl.Deployment v;
io.vertx.core.impl.CloseFuture v;
io.vertx.core.impl.TaskQueue v, v;
io.vertx.core.json.JsonObject v;
java.lang.ClassLoader v;
v := @this: io.vertx.core.impl.ContextBase;
v := @parameter: io.vertx.core.impl.VertxInternal;
v := @parameter: io.netty.channel.EventLoop;
v := @parameter: io.vertx.core.impl.WorkerPool;
v := @parameter: io.vertx.core.impl.WorkerPool;
v := @parameter: io.vertx.core.impl.Deployment;
v := @parameter: io.vertx.core.impl.CloseFuture;
v := @parameter: java.lang.ClassLoader;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<io.vertx.core.impl.ContextBase: io.vertx.core.impl.Deployment deployment> = v;
if v == null goto label;
v = interfaceinvoke v.<io.vertx.core.impl.Deployment: io.vertx.core.json.JsonObject config()>();
goto label;
label:
v = new io.vertx.core.json.JsonObject;
specialinvoke v.<io.vertx.core.json.JsonObject: void <init>()>();
label:
v.<io.vertx.core.impl.ContextBase: io.vertx.core.json.JsonObject config> = v;
v.<io.vertx.core.impl.ContextBase: io.netty.channel.EventLoop eventLoop> = v;
v.<io.vertx.core.impl.ContextBase: java.lang.ClassLoader tccl> = v;
v.<io.vertx.core.impl.ContextBase: io.vertx.core.impl.VertxInternal owner> = v;
v.<io.vertx.core.impl.ContextBase: io.vertx.core.impl.WorkerPool workerPool> = v;
v.<io.vertx.core.impl.ContextBase: io.vertx.core.impl.CloseFuture closeFuture> = v;
v.<io.vertx.core.impl.ContextBase: io.vertx.core.impl.WorkerPool internalWorkerPool> = v;
v = new io.vertx.core.impl.TaskQueue;
specialinvoke v.<io.vertx.core.impl.TaskQueue: void <init>()>();
v.<io.vertx.core.impl.ContextBase: io.vertx.core.impl.TaskQueue orderedTasks> = v;
v = new io.vertx.core.impl.TaskQueue;
specialinvoke v.<io.vertx.core.impl.TaskQueue: void <init>()>();
v.<io.vertx.core.impl.ContextBase: io.vertx.core.impl.TaskQueue internalOrderedTasks> = v;
return;
}
public io.vertx.core.impl.Deployment getDeployment()
{
io.vertx.core.impl.ContextBase v;
io.vertx.core.impl.Deployment v;
v := @this: io.vertx.core.impl.ContextBase;
v = v.<io.vertx.core.impl.ContextBase: io.vertx.core.impl.Deployment deployment>;
return v;
}
public io.vertx.core.impl.CloseFuture closeFuture()
{
io.vertx.core.impl.ContextBase v;
io.vertx.core.impl.CloseFuture v;
v := @this: io.vertx.core.impl.ContextBase;
v = v.<io.vertx.core.impl.ContextBase: io.vertx.core.impl.CloseFuture closeFuture>;
return v;
}
public io.vertx.core.json.JsonObject config()
{
io.vertx.core.json.JsonObject v;
io.vertx.core.impl.ContextBase v;
v := @this: io.vertx.core.impl.ContextBase;
v = v.<io.vertx.core.impl.ContextBase: io.vertx.core.json.JsonObject config>;
return v;
}
public io.netty.channel.EventLoop nettyEventLoop()
{
io.vertx.core.impl.ContextBase v;
io.netty.channel.EventLoop v;
v := @this: io.vertx.core.impl.ContextBase;
v = v.<io.vertx.core.impl.ContextBase: io.netty.channel.EventLoop eventLoop>;
return v;
}
public io.vertx.core.impl.VertxInternal owner()
{
io.vertx.core.impl.ContextBase v;
io.vertx.core.impl.VertxInternal v;
v := @this: io.vertx.core.impl.ContextBase;
v = v.<io.vertx.core.impl.ContextBase: io.vertx.core.impl.VertxInternal owner>;
return v;
}
public io.vertx.core.Future executeBlockingInternal(io.vertx.core.Handler)
{
io.vertx.core.impl.ContextBase v;
io.vertx.core.impl.TaskQueue v;
io.vertx.core.impl.WorkerPool v;
io.vertx.core.Handler v;
io.vertx.core.Future v;
v := @this: io.vertx.core.impl.ContextBase;
v := @parameter: io.vertx.core.Handler;
v = v.<io.vertx.core.impl.ContextBase: io.vertx.core.impl.WorkerPool internalWorkerPool>;
v = v.<io.vertx.core.impl.ContextBase: io.vertx.core.impl.TaskQueue internalOrderedTasks>;
v = staticinvoke <io.vertx.core.impl.ContextBase: io.vertx.core.Future executeBlocking(io.vertx.core.impl.ContextInternal,io.vertx.core.Handler,io.vertx.core.impl.WorkerPool,io.vertx.core.impl.TaskQueue)>(v, v, v, v);
return v;
}
public io.vertx.core.Future executeBlockingInternal(io.vertx.core.Handler, boolean)
{
io.vertx.core.impl.ContextBase v;
io.vertx.core.impl.TaskQueue v;
io.vertx.core.impl.WorkerPool v;
io.vertx.core.Handler v;
io.vertx.core.Future v;
boolean v;
v := @this: io.vertx.core.impl.ContextBase;
v := @parameter: io.vertx.core.Handler;
v := @parameter: boolean;
v = v.<io.vertx.core.impl.ContextBase: io.vertx.core.impl.WorkerPool internalWorkerPool>;
if v == 0 goto label;
v = v.<io.vertx.core.impl.ContextBase: io.vertx.core.impl.TaskQueue internalOrderedTasks>;
goto label;
label:
v = null;
label:
v = staticinvoke <io.vertx.core.impl.ContextBase: io.vertx.core.Future executeBlocking(io.vertx.core.impl.ContextInternal,io.vertx.core.Handler,io.vertx.core.impl.WorkerPool,io.vertx.core.impl.TaskQueue)>(v, v, v, v);
return v;
}
public io.vertx.core.Future executeBlocking(io.vertx.core.Handler, boolean)
{
io.vertx.core.impl.ContextBase v;
io.vertx.core.impl.TaskQueue v;
io.vertx.core.impl.WorkerPool v;
io.vertx.core.Handler v;
io.vertx.core.Future v;
boolean v;
v := @this: io.vertx.core.impl.ContextBase;
v := @parameter: io.vertx.core.Handler;
v := @parameter: boolean;
v = v.<io.vertx.core.impl.ContextBase: io.vertx.core.impl.WorkerPool workerPool>;
if v == 0 goto label;
v = v.<io.vertx.core.impl.ContextBase: io.vertx.core.impl.TaskQueue orderedTasks>;
goto label;
label:
v = null;
label:
v = staticinvoke <io.vertx.core.impl.ContextBase: io.vertx.core.Future executeBlocking(io.vertx.core.impl.ContextInternal,io.vertx.core.Handler,io.vertx.core.impl.WorkerPool,io.vertx.core.impl.TaskQueue)>(v, v, v, v);
return v;
}
public io.vertx.core.Future executeBlocking(io.vertx.core.Handler, io.vertx.core.impl.TaskQueue)
{
io.vertx.core.impl.ContextBase v;
io.vertx.core.impl.TaskQueue v;
io.vertx.core.impl.WorkerPool v;
io.vertx.core.Handler v;
io.vertx.core.Future v;
v := @this: io.vertx.core.impl.ContextBase;
v := @parameter: io.vertx.core.Handler;
v := @parameter: io.vertx.core.impl.TaskQueue;
v = v.<io.vertx.core.impl.ContextBase: io.vertx.core.impl.WorkerPool workerPool>;
v = staticinvoke <io.vertx.core.impl.ContextBase: io.vertx.core.Future executeBlocking(io.vertx.core.impl.ContextInternal,io.vertx.core.Handler,io.vertx.core.impl.WorkerPool,io.vertx.core.impl.TaskQueue)>(v, v, v, v);
return v;
}
static io.vertx.core.Future executeBlocking(io.vertx.core.impl.ContextInternal, io.vertx.core.Handler, io.vertx.core.impl.WorkerPool, io.vertx.core.impl.TaskQueue)
{
io.vertx.core.impl.future.PromiseInternal v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.impl.WorkerPool v;
io.vertx.core.Future v;
java.lang.Runnable v;
io.vertx.core.spi.metrics.PoolMetrics v;
java.util.concurrent.RejectedExecutionException v;
io.vertx.core.impl.TaskQueue v;
java.lang.Object v, v;
io.vertx.core.Handler v;
java.util.concurrent.ExecutorService v;
v := @parameter: io.vertx.core.impl.ContextInternal;
v := @parameter: io.vertx.core.Handler;
v := @parameter: io.vertx.core.impl.WorkerPool;
v := @parameter: io.vertx.core.impl.TaskQueue;
v = virtualinvoke v.<io.vertx.core.impl.WorkerPool: io.vertx.core.spi.metrics.PoolMetrics metrics()>();
if v == null goto label;
v = interfaceinvoke v.<io.vertx.core.spi.metrics.PoolMetrics: java.lang.Object submitted()>();
goto label;
label:
v = null;
label:
v = v;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.future.PromiseInternal promise()>();
v = interfaceinvoke v.<io.vertx.core.Promise: io.vertx.core.Future future()>();
label:
v = staticinvoke <io.vertx.core.impl.ContextBase$lambda_executeBlocking_1__1506: java.lang.Runnable bootstrap$(io.vertx.core.spi.metrics.PoolMetrics,java.lang.Object,io.vertx.core.impl.ContextInternal,io.vertx.core.Promise,io.vertx.core.Handler,io.vertx.core.Future)>(v, v, v, v, v, v);
v = virtualinvoke v.<io.vertx.core.impl.WorkerPool: java.util.concurrent.ExecutorService executor()>();
if v == null goto label;
virtualinvoke v.<io.vertx.core.impl.TaskQueue: void execute(java.lang.Runnable,java.util.concurrent.Executor)>(v, v);
goto label;
label:
interfaceinvoke v.<java.util.concurrent.Executor: void execute(java.lang.Runnable)>(v);
label:
goto label;
label:
v := @caughtexception;
if v == null goto label;
interfaceinvoke v.<io.vertx.core.spi.metrics.PoolMetrics: void rejected(java.lang.Object)>(v);
label:
throw v;
label:
return v;
catch java.util.concurrent.RejectedExecutionException from label to label with label;
}
public io.vertx.core.spi.tracing.VertxTracer tracer()
{
io.vertx.core.spi.tracing.VertxTracer v;
io.vertx.core.impl.ContextBase v;
io.vertx.core.impl.VertxInternal v;
v := @this: io.vertx.core.impl.ContextBase;
v = v.<io.vertx.core.impl.ContextBase: io.vertx.core.impl.VertxInternal owner>;
v = interfaceinvoke v.<io.vertx.core.impl.VertxInternal: io.vertx.core.spi.tracing.VertxTracer tracer()>();
return v;
}
public java.lang.ClassLoader classLoader()
{
io.vertx.core.impl.ContextBase v;
java.lang.ClassLoader v;
v := @this: io.vertx.core.impl.ContextBase;
v = v.<io.vertx.core.impl.ContextBase: java.lang.ClassLoader tccl>;
return v;
}
public io.vertx.core.impl.WorkerPool workerPool()
{
io.vertx.core.impl.ContextBase v;
io.vertx.core.impl.WorkerPool v;
v := @this: io.vertx.core.impl.ContextBase;
v = v.<io.vertx.core.impl.ContextBase: io.vertx.core.impl.WorkerPool workerPool>;
return v;
}
public synchronized java.util.concurrent.ConcurrentMap contextData()
{
io.vertx.core.impl.ContextBase v;
java.util.concurrent.ConcurrentHashMap v;
java.util.concurrent.ConcurrentMap v, v;
v := @this: io.vertx.core.impl.ContextBase;
v = v.<io.vertx.core.impl.ContextBase: java.util.concurrent.ConcurrentMap data>;
if v != null goto label;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<io.vertx.core.impl.ContextBase: java.util.concurrent.ConcurrentMap data> = v;
label:
v = v.<io.vertx.core.impl.ContextBase: java.util.concurrent.ConcurrentMap data>;
return v;
}
public synchronized java.util.concurrent.ConcurrentMap localContextData()
{
io.vertx.core.impl.ContextBase v;
java.util.concurrent.ConcurrentHashMap v;
java.util.concurrent.ConcurrentMap v, v;
v := @this: io.vertx.core.impl.ContextBase;
v = v.<io.vertx.core.impl.ContextBase: java.util.concurrent.ConcurrentMap localData>;
if v != null goto label;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<io.vertx.core.impl.ContextBase: java.util.concurrent.ConcurrentMap localData> = v;
label:
v = v.<io.vertx.core.impl.ContextBase: java.util.concurrent.ConcurrentMap localData>;
return v;
}
public void reportException(java.lang.Throwable)
{
io.vertx.core.impl.logging.Logger v;
java.lang.Throwable v;
io.vertx.core.impl.ContextBase v;
io.vertx.core.impl.VertxInternal v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.impl.ContextBase;
v := @parameter: java.lang.Throwable;
v = v.<io.vertx.core.impl.ContextBase: io.vertx.core.Handler exceptionHandler>;
if v != null goto label;
v = v.<io.vertx.core.impl.ContextBase: io.vertx.core.impl.VertxInternal owner>;
v = interfaceinvoke v.<io.vertx.core.impl.VertxInternal: io.vertx.core.Handler exceptionHandler()>();
label:
if v == null goto label;
interfaceinvoke v.<io.vertx.core.Handler: void handle(java.lang.Object)>(v);
goto label;
label:
v = <io.vertx.core.impl.ContextBase: io.vertx.core.impl.logging.Logger log>;
interfaceinvoke v.<io.vertx.core.impl.logging.Logger: void error(java.lang.Object,java.lang.Throwable)>("Unhandled exception", v);
label:
return;
}
public io.vertx.core.Context exceptionHandler(io.vertx.core.Handler)
{
io.vertx.core.impl.ContextBase v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.impl.ContextBase;
v := @parameter: io.vertx.core.Handler;
v.<io.vertx.core.impl.ContextBase: io.vertx.core.Handler exceptionHandler> = v;
return v;
}
public io.vertx.core.Handler exceptionHandler()
{
io.vertx.core.impl.ContextBase v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.impl.ContextBase;
v = v.<io.vertx.core.impl.ContextBase: io.vertx.core.Handler exceptionHandler>;
return v;
}
public final void runOnContext(io.vertx.core.Handler)
{
io.vertx.core.impl.ContextBase v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.impl.ContextBase;
v := @parameter: io.vertx.core.Handler;
virtualinvoke v.<io.vertx.core.impl.ContextBase: void runOnContext(io.vertx.core.impl.ContextInternal,io.vertx.core.Handler)>(v, v);
return;
}
protected abstract void runOnContext(io.vertx.core.impl.ContextInternal, io.vertx.core.Handler);
public void execute(java.lang.Runnable)
{
io.vertx.core.impl.ContextBase v;
java.lang.Runnable v;
v := @this: io.vertx.core.impl.ContextBase;
v := @parameter: java.lang.Runnable;
virtualinvoke v.<io.vertx.core.impl.ContextBase: void execute(io.vertx.core.impl.ContextInternal,java.lang.Runnable)>(v, v);
return;
}
protected abstract void execute(io.vertx.core.impl.ContextInternal, java.lang.Runnable);
public final void execute(java.lang.Object, io.vertx.core.Handler)
{
java.lang.Object v;
io.vertx.core.impl.ContextBase v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.impl.ContextBase;
v := @parameter: java.lang.Object;
v := @parameter: io.vertx.core.Handler;
virtualinvoke v.<io.vertx.core.impl.ContextBase: void execute(io.vertx.core.impl.ContextInternal,java.lang.Object,io.vertx.core.Handler)>(v, v, v);
return;
}
protected abstract void execute(io.vertx.core.impl.ContextInternal, java.lang.Object, io.vertx.core.Handler);
public void emit(java.lang.Object, io.vertx.core.Handler)
{
java.lang.Object v;
io.vertx.core.impl.ContextBase v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.impl.ContextBase;
v := @parameter: java.lang.Object;
v := @parameter: io.vertx.core.Handler;
virtualinvoke v.<io.vertx.core.impl.ContextBase: void emit(io.vertx.core.impl.ContextInternal,java.lang.Object,io.vertx.core.Handler)>(v, v, v);
return;
}
protected abstract void emit(io.vertx.core.impl.ContextInternal, java.lang.Object, io.vertx.core.Handler);
public io.vertx.core.impl.ContextInternal duplicate()
{
io.vertx.core.impl.ContextBase v;
io.vertx.core.impl.DuplicatedContext v;
v := @this: io.vertx.core.impl.ContextBase;
v = new io.vertx.core.impl.DuplicatedContext;
specialinvoke v.<io.vertx.core.impl.DuplicatedContext: void <init>(io.vertx.core.impl.ContextBase)>(v);
return v;
}
static void <clinit>()
{
io.vertx.core.impl.logging.Logger v;
boolean v;
v = staticinvoke <io.vertx.core.impl.logging.LoggerFactory: io.vertx.core.impl.logging.Logger getLogger(java.lang.Class)>(class "Lio/vertx/core/impl/ContextBase;");
<io.vertx.core.impl.ContextBase: io.vertx.core.impl.logging.Logger log> = v;
v = staticinvoke <java.lang.Boolean: boolean getBoolean(java.lang.String)>("vertx.disableContextTimings");
<io.vertx.core.impl.ContextBase: boolean DISABLE_TIMINGS> = v;
return;
}
}