MCPcopy Create free account
hub / github.com/e2wugui/zeze / sendForWaitHandle

Method sendForWaitHandle

ZezeJava/ZezeJava/src/main/java/Zeze/Raft/Agent.java:160–183  ·  view source on GitHub ↗
(Rpc<TArgument, TResult> p, RaftRpc<TArgument, TResult> rpc)

Source from the content-addressed store, hash-verified

158 }
159
160 @SuppressWarnings("SameReturnValue")
161 private <TArgument extends Serializable, TResult extends Serializable>
162 long sendForWaitHandle(Rpc<TArgument, TResult> p, RaftRpc<TArgument, TResult> rpc) {
163 var net = (RaftRpc<TArgument, TResult>)p;
164 if (net.isTimeout() || isRetryError(net.getResultCode()))
165 return Procedure.Success; // Pending Will Resend.
166
167 long requestId = rpc.getUnique().getRequestId();
168 if (pending.remove(requestId) != null) {
169 rpc.setRequest(net.isRequest());
170 rpc.Result = net.Result;
171 rpc.setSender(net.getSender());
172 rpc.setResultCode(net.getResultCode());
173
174 if (rpc.getResultCode() == Procedure.RaftApplied)
175 rpc.setIsTimeout(false);
176 if (isDebugEnabled) {
177 logger.debug("sendForWaitHandle Rpc={} RequestId={} ResultCode={} Sender={}",
178 rpc.getClass().getSimpleName(), requestId, rpc.getResultCode(), rpc.getSender());
179 }
180 rpc.future.setResult(rpc);
181 }
182 return Procedure.Success;
183 }
184
185 public <TArgument extends Serializable, TResult extends Serializable>
186 TaskCompletionSourceX<RaftRpc<TArgument, TResult>> sendForWait(RaftRpc<TArgument, TResult> rpc) {

Callers 1

sendForWaitMethod · 0.95

Calls 13

isRetryErrorMethod · 0.95
getRequestIdMethod · 0.80
getUniqueMethod · 0.65
removeMethod · 0.65
getSenderMethod · 0.65
isTimeoutMethod · 0.45
getResultCodeMethod · 0.45
setRequestMethod · 0.45
isRequestMethod · 0.45
setSenderMethod · 0.45
setResultCodeMethod · 0.45
setIsTimeoutMethod · 0.45

Tested by

no test coverage detected