List of usage examples for io.netty.util.concurrent Promise trySuccess
boolean trySuccess(V result);
From source file:org.asynchttpclient.resolver.RequestHostnameResolver.java
License:Open Source License
public Future<List<InetSocketAddress>> resolve(Request request, ProxyServer proxy, AsyncHandler<?> asyncHandler) { Uri uri = request.getUri();//from ww w .j a v a 2 s.co m final Promise<List<InetSocketAddress>> promise = ImmediateEventExecutor.INSTANCE.newPromise(); if (request.getAddress() != null) { List<InetSocketAddress> resolved = Collections .singletonList(new InetSocketAddress(request.getAddress(), uri.getExplicitPort())); return promise.setSuccess(resolved); } // don't notify on explicit address final AsyncHandlerExtensions asyncHandlerExtensions = request.getAddress() == null ? toAsyncHandlerExtensions(asyncHandler) : null; final String name; final int port; if (proxy != null && !proxy.isIgnoredForHost(uri.getHost())) { name = proxy.getHost(); port = uri.isSecured() ? proxy.getSecuredPort() : proxy.getPort(); } else { name = uri.getHost(); port = uri.getExplicitPort(); } if (asyncHandlerExtensions != null) asyncHandlerExtensions.onHostnameResolutionAttempt(name); final Future<List<InetAddress>> whenResolved = request.getNameResolver().resolveAll(name); whenResolved.addListener(new SimpleFutureListener<List<InetAddress>>() { @Override protected void onSuccess(List<InetAddress> value) throws Exception { ArrayList<InetSocketAddress> socketAddresses = new ArrayList<>(value.size()); for (InetAddress a : value) { socketAddresses.add(new InetSocketAddress(a, port)); } if (asyncHandlerExtensions != null) { asyncHandlerExtensions.onHostnameResolutionSuccess(name, socketAddresses); } promise.trySuccess(socketAddresses); } @Override protected void onFailure(Throwable t) throws Exception { if (asyncHandlerExtensions != null) { asyncHandlerExtensions.onHostnameResolutionFailure(name, t); } promise.tryFailure(t); } }); return promise; }
From source file:org.redisson.misc.ConnectionPool.java
License:Apache License
private void promiseSuccessful(ClientConnectionsEntry entry, Promise<T> promise, T conn) { entry.resetFailedAttempts();//from ww w . ja v a 2 s . com if (!promise.trySuccess(conn)) { releaseConnection(entry, conn); releaseConnection(entry); } }