Refine search
final AddressResolver<SocketAddress> resolver = this.resolver.getResolver(eventLoop); if (!resolver.isSupported(remoteAddress) || resolver.isResolved(remoteAddress)) { final Future<SocketAddress> resolveFuture = resolver.resolve(remoteAddress); if (resolveFuture.isDone()) { final Throwable resolveFailureCause = resolveFuture.cause(); } else { doConnect(resolveFuture.getNow(), localAddress, promise);
@Override public void operationComplete(Future<Object> future) throws Exception { synchronized (resolvers) { resolvers.remove(executor); } newResolver.close(); } });
Future<List<InetSocketAddress>> allNodes = sentinelResolver.resolveAll(InetSocketAddress.createUnresolved(client.getAddr().getHostName(), client.getAddr().getPort())); allNodes.addListener(new FutureListener<List<InetSocketAddress>>() { @Override public void operationComplete(Future<List<InetSocketAddress>> future) throws Exception { allNodes.addListener(commonListener);
public void resolveHostname(String hostname, Handler<AsyncResult<InetAddress>> resultHandler) { ContextInternal callback = (ContextInternal) vertx.getOrCreateContext(); io.netty.resolver.AddressResolver<InetSocketAddress> resolver = resolverGroup.getResolver(callback.nettyEventLoop()); io.netty.util.concurrent.Future<InetSocketAddress> fut = resolver.resolve(InetSocketAddress.createUnresolved(hostname, 0)); fut.addListener(a -> { callback.runOnContext(v -> { if (a.isSuccess()) { InetSocketAddress address = fut.getNow(); resultHandler.handle(Future.succeededFuture(address.getAddress())); } else { resultHandler.handle(Future.failedFuture(a.cause())); } }); }); }
private void monitorMasters(final AtomicInteger counter) { for (final Entry<URI, InetSocketAddress> entry : masters.entrySet()) { Future<InetSocketAddress> resolveFuture = resolver.resolve(InetSocketAddress.createUnresolved(entry.getKey().getHost(), entry.getKey().getPort())); resolveFuture.addListener(new FutureListener<InetSocketAddress>() { @Override public void operationComplete(Future<InetSocketAddress> future) throws Exception {
@Override public HttpResponse execute(ClientRequestContext ctx, HttpRequest req) throws Exception { if (!isValidPath(req)) { final IllegalArgumentException cause = new IllegalArgumentException("invalid path: " + req.path()); handleEarlyRequestException(ctx, req, cause); return HttpResponse.ofFailure(cause); } final Endpoint endpoint = ctx.endpoint().resolve(ctx) .withDefaultPort(ctx.sessionProtocol().defaultPort()); final EventLoop eventLoop = ctx.eventLoop(); final DecodedHttpResponse res = new DecodedHttpResponse(eventLoop); if (endpoint.hasIpAddr()) { // IP address has been resolved already. acquireConnectionAndExecute(ctx, endpoint, endpoint.ipAddr(), req, res); } else { // IP address has not been resolved yet. final Future<InetSocketAddress> resolveFuture = addressResolverGroup.getResolver(eventLoop) .resolve(InetSocketAddress.createUnresolved(endpoint.host(), endpoint.port())); if (resolveFuture.isDone()) { finishResolve(ctx, endpoint, resolveFuture, req, res); } else { resolveFuture.addListener( (FutureListener<InetSocketAddress>) future -> finishResolve(ctx, endpoint, future, req, res)); } } return res; }
public DNSMonitor(ConnectionManager connectionManager, RedisClient masterHost, Collection<URI> slaveHosts, long dnsMonitoringInterval, AddressResolverGroup<InetSocketAddress> resolverGroup) { this.resolver = resolverGroup.getResolver(connectionManager.getGroup().next()); masterHost.resolveAddr().syncUninterruptibly(); masters.put(masterHost.getConfig().getAddress(), masterHost.getAddr()); for (URI host : slaveHosts) { Future<InetSocketAddress> resolveFuture = resolver.resolve(InetSocketAddress.createUnresolved(host.getHost(), host.getPort())); resolveFuture.syncUninterruptibly(); slaves.put(host, resolveFuture.getNow()); } this.connectionManager = connectionManager; this.dnsMonitoringInterval = dnsMonitoringInterval; }
public ChannelFuture connect(final EventLoop eventLoop, String host, final int port, CurrentPassport passport) { Class socketChannelClass; if (Server.USE_EPOLL.get()) { socketChannelClass = EpollSocketChannel.class; } else { socketChannelClass = NioSocketChannel.class; } SocketAddress socketAddress = new InetSocketAddress(host, port); final Bootstrap bootstrap = new Bootstrap() .channel(socketChannelClass) .handler(channelInitializer) .group(eventLoop) .attr(CurrentPassport.CHANNEL_ATTR, passport) .option(ChannelOption.CONNECT_TIMEOUT_MILLIS, connPoolConfig.getConnectTimeout()) .option(ChannelOption.SO_KEEPALIVE, connPoolConfig.getTcpKeepAlive()) .option(ChannelOption.TCP_NODELAY, connPoolConfig.getTcpNoDelay()) .option(ChannelOption.SO_SNDBUF, connPoolConfig.getTcpSendBufferSize()) .option(ChannelOption.SO_RCVBUF, connPoolConfig.getTcpReceiveBufferSize()) .option(ChannelOption.WRITE_BUFFER_HIGH_WATER_MARK, connPoolConfig.getNettyWriteBufferHighWaterMark()) .option(ChannelOption.WRITE_BUFFER_LOW_WATER_MARK, connPoolConfig.getNettyWriteBufferLowWaterMark()) .option(ChannelOption.AUTO_READ, connPoolConfig.getNettyAutoRead()) .remoteAddress(socketAddress); ZuulBootstrap zuulBootstrap = new ZuulBootstrap(bootstrap); if (!zuulBootstrap.getResolver(eventLoop).isResolved(socketAddress)) { LOGGER.warn("NettyClientConnectionFactory got an unresolved server address, host: " + host + ", port: " + port); unresolvedDiscoveryHost.increment(); } return bootstrap.connect(); }
public void resolveHostname(String hostname, Handler<AsyncResult<InetAddress>> resultHandler) { ContextInternal callback = (ContextInternal) vertx.getOrCreateContext(); io.netty.resolver.AddressResolver<InetSocketAddress> resolver = resolverGroup.getResolver(callback.nettyEventLoop()); io.netty.util.concurrent.Future<InetSocketAddress> fut = resolver.resolve(InetSocketAddress.createUnresolved(hostname, 0)); fut.addListener(a -> { callback.runOnContext(v -> { if (a.isSuccess()) { InetSocketAddress address = fut.getNow(); resultHandler.handle(Future.succeededFuture(address.getAddress())); } else { resultHandler.handle(Future.failedFuture(a.cause())); } }); }); }
private void monitorMasters(final AtomicInteger counter) { for (final Entry<URI, InetSocketAddress> entry : masters.entrySet()) { Future<InetSocketAddress> resolveFuture = resolver.resolve(InetSocketAddress.createUnresolved(entry.getKey().getHost(), entry.getKey().getPort())); resolveFuture.addListener(new FutureListener<InetSocketAddress>() { @Override public void operationComplete(Future<InetSocketAddress> future) throws Exception {
public DNSMonitor(ConnectionManager connectionManager, RedisClient masterHost, Collection<URI> slaveHosts, long dnsMonitoringInterval, AddressResolverGroup<InetSocketAddress> resolverGroup) { this.resolver = resolverGroup.getResolver(connectionManager.getGroup().next()); masterHost.resolveAddr().syncUninterruptibly(); masters.put(masterHost.getConfig().getAddress(), masterHost.getAddr()); for (URI host : slaveHosts) { Future<InetSocketAddress> resolveFuture = resolver.resolve(InetSocketAddress.createUnresolved(host.getHost(), host.getPort())); resolveFuture.syncUninterruptibly(); slaves.put(host, resolveFuture.getNow()); } this.connectionManager = connectionManager; this.dnsMonitoringInterval = dnsMonitoringInterval; }
public ChannelFuture connect(final EventLoop eventLoop, String host, final int port, CurrentPassport passport) { Class socketChannelClass; if (Server.USE_EPOLL.get()) { socketChannelClass = EpollSocketChannel.class; } else { socketChannelClass = NioSocketChannel.class; } SocketAddress socketAddress = new InetSocketAddress(host, port); final Bootstrap bootstrap = new Bootstrap() .channel(socketChannelClass) .handler(channelInitializer) .group(eventLoop) .attr(CurrentPassport.CHANNEL_ATTR, passport) .option(ChannelOption.CONNECT_TIMEOUT_MILLIS, connPoolConfig.getConnectTimeout()) .option(ChannelOption.SO_KEEPALIVE, connPoolConfig.getTcpKeepAlive()) .option(ChannelOption.TCP_NODELAY, connPoolConfig.getTcpNoDelay()) .option(ChannelOption.SO_SNDBUF, connPoolConfig.getTcpSendBufferSize()) .option(ChannelOption.SO_RCVBUF, connPoolConfig.getTcpReceiveBufferSize()) .option(ChannelOption.WRITE_BUFFER_HIGH_WATER_MARK, connPoolConfig.getNettyWriteBufferHighWaterMark()) .option(ChannelOption.WRITE_BUFFER_LOW_WATER_MARK, connPoolConfig.getNettyWriteBufferLowWaterMark()) .option(ChannelOption.AUTO_READ, connPoolConfig.getNettyAutoRead()) .remoteAddress(socketAddress); ZuulBootstrap zuulBootstrap = new ZuulBootstrap(bootstrap); if (!zuulBootstrap.getResolver(eventLoop).isResolved(socketAddress)) { LOGGER.warn("NettyClientConnectionFactory got an unresolved server address, host: " + host + ", port: " + port); unresolvedDiscoveryHost.increment(); } return bootstrap.connect(); }
final AddressResolver<SocketAddress> resolver = this.resolver.getResolver(eventLoop); if (!resolver.isSupported(remoteAddress) || resolver.isResolved(remoteAddress)) { final Future<SocketAddress> resolveFuture = resolver.resolve(remoteAddress); if (resolveFuture.isDone()) { final Throwable resolveFailureCause = resolveFuture.cause(); } else { doConnect(resolveFuture.getNow(), localAddress, promise);
private void monitorSlaves(final AtomicInteger counter) { for (final Entry<URI, InetSocketAddress> entry : slaves.entrySet()) { Future<InetSocketAddress> resolveFuture = resolver.resolve(InetSocketAddress.createUnresolved(entry.getKey().getHost(), entry.getKey().getPort())); resolveFuture.addListener(new FutureListener<InetSocketAddress>() { @Override public void operationComplete(Future<InetSocketAddress> future) throws Exception {
Future<List<InetSocketAddress>> allNodes = sentinelResolver.resolveAll(InetSocketAddress.createUnresolved(client.getAddr().getHostName(), client.getAddr().getPort())); allNodes.addListener(new FutureListener<List<InetSocketAddress>>() { @Override public void operationComplete(Future<List<InetSocketAddress>> future) throws Exception { allNodes.addListener(commonListener);
public DNSMonitor(ConnectionManager connectionManager, RedisClient masterHost, Collection<URI> slaveHosts, long dnsMonitoringInterval, AddressResolverGroup<InetSocketAddress> resolverGroup) { this.resolver = resolverGroup.getResolver(connectionManager.getGroup().next()); masterHost.resolveAddr().syncUninterruptibly(); masters.put(masterHost.getConfig().getAddress(), masterHost.getAddr()); for (URI host : slaveHosts) { Future<InetSocketAddress> resolveFuture = resolver.resolve(InetSocketAddress.createUnresolved(host.getHost(), host.getPort())); resolveFuture.syncUninterruptibly(); slaves.put(host, resolveFuture.getNow()); } this.connectionManager = connectionManager; this.dnsMonitoringInterval = dnsMonitoringInterval; }
@Override public void operationComplete(Future<Object> future) throws Exception { synchronized (resolvers) { resolvers.remove(executor); } newResolver.close(); } });
public ChannelFuture connect(final EventLoop eventLoop, String host, final int port, CurrentPassport passport) { Class socketChannelClass; if (Server.USE_EPOLL.get()) { socketChannelClass = EpollSocketChannel.class; } else { socketChannelClass = NioSocketChannel.class; } SocketAddress socketAddress = new InetSocketAddress(host, port); final Bootstrap bootstrap = new Bootstrap() .channel(socketChannelClass) .handler(channelInitializer) .group(eventLoop) .attr(CurrentPassport.CHANNEL_ATTR, passport) .option(ChannelOption.CONNECT_TIMEOUT_MILLIS, connPoolConfig.getConnectTimeout()) .option(ChannelOption.SO_KEEPALIVE, connPoolConfig.getTcpKeepAlive()) .option(ChannelOption.TCP_NODELAY, connPoolConfig.getTcpNoDelay()) .option(ChannelOption.SO_SNDBUF, connPoolConfig.getTcpSendBufferSize()) .option(ChannelOption.SO_RCVBUF, connPoolConfig.getTcpReceiveBufferSize()) .option(ChannelOption.WRITE_BUFFER_HIGH_WATER_MARK, connPoolConfig.getNettyWriteBufferHighWaterMark()) .option(ChannelOption.WRITE_BUFFER_LOW_WATER_MARK, connPoolConfig.getNettyWriteBufferLowWaterMark()) .option(ChannelOption.AUTO_READ, connPoolConfig.getNettyAutoRead()) .remoteAddress(socketAddress); ZuulBootstrap zuulBootstrap = new ZuulBootstrap(bootstrap); if (!zuulBootstrap.getResolver(eventLoop).isResolved(socketAddress)) { LOGGER.warn("NettyClientConnectionFactory got an unresolved server address, host: " + host + ", port: " + port); unresolvedDiscoveryHost.increment(); } return bootstrap.connect(); }
final AddressResolver<SocketAddress> resolver = this.resolver.getResolver(eventLoop); if (!resolver.isSupported(remoteAddress) || resolver.isResolved(remoteAddress)) { final Future<SocketAddress> resolveFuture = resolver.resolve(remoteAddress); if (resolveFuture.isDone()) { final Throwable resolveFailureCause = resolveFuture.cause(); } else { doConnect(resolveFuture.getNow(), localAddress, promise);
private void monitorSlaves(final AtomicInteger counter) { for (final Entry<URI, InetSocketAddress> entry : slaves.entrySet()) { Future<InetSocketAddress> resolveFuture = resolver.resolve(InetSocketAddress.createUnresolved(entry.getKey().getHost(), entry.getKey().getPort())); resolveFuture.addListener(new FutureListener<InetSocketAddress>() { @Override public void operationComplete(Future<InetSocketAddress> future) throws Exception {