@Override public String executor() { return innerHandler.executor(); } }
@Override public String executor() { return handler.executor(); }
@Override public String executor() { return delegate.executor(); }
private void handleException(final TransportResponseHandler handler, Throwable error) { if (!(error instanceof RemoteTransportException)) { error = new RemoteTransportException(error.getMessage(), error); } final RemoteTransportException rtx = (RemoteTransportException) error; threadPool.executor(handler.executor()).execute(() -> { try { handler.handleException(rtx); } catch (Exception e) { logger.error(() -> new ParameterizedMessage("failed to handle exception response [{}]", handler), e); } }); }
@Override public void sendResponse(Exception exception) throws IOException { service.onResponseSent(requestId, action, exception); final TransportResponseHandler handler = service.responseHandlers.onResponseReceived(requestId, service); // ignore if its null, the service logs it if (handler != null) { final RemoteTransportException rtx = wrapInRemote(exception); final String executor = handler.executor(); if (ThreadPool.Names.SAME.equals(executor)) { processException(handler, rtx); } else { threadPool.executor(handler.executor()).execute(new Runnable() { @Override public void run() { processException(handler, rtx); } @Override public String toString() { return "delivery of failure response to [" + requestId + "][" + action + "]: " + exception; } }); } } }
@Override public void sendResponse(TransportResponse response) throws IOException { service.onResponseSent(requestId, action, response); final TransportResponseHandler handler = service.responseHandlers.onResponseReceived(requestId, service); // ignore if its null, the service logs it if (handler != null) { final String executor = handler.executor(); if (ThreadPool.Names.SAME.equals(executor)) { processResponse(handler, response); } else { threadPool.executor(executor).execute(new Runnable() { @Override public void run() { processResponse(handler, response); } @Override public String toString() { return "delivery of response to [" + requestId + "][" + action + "]: " + response; } }); } } }
private <T extends TransportResponse> void handleResponse(InetSocketAddress remoteAddress, final StreamInput stream, final TransportResponseHandler<T> handler) { final T response; try { response = handler.read(stream); response.remoteAddress(new TransportAddress(remoteAddress)); } catch (Exception e) { handleException(handler, new TransportSerializationException( "Failed to deserialize response from handler [" + handler.getClass().getName() + "]", e)); return; } threadPool.executor(handler.executor()).execute(new AbstractRunnable() { @Override public void onFailure(Exception e) { handleException(handler, new ResponseHandlerFailureTransportException(e)); } @Override protected void doRun() throws Exception { handler.handleResponse(response); } }); }
@Override public String executor() { return innerHandler.executor(); } }
@Override public String executor() { return handler.executor(); }
@Override public String executor() { return handler.executor(); }
@Override public String executor() { return handler.executor(); }
@Override public String executor() { return delegate.executor(); }
@Override public String executor() { return delegate.executor(); }
@Override public String executor() { return handler.executor(); }
@Override public String executor() { return delegate.executor(); }
protected void handleParsedResponse(final TransportResponse response, final TransportResponseHandler handler) { threadPool.executor(handler.executor()).execute(new Runnable() { @SuppressWarnings({"unchecked"}) @Override public void run() { try { handler.handleResponse(response); } catch (Throwable e) { handleException(handler, new ResponseHandlerFailureTransportException(e)); } } }); }
private void handleException(final TransportResponseHandler handler, Throwable error) { if (!(error instanceof RemoteTransportException)) { error = new RemoteTransportException(error.getMessage(), error); } final RemoteTransportException rtx = (RemoteTransportException) error; threadPool.executor(handler.executor()).execute(() -> { try { handler.handleException(rtx); } catch (Exception e) { logger.error((Supplier<?>) () -> new ParameterizedMessage("failed to handle exception response [{}]", handler), e); } }); }
private void handleException(final TransportResponseHandler handler, Throwable error) { if (!(error instanceof RemoteTransportException)) { error = new RemoteTransportException(error.getMessage(), error); } final RemoteTransportException rtx = (RemoteTransportException) error; threadPool.executor(handler.executor()).execute(() -> { try { handler.handleException(rtx); } catch (Exception e) { logger.error(() -> new ParameterizedMessage("failed to handle exception response [{}]", handler), e); } }); }
protected void handleParsedResponse(final TransportResponse response, final TransportResponseHandler handler) { threadPool.executor(handler.executor()).execute(() -> { try { handler.handleResponse(response); } catch (Exception e) { handleException(handler, new ResponseHandlerFailureTransportException(e)); } }); }
@Override public void sendResponse(final TransportResponse response, TransportResponseOptions options) throws IOException { adapter.onResponseSent(requestId, action, response, options); final TransportResponseHandler handler = adapter.onResponseReceived(requestId); // ignore if its null, the adapter logs it if (handler != null) { final String executor = handler.executor(); if (ThreadPool.Names.SAME.equals(executor)) { processResponse(handler, response); } else { threadPool.executor(executor).execute(() -> processResponse(handler, response)); } } }