Expand description
Collection of request-response protocols.
The RequestResponsesBehaviour struct defined in this module provides support for zero or
more so-called “request-response” protocols.
A request-response protocol works in the following way:
- 
For every emitted request, a new substream is open and the protocol is negotiated. If the remote supports the protocol, the size of the request is sent as a LEB128 number, followed with the request itself. The remote then sends the size of the response as a LEB128 number, followed with the response.
 - 
Requests have a certain time limit before they time out. This time includes the time it takes to send/receive the request and response.
 - 
If provided, a “requests processing” channel is used to handle incoming requests.
 
Structs§
- Config
 - The configuration for a 
Behaviourprotocol. - Inbound
Request Id  - The ID of an inbound request.
 - Incoming
Request  - A single request received by a peer on a request-response protocol.
 - Outbound
Request Id  - The ID of an outbound request.
 - Outgoing
Response  - Response for an incoming request to be send by a request protocol handler.
 - Protocol
Config  - Configuration for a single request-response protocol.
 - Request
Responses Behaviour  - Implementation of 
NetworkBehaviourthat provides support for request-response protocols. 
Enums§
- Event
 - Event generated by the 
RequestResponsesBehaviour. - IfDisconnected
 - When sending a request, what to do on a disconnected recipient.
 - Inbound
Failure  - Possible failures occurring in the context of receiving an inbound request and sending a response.
 - Outbound
Failure  - Possible failures occurring in the context of sending an outbound request and receiving the response.
 - Register
Error  - Error when registering a protocol.
 - Request
Failure  - Error in a request.
 - Response
Failure  - Error when processing a request sent by a remote.