/** Called for each call. */ public abstract Writable call(RPC.RpcKind rpcKind, String protocol, Writable param, long receiveTime) throws Exception;
@Override public Void run() throws Exception { if (!connection.channel.isOpen()) { Server.LOG.info(Thread.currentThread().getName() + ": skipped " + this); return null; } Writable value = null; ResponseParams responseParams = new ResponseParams(); try { value = call( rpcKind, connection.protocolName, rpcRequest, timestamp); } catch (Throwable e) { populateResponseParamsOnError(e, responseParams); } if (!isResponseDeferred()) { setupResponse(this, responseParams.returnStatus, responseParams.detailedErr, value, responseParams.errorClass, responseParams.error); sendResponse(); } else { if (LOG.isDebugEnabled()) { LOG.debug("Deferring response for callId: " + this.callId); } } return null; }
@Override public Writable run() throws Exception { // make the call return call(call.rpcKind, call.connection.protocolName, call.rpcRequest, call.timestamp); } }
@Override public Writable run() throws Exception { // make the call return call(call.rpcKind, call.connection.protocolName, call.rpcRequest, call.timestamp); } }
@Override public Writable run() throws Exception { // make the call return call(call.connection.protocol, call.param, call.timestamp); } }
@Override public Writable run() throws Exception { // make the call return call(call.rpcKind, call.connection.protocolName, call.rpcRequest, call.timestamp); } }
/** Called for each call. */ public abstract Writable call(RPC.RpcKind rpcKind, String protocol, Writable param, long receiveTime) throws Exception;
/** Called for each call. */ public abstract Writable call(Class<?> protocol, Writable param, long receiveTime) throws IOException;
/** Called for each call. */ public abstract Writable call(RPC.RpcKind rpcKind, String protocol, Writable param, long receiveTime) throws Exception;
/** Called for each call. */ public abstract Writable call(RPC.RpcKind rpcKind, String protocol, Writable param, long receiveTime) throws Exception;
/** Called for each call. */ public abstract Writable call(RPC.RpcKind rpcKind, String protocol, Writable param, long receiveTime) throws Exception;
value = call( rpcKind, connection.protocolName, rpcRequest, timestamp); } catch (Throwable e) {
value = call(call.rpcKind, call.connection.protocolName, call.rpcRequest, call.timestamp); } else {
value = call(call.rpcKind, call.connection.protocolName, call.rpcRequest, call.timestamp); } else {
UserGroupInformation.setCurrentUGI(call.connection.ticket); try { value = call(call.param, call.timestamp); // make the call } catch (Throwable e) { LOG.info(getName()+", call "+call+": error: " + e, e);
value = call(call.rpcKind, call.connection.protocolName, call.rpcRequest, call.timestamp); } else {