@Override public boolean cancel() { synchronized (responseLock) { if (cancelled) { return true; } if (done) { return false; } done = true; cancelled = true; return internalResume(Response.status(Response.Status.SERVICE_UNAVAILABLE).build(), t -> nettyFlush()); } }
@Override public boolean cancel() { synchronized (responseLock) { if (cancelled) { return true; } if (done) { return false; } done = true; cancelled = true; return internalResume(Response.status(Response.Status.SERVICE_UNAVAILABLE).build(), t -> nettyFlush()); } }
@Override public void complete() { synchronized (responseLock) { if (done) return; if (cancelled) return; done = true; nettyFlush(); } }
@Override public void run() { handleTimeout(); } };
protected void handleTimeout() { if (timeoutHandler != null) { timeoutHandler.handleTimeout(this); } if (done) return; resume(new ServiceUnavailableException()); } }
@Override public boolean cancel(Date retryAfter) { synchronized (responseLock) { if (cancelled) return true; if (done) return false; done = true; cancelled = true; return internalResume(Response.status(Response.Status.SERVICE_UNAVAILABLE).header(HttpHeaders.RETRY_AFTER, retryAfter).build(), t -> nettyFlush()); } }
@Override public boolean cancel(int retryAfter) { synchronized (responseLock) { if (cancelled) return true; if (done) return false; done = true; cancelled = true; return internalResume(Response.status(Response.Status.SERVICE_UNAVAILABLE).header(HttpHeaders.RETRY_AFTER, retryAfter).build(), t -> nettyFlush()); } }
@Override public boolean resume(Object entity) { synchronized (responseLock) { if (done) return false; if (cancelled) return false; done = true; return internalResume(entity, t -> nettyFlush()); } }
NettyExecutionContext(NettyHttpRequest request, NettyHttpResponse response, SynchronousDispatcher dispatcher) { super(dispatcher, request, response); this.request = request; this.response = response; this.asyncResponse = new NettyHttpAsyncResponse(dispatcher, request, response); }
@Override public boolean resume(Throwable ex) { synchronized (responseLock) { if (done) return false; if (cancelled) return false; done = true; return internalResume(ex, t -> nettyFlush()); } }
@Override public void run() { handleTimeout(); } };
@Override public boolean cancel(Date retryAfter) { synchronized (responseLock) { if (cancelled) return true; if (done) return false; done = true; cancelled = true; return internalResume(Response.status(Response.Status.SERVICE_UNAVAILABLE).header(HttpHeaders.RETRY_AFTER, retryAfter).build(), t -> nettyFlush()); } }
@Override public boolean cancel(int retryAfter) { synchronized (responseLock) { if (cancelled) return true; if (done) return false; done = true; cancelled = true; return internalResume(Response.status(Response.Status.SERVICE_UNAVAILABLE).header(HttpHeaders.RETRY_AFTER, retryAfter).build(), t -> nettyFlush()); } }
@Override public void complete() { synchronized (responseLock) { if (done) return; if (cancelled) return; done = true; nettyFlush(); } }
NettyExecutionContext(final NettyHttpRequest request, final NettyHttpResponse response, final SynchronousDispatcher dispatcher) { super(dispatcher, request, response); this.request = request; this.response = response; this.asyncResponse = new NettyHttpAsyncResponse(dispatcher, request, response); }
protected void handleTimeout() { if (timeoutHandler != null) { timeoutHandler.handleTimeout(this); } if (done) return; resume(new ServiceUnavailableException()); } }
@Override public boolean resume(Throwable ex) { synchronized (responseLock) { if (done) return false; if (cancelled) return false; done = true; return internalResume(ex, t -> nettyFlush()); } }
@Override public boolean resume(Object entity) { synchronized (responseLock) { if (done) return false; if (cancelled) return false; done = true; return internalResume(entity, t -> nettyFlush()); } }