Crate libp2p_request_response
source ·Expand description
Generic request/response protocols.
General Usage
The Behaviour struct is a NetworkBehaviour that implements a generic
request/response protocol or protocol family, whereby each request is
sent over a new substream on a connection. Behaviour is generic
over the actual messages being sent, which are defined in terms of a
Codec. Creating a request/response protocol thus amounts
to providing an implementation of this trait which can then be
given to Behaviour::new. Further configuration options are
available via the Config.
Requests are sent using Behaviour::send_request and the
responses received as Message::Response via
Event::Message.
Responses are sent using Behaviour::send_response upon
receiving a Message::Request via
Event::Message.
Protocol Families
A single Behaviour instance can be used with an entire
protocol family that share the same request and response types.
For that purpose, Codec::Protocol is typically
instantiated with a sum type.
Limited Protocol Support
It is possible to only support inbound or outbound requests for
a particular protocol. This is achieved by instantiating Behaviour
with protocols using ProtocolSupport::Inbound or
ProtocolSupport::Outbound. Any subset of protocols of a protocol
family can be configured in this way. Such protocols will not be
advertised during inbound respectively outbound protocol negotiation
on the substreams.
Modules
Structs
- A request/response protocol for some message codec.
- The configuration for a
Behaviourprotocol. - The ID of an inbound or outbound request.
- A channel for sending a response to an inbound request.
Enums
- The events emitted by a request-response
Behaviour. - Possible failures occurring in the context of receiving an inbound request and sending a response.
- An inbound request or response.
- Possible failures occurring in the context of sending an outbound request and receiving the response.
- The level of support for a particular protocol.
Traits
- A
Codecdefines the request and response types for a request-responseBehaviourprotocol or protocol family and how they are encoded / decoded on an I/O stream. - Types serving as protocol names.
- RequestResponseCodecDeprecatedA
RequestResponseCodecdefines the request and response types for a request-responseBehaviourprotocol or protocol family and how they are encoded / decoded on an I/O stream.
Type Definitions
- HandlerEventDeprecated
- RequestResponseDeprecated
- RequestResponseConfigDeprecated
- RequestResponseEventDeprecated
- RequestResponseMessageDeprecated