Description
Specification
Similar to #509 but separate enough to be it's own issue/PR. We need to migrate the agent-agent communication to make use of the new agnostic RPC and quic system being developed. Thankfully there are much fewer agent-agent handlers we need to migrate but they tend to be more complicated.
Some complications that need to be addresses is the the git pull and clone logic. They need to be updated to make use of the raw streams. The raw stream feature may need to be expanded to support this.
This is currently blocked by the quic system.
Part of migrating the agent, the network
and GRPC
domains should be removed. Any code still depending on them need to be updated to the new systems.
We need to spec out how we want to handle the common elements between the client and agent RPC. They will end up sharing middleware, message data structure and metadata structure. These things should be kept in a common location but the RPC
domain isn't appropriate.
Additional context
- Related Client RPC migration #509
- Related Transport Agnostic RPC #249
- Related Migrate from GRPC to JSON RPC (with binary variant for higher performance) #495
- Related Make
rpc
handlers abstract arrow function properties. js-rpc#5 - Related Add timeout support to the Agnostic RPC system #510
Tasks
- migrate handlers to the new RPC system
- migrate tests
- update RPC usage within the code
- Remove any old GRPC or network code. GRPC domain should be fully removed at this point. Not sure about network.