Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
adds QUIC endpoint for repair service (solana-labs#33057)
Working towards using QUIC protocol for repair, the commit adds a QUIC endpoint for repair service. Outgoing local requests are sent as struct LocalRequest { remote_address: SocketAddr, bytes: Vec<u8>, num_expected_responses: usize, response_sender: Sender<(SocketAddr, Vec<u8>)>, } to the client-side of the endpoint. The client opens a bidirectional stream with the LocalRequest.remote_address and once received the response, sends it down the LocalRequest.response_sender channel. Incoming requests from remote nodes are received from bidirectional streams and sent as struct RemoteRequest { remote_pubkey: Option<Pubkey>, remote_address: SocketAddr, bytes: Vec<u8>, response_sender: Option<OneShotSender<Vec<Vec<u8>>>>, } to the repair-service. The response is received from the receiver end of RemoteRequest.response_sender channel and send back to the remote node using the send side of the bidirectional stream.
- Loading branch information