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

Method Send

ZezeJava/ZezeJava/src/main/java/Zeze/Raft/RaftRpc.java:56–75  ·  view source on GitHub ↗
(AsyncSocket socket)

Source from the content-addressed store, hash-verified

54 }
55
56 @Override
57 public boolean Send(AsyncSocket socket) {
58 // 1.
59 // 通过原始raft连接方式发送请求。
60 // 由于每次发送需要新的rpc.sessionId,所以这里新建了一个桥接类发送,
61 // 并不会真正发送原始的RaftRpc。
62 // 2.
63 // 通过Proxy发送的时候,ProxyRequest已经是一个新的请求,所有的dispatch特别处理,
64 // 不会使用这个方法发送请求了。
65 // 3.
66 // Rpc.SendResult 针对上面两个发送方式,也有两个路径。
67 // 3.1 原始方式通过SessionId找到本地存根并最终找到本RaftRpc.ResponseHandle把结果派发出去。
68 // 3.2 Proxy方式由ProxyRequest的嵌套ResponseHandle派发出去。其中SendResult需要拦截。see 本类。
69 var bridge = new RaftRpcBridge<>(this);
70 bridge.Argument = Argument;
71 bridge.setCreateTime(createTime);
72 bridge.setUnique(unique);
73 bridge.setResultCode(this.getResultCode());
74 return bridge.Send(socket, getResponseHandle(), getTimeout());
75 }
76
77 @Override
78 public void encode(ByteBuffer bb) {

Callers 8

trySendMethod · 0.45
sendHeartbeatToMethod · 0.45
trySendAppendEntriesMethod · 0.45
OnHandshakeDoneMethod · 0.45
setLeaderReadyMethod · 0.45
sendRequestVoteMethod · 0.45
sendMethod · 0.45
sendMethod · 0.45

Calls 6

getResponseHandleMethod · 0.80
getTimeoutMethod · 0.80
setCreateTimeMethod · 0.65
setUniqueMethod · 0.65
setResultCodeMethod · 0.45
getResultCodeMethod · 0.45

Tested by

no test coverage detected