package io.vertx.core.impl;
import io.netty.channel.EventLoop;
import io.netty.channel.EventLoopGroup;
import io.netty.resolver.AddressResolverGroup;
import io.vertx.core.*;
import io.vertx.core.http.impl.HttpServerImpl;
import io.vertx.core.json.JsonObject;
import io.vertx.core.net.impl.NetServerImpl;
import io.vertx.core.net.impl.ServerID;
import io.vertx.core.net.impl.transport.Transport;
import io.vertx.core.spi.cluster.ClusterManager;
import io.vertx.core.spi.metrics.VertxMetrics;
import java.io.File;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.TimeUnit;
public interface VertxInternal extends Vertx {
long maxEventLoopExecTime();
TimeUnit maxEventLoopExecTimeUnit();
@Override
ContextInternal getOrCreateContext();
EventLoopGroup getEventLoopGroup();
EventLoopGroup getAcceptorEventLoopGroup();
ExecutorService getWorkerPool();
Map<ServerID, HttpServerImpl> sharedHttpServers();
Map<ServerID, NetServerImpl> sharedNetServers();
VertxMetrics metricsSPI();
Transport transport();
ContextInternal getContext();
ContextInternal createEventLoopContext(String deploymentID, WorkerPool workerPool, JsonObject config, ClassLoader tccl);
ContextInternal createEventLoopContext(EventLoop eventLoop, WorkerPool workerPool, ClassLoader tccl);
ContextInternal createWorkerContext(boolean multiThreaded, String deploymentID, WorkerPool pool, JsonObject config, ClassLoader tccl);
@Override
WorkerExecutorInternal createSharedWorkerExecutor(String name);
@Override
WorkerExecutorInternal createSharedWorkerExecutor(String name, int poolSize);
@Override
WorkerExecutorInternal createSharedWorkerExecutor(String name, int poolSize, long maxExecuteTime);
@Override
WorkerExecutorInternal createSharedWorkerExecutor(String name, int poolSize, long maxExecuteTime, TimeUnit maxExecuteTimeUnit);
void simulateKill();
Deployment getDeployment(String deploymentID);
void failoverCompleteHandler(FailoverCompleteHandler failoverCompleteHandler);
boolean isKilled();
void failDuringFailover(boolean fail);
String getNodeID();
File resolveFile(String fileName);
<T> void executeBlockingInternal(Handler<Promise<T>> blockingCodeHandler, Handler<AsyncResult<T>> resultHandler);
ClusterManager getClusterManager();
HAManager haManager();
void resolveAddress(String hostname, Handler<AsyncResult<InetAddress>> resultHandler);
AddressResolver addressResolver();
AddressResolverGroup<InetSocketAddress> nettyAddressResolverGroup();
BlockedThreadChecker blockedThreadChecker();
void addCloseHook(Closeable hook);
void removeCloseHook(Closeable hook);
}