/*
 * Copyright (c) 2011-2017 Contributors to the Eclipse Foundation
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
 * which is available at https://www.apache.org/licenses/LICENSE-2.0.
 *
 * SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
 */

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;

This interface provides services for vert.x core internal use only It is not part of the public API and should not be used by developers creating vert.x applications
Author:Tim Fox
/** * This interface provides services for vert.x core internal use only * It is not part of the public API and should not be used by * developers creating vert.x applications * * @author <a href="http://tfox.org">Tim Fox</a> */
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();
Get the current context
Returns:the context
/** * Get the current context * @return the context */
ContextInternal getContext();
Returns:event loop context
/** * @return event loop context */
ContextInternal createEventLoopContext(String deploymentID, WorkerPool workerPool, JsonObject config, ClassLoader tccl); ContextInternal createEventLoopContext(EventLoop eventLoop, WorkerPool workerPool, ClassLoader tccl);
Returns:worker loop context
/** * @return worker loop context */
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); /** * Like {@link #executeBlocking(Handler, Handler)} but using the internal worker thread pool. */ <T> void executeBlockingInternal(Handler<Promise<T>> blockingCodeHandler, Handler<AsyncResult<T>> resultHandler); ClusterManager getClusterManager(); HAManager haManager();
Resolve an address (e.g. vertx.io into the first found A (IPv4) or AAAA (IPv6) record.
Params:
  • hostname – the hostname to resolve
  • resultHandler – the result handler
/** * Resolve an address (e.g. {@code vertx.io} into the first found A (IPv4) or AAAA (IPv6) record. * * @param hostname the hostname to resolve * @param resultHandler the result handler */
void resolveAddress(String hostname, Handler<AsyncResult<InetAddress>> resultHandler);
Returns:the address resolver
/** * @return the address resolver */
AddressResolver addressResolver();
Returns:the Netty AddressResolverGroup to use in a Netty Bootstrap
/** * @return the Netty {@code AddressResolverGroup} to use in a Netty {@code Bootstrap} */
AddressResolverGroup<InetSocketAddress> nettyAddressResolverGroup(); BlockedThreadChecker blockedThreadChecker(); void addCloseHook(Closeable hook); void removeCloseHook(Closeable hook); }