List of usage examples for org.apache.http.concurrent BasicFuture completed
boolean completed
To view the source code for org.apache.http.concurrent BasicFuture completed.
Click Source Link
From source file:com.ok2c.lightmtp.impl.protocol.cmd.SimpleAction.java
@Override public Future<SMTPReply> execute(final ServerState state, final FutureCallback<SMTPReply> callback) { BasicFuture<SMTPReply> future = new BasicFuture<SMTPReply>(callback); future.completed(this.reply); return future; }
From source file:com.ok2c.lightmtp.impl.protocol.cmd.AbstractAction.java
@Override public Future<SMTPReply> execute(final T state, final FutureCallback<SMTPReply> callback) { synchronized (state) { BasicFuture<SMTPReply> future = new BasicFuture<SMTPReply>(callback); future.completed(internalExecute(state)); return future; }//from w w w.j ava 2 s.c o m }
From source file:org.kurento.jsonrpc.internal.ws.PendingRequests.java
public void closeAllPendingRequests() { for (BasicFuture<Response<JsonElement>> responseFuture : pendingRequests.values()) { responseFuture.completed(new Response<JsonElement>(new ResponseError(0, "Conection closed"))); }//from w ww .j a v a 2s.c o m pendingRequests.clear(); }
From source file:com.ok2c.lightmtp.impl.protocol.cmd.AbstractAsyncAction.java
@Override public Future<SMTPReply> execute(final T state, final FutureCallback<SMTPReply> callback) { synchronized (state) { SMTPReply reply = internalValidateState(state); if (reply != null) { BasicFuture<SMTPReply> future = new BasicFuture<SMTPReply>(callback); future.completed(reply); return future; } else {//from w w w. j a v a2 s . c o m return internalAsyncExecute(state, new InternalCallback(state, callback)); } } }
From source file:com.kurento.kmf.jsonrpcconnector.internal.ws.PendingRequests.java
public void handleResponse(Response<JsonElement> response) { BasicFuture<Response<JsonElement>> responseFuture = pendingRequests.remove(response.getId()); if (responseFuture == null) { // TODO It is necessary to do something else? Who is watching this? log.error("Received response with an id not registered as pending request"); } else {// w w w. ja v a 2s . co m responseFuture.completed(response); } }
From source file:org.apache.http.impl.client.cache.CachingHttpAsyncClient.java
@Override public Future<HttpResponse> execute(final HttpHost target, final HttpRequest originalRequest, final HttpContext context, final FutureCallback<HttpResponse> futureCallback) { final BasicFuture<HttpResponse> future = new BasicFuture<HttpResponse>(futureCallback); final HttpRequestWrapper request = HttpRequestWrapper.wrap(originalRequest); final HttpCacheContext clientContext = HttpCacheContext.adapt(context); // default response context setResponseStatus(clientContext, CacheResponseStatus.CACHE_MISS); final String via = generateViaHeader(request); if (clientRequestsOurOptions(request)) { setResponseStatus(clientContext, CacheResponseStatus.CACHE_MODULE_RESPONSE); future.completed(new OptionsHttp11Response()); return future; }/*from w w w . j ava 2 s .c om*/ final HttpResponse fatalErrorResponse = getFatallyNoncompliantResponse(request, clientContext); if (fatalErrorResponse != null) { future.completed(fatalErrorResponse); return future; } try { this.requestCompliance.makeRequestCompliant(request); } catch (final ClientProtocolException e) { future.failed(e); return future; } request.addHeader(HeaderConstants.VIA, via); flushEntriesInvalidatedByRequest(target, request); if (!this.cacheableRequestPolicy.isServableFromCache(request)) { log.debug("Request is not servable from cache"); callBackend(future, target, request, clientContext); return future; } final HttpCacheEntry entry = satisfyFromCache(target, request); if (entry == null) { log.debug("Cache miss"); handleCacheMiss(future, target, request, clientContext); } else { try { handleCacheHit(future, target, request, clientContext, entry); } catch (final IOException e) { future.failed(e); } } return future; }
From source file:org.apache.http.impl.client.cache.CachingHttpAsyncClient.java
private void handleCacheHit(final BasicFuture<HttpResponse> future, final HttpHost target, final HttpRequestWrapper request, final HttpCacheContext clientContext, final HttpCacheEntry entry) throws IOException { recordCacheHit(target, request);//from ww w.ja va2 s.co m final HttpResponse out; final Date now = getCurrentDate(); if (this.suitabilityChecker.canCachedResponseBeUsed(target, request, entry, now)) { log.debug("Cache hit"); out = generateCachedResponse(request, clientContext, entry, now); } else if (!mayCallBackend(request)) { log.debug("Cache entry not suitable but only-if-cached requested"); out = generateGatewayTimeout(clientContext); } else if (validityPolicy.isRevalidatable(entry) && !(entry.getStatusCode() == HttpStatus.SC_NOT_MODIFIED && !suitabilityChecker.isConditional(request))) { log.debug("Revalidating cache entry"); revalidateCacheEntry(future, target, request, clientContext, entry, now); return; } else { log.debug("Cache entry not usable; calling backend"); callBackend(future, target, request, clientContext); return; } clientContext.setAttribute(HttpClientContext.HTTP_ROUTE, new HttpRoute(target)); clientContext.setAttribute(HttpCoreContext.HTTP_TARGET_HOST, target); clientContext.setAttribute(HttpCoreContext.HTTP_REQUEST, request); clientContext.setAttribute(HttpCoreContext.HTTP_RESPONSE, out); clientContext.setAttribute(HttpCoreContext.HTTP_REQ_SENT, Boolean.TRUE); future.completed(out); }
From source file:org.apache.http.impl.client.cache.CachingHttpAsyncClient.java
private void revalidateCacheEntry(final BasicFuture<HttpResponse> future, final HttpHost target, final HttpRequestWrapper request, final HttpCacheContext clientContext, final HttpCacheEntry entry, final Date now) throws ClientProtocolException { try {/*from www.j av a 2s . c om*/ if (this.asynchAsyncRevalidator != null && !staleResponseNotAllowed(request, entry, now) && this.validityPolicy.mayReturnStaleWhileRevalidating(entry, now)) { this.log.debug("Serving stale with asynchronous revalidation"); final HttpResponse resp = this.responseGenerator.generateResponse(request, entry); resp.addHeader(HeaderConstants.WARNING, "110 localhost \"Response is stale\""); this.asynchAsyncRevalidator.revalidateCacheEntry(target, request, clientContext, entry); future.completed(resp); return; } final ChainedFutureCallback<HttpResponse> chainedFutureCallback = new ChainedFutureCallback<HttpResponse>( future) { @Override public void failed(final Exception ex) { if (ex instanceof IOException) { super.completed(handleRevalidationFailure(request, clientContext, entry, now)); } else { super.failed(ex); } } }; final BasicFuture<HttpResponse> compositeFuture = new BasicFuture<HttpResponse>(chainedFutureCallback); revalidateCacheEntry(compositeFuture, target, request, clientContext, entry); } catch (final ProtocolException e) { throw new ClientProtocolException(e); } }
From source file:org.apache.http.impl.client.cache.CachingHttpAsyncClient.java
private void handleCacheMiss(final BasicFuture<HttpResponse> future, final HttpHost target, final HttpRequestWrapper request, final HttpCacheContext clientContext) { recordCacheMiss(target, request);//from ww w. j av a 2s . co m if (!mayCallBackend(request)) { future.completed( new BasicHttpResponse(HttpVersion.HTTP_1_1, HttpStatus.SC_GATEWAY_TIMEOUT, "Gateway Timeout")); return; } final Map<String, Variant> variants = getExistingCacheVariants(target, request); if (variants != null && variants.size() > 0) { negotiateResponseFromVariants(future, target, request, clientContext, variants); return; } callBackend(future, target, request, clientContext); }