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.HttpClient;
import io.vertx.core.http.HttpClientOptions;
import io.vertx.core.http.impl.HttpServerImpl;
import io.vertx.core.impl.future.PromiseInternal;
import io.vertx.core.net.NetClient;
import io.vertx.core.net.NetClientOptions;
import io.vertx.core.net.impl.NetServerImpl;
import io.vertx.core.net.impl.ServerID;
import io.vertx.core.net.impl.TCPServerBase;
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 {
<T> PromiseInternal<T> promise();
<T> PromiseInternal<T> promise(Handler<AsyncResult<T>> handler);
long maxEventLoopExecTime();
TimeUnit maxEventLoopExecTimeUnit();
@Override
ContextInternal getOrCreateContext();
EventLoopGroup getEventLoopGroup();
EventLoopGroup getAcceptorEventLoopGroup();
ExecutorService getWorkerPool();
Map<ServerID, HttpServerImpl> sharedHttpServers();
Map<ServerID, NetServerImpl> sharedNetServers();
<S extends TCPServerBase> Map<ServerID, S> sharedTCPServers(Class<S> type);
VertxMetrics metricsSPI();
Transport transport();
NetClient createNetClient(NetClientOptions options, CloseFuture closeFuture);
HttpClient createHttpClient(HttpClientOptions options, CloseFuture closeFuture);
ContextInternal getContext();
EventLoopContext createEventLoopContext(Deployment deployment, CloseHooks closeHooks, WorkerPool workerPool, ClassLoader tccl);
EventLoopContext createEventLoopContext(EventLoop eventLoop, WorkerPool workerPool, ClassLoader tccl);
EventLoopContext createEventLoopContext();
WorkerContext createWorkerContext(Deployment deployment, CloseHooks closeHooks, WorkerPool pool, ClassLoader tccl);
WorkerContext createWorkerContext();
@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);
WorkerPool createSharedWorkerPool(String name, int poolSize, long maxExecuteTime, TimeUnit maxExecuteTimeUnit);
void simulateKill();
Deployment getDeployment(String deploymentID);
void failoverCompleteHandler(FailoverCompleteHandler failoverCompleteHandler);
boolean isKilled();
void failDuringFailover(boolean fail);
File resolveFile(String fileName);
<T> void executeBlockingInternal(Handler<Promise<T>> blockingCodeHandler, Handler<AsyncResult<T>> resultHandler);
<T> void executeBlockingInternal(Handler<Promise<T>> blockingCodeHandler, boolean ordered, 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);
}