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

Class Rpc

ZezeJava/ZezeJava/src/main/java/Zeze/Net/Rpc.java:16–361  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

14import org.jetbrains.annotations.Nullable;
15
16public abstract class Rpc<TArgument extends Serializable, TResult extends Serializable> extends Protocol<TArgument> {
17 protected static final @NotNull Logger logger = LogManager.getLogger(Rpc.class);
18
19 public TResult Result;
20 protected transient @Nullable Binary resultEncoded; // 如果设置了这个,发送结果的时候,优先使用这个编码过的。
21 private long sessionId;
22 private transient @Nullable ProtocolHandle<Rpc<TArgument, TResult>> responseHandle;
23 private transient @Nullable TaskCompletionSource<TResult> future;
24 private int timeout = 5000;
25 private boolean isTimeout;
26 private boolean isRequest = true;
27 protected transient boolean sendResultDone; // XXX ugly
28
29 @Override
30 public int getFamilyClass() {
31 return isRequest ? FamilyClass.Request : FamilyClass.Response;
32 }
33
34 public long getSessionId() {
35 return sessionId;
36 }
37
38 public void setSessionId(long sessionId) {
39 this.sessionId = sessionId;
40 }
41
42 public @Nullable ProtocolHandle<Rpc<TArgument, TResult>> getResponseHandle() {
43 return responseHandle;
44 }
45
46 public void setResponseHandle(@Nullable ProtocolHandle<Rpc<TArgument, TResult>> handle) {
47 responseHandle = handle;
48 }
49
50 public @Nullable TaskCompletionSource<TResult> getFuture() {
51 return future;
52 }
53
54 public void setFuture(@Nullable TaskCompletionSource<TResult> future) {
55 this.future = future;
56 }
57
58 public int getTimeout() {
59 return timeout;
60 }
61
62 public void setTimeout(int timeout) {
63 this.timeout = timeout;
64 }
65
66 public boolean isTimeout() {
67 return isTimeout;
68 }
69
70 public void setIsTimeout(boolean isTimeout) {
71 this.isTimeout = isTimeout;
72 }
73

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected