restate icon indicating copy to clipboard operation
restate copied to clipboard

Unify RpcStyle message routing

Open AhmedSoliman opened this issue 1 year ago • 1 comments

Unify RpcStyle message routing

Introduces types that makes it easier to perform Rpc-like interactions with Networking.

  • RpcMessage trait marks messages that carry a CorrelationId. A sane default correlation id is provided as RequestId.
  • RpcRequest trait defines request messages and their response types.
  • RpcRouter<T: RpcRequest> enables sending rpc request and awaiting responses with auto eviction of dropped requests.
  • ResponseTracker is a helper that manages tracking tokens for in-flight requests, this can be used in the future to replace large portions of IngressDispatcher.
  • Macros to help define RPC messages to reduce code noise in node-protocol

Stack created with Sapling. Best reviewed with ReviewStack.

  • #1514
  • #1500
  • -> #1511

AhmedSoliman avatar May 14 '24 07:05 AhmedSoliman

Test Results

 99 files  ±0   99 suites  ±0   8m 34s :stopwatch: +6s  84 tests ±0   82 :white_check_mark: ±0  2 :zzz: ±0  0 :x: ±0  216 runs  ±0  210 :white_check_mark: ±0  6 :zzz: ±0  0 :x: ±0 

Results for commit 157fc63a. ± Comparison against base commit a7e81b08.

:recycle: This comment has been updated with latest results.

github-actions[bot] avatar May 14 '24 08:05 github-actions[bot]