pub struct RequestResponsesBehaviour { /* private fields */ }Expand description
Implementation of NetworkBehaviour that provides support for request-response protocols.
Implementations§
source§impl RequestResponsesBehaviour
 
impl RequestResponsesBehaviour
sourcepub fn new(
    list: impl Iterator<Item = ProtocolConfig>,
    peer_store: Box<dyn PeerStoreProvider>
) -> Result<Self, RegisterError>
 
pub fn new( list: impl Iterator<Item = ProtocolConfig>, peer_store: Box<dyn PeerStoreProvider> ) -> Result<Self, RegisterError>
Creates a new behaviour. Must be passed a list of supported protocols. Returns an error if the same protocol is passed twice.
sourcepub fn send_request(
    &mut self,
    target: &PeerId,
    protocol_name: &str,
    request: Vec<u8>,
    pending_response: Sender<Result<Vec<u8>, RequestFailure>>,
    connect: IfDisconnected
)
 
pub fn send_request( &mut self, target: &PeerId, protocol_name: &str, request: Vec<u8>, pending_response: Sender<Result<Vec<u8>, RequestFailure>>, connect: IfDisconnected )
Initiates sending a request.
If there is no established connection to the target peer, the behavior is determined by the
choice of connect.
An error is returned if the protocol doesn’t match one that has been registered.
Trait Implementations§
source§impl NetworkBehaviour for RequestResponsesBehaviour
 
impl NetworkBehaviour for RequestResponsesBehaviour
§type ConnectionHandler = MultiHandler<String, <Behaviour<GenericCodec> as NetworkBehaviour>::ConnectionHandler>
 
type ConnectionHandler = MultiHandler<String, <Behaviour<GenericCodec> as NetworkBehaviour>::ConnectionHandler>
Handler for all the protocols the network behaviour supports.
source§fn handle_pending_inbound_connection(
    &mut self,
    _connection_id: ConnectionId,
    _local_addr: &Multiaddr,
    _remote_addr: &Multiaddr
) -> Result<(), ConnectionDenied>
 
fn handle_pending_inbound_connection( &mut self, _connection_id: ConnectionId, _local_addr: &Multiaddr, _remote_addr: &Multiaddr ) -> Result<(), ConnectionDenied>
Callback that is invoked for every new inbound connection. Read more
source§fn handle_pending_outbound_connection(
    &mut self,
    _connection_id: ConnectionId,
    _maybe_peer: Option<PeerId>,
    _addresses: &[Multiaddr],
    _effective_role: Endpoint
) -> Result<Vec<Multiaddr>, ConnectionDenied>
 
fn handle_pending_outbound_connection( &mut self, _connection_id: ConnectionId, _maybe_peer: Option<PeerId>, _addresses: &[Multiaddr], _effective_role: Endpoint ) -> Result<Vec<Multiaddr>, ConnectionDenied>
Callback that is invoked for every outbound connection attempt. Read more
source§fn handle_established_inbound_connection(
    &mut self,
    connection_id: ConnectionId,
    peer: PeerId,
    local_addr: &Multiaddr,
    remote_addr: &Multiaddr
) -> Result<THandler<Self>, ConnectionDenied>
 
fn handle_established_inbound_connection( &mut self, connection_id: ConnectionId, peer: PeerId, local_addr: &Multiaddr, remote_addr: &Multiaddr ) -> Result<THandler<Self>, ConnectionDenied>
Callback that is invoked for every established inbound connection. Read more
source§fn handle_established_outbound_connection(
    &mut self,
    connection_id: ConnectionId,
    peer: PeerId,
    addr: &Multiaddr,
    role_override: Endpoint
) -> Result<THandler<Self>, ConnectionDenied>
 
fn handle_established_outbound_connection( &mut self, connection_id: ConnectionId, peer: PeerId, addr: &Multiaddr, role_override: Endpoint ) -> Result<THandler<Self>, ConnectionDenied>
Callback that is invoked for every established outbound connection. Read more
source§fn on_swarm_event(&mut self, event: FromSwarm<'_, Self::ConnectionHandler>)
 
fn on_swarm_event(&mut self, event: FromSwarm<'_, Self::ConnectionHandler>)
Informs the behaviour about an event from the 
Swarm.source§fn on_connection_handler_event(
    &mut self,
    peer_id: PeerId,
    connection_id: ConnectionId,
    event: THandlerOutEvent<Self>
)
 
fn on_connection_handler_event( &mut self, peer_id: PeerId, connection_id: ConnectionId, event: THandlerOutEvent<Self> )
Informs the behaviour about an event generated by the 
ConnectionHandler
dedicated to the peer identified by peer_id. for the behaviour. Read moresource§fn poll(
    &mut self,
    cx: &mut Context<'_>,
    params: &mut impl PollParameters
) -> Poll<ToSwarm<Self::OutEvent, THandlerInEvent<Self>>>
 
fn poll( &mut self, cx: &mut Context<'_>, params: &mut impl PollParameters ) -> Poll<ToSwarm<Self::OutEvent, THandlerInEvent<Self>>>
Polls for things that swarm should do. Read more
§fn new_handler(&mut self) -> Self::ConnectionHandler
 
fn new_handler(&mut self) -> Self::ConnectionHandler
👎Deprecated since 0.42.0: Use one or more of 
NetworkBehaviour::{handle_pending_inbound_connection,handle_established_inbound_connection,handle_pending_outbound_connection,handle_established_outbound_connection} instead.Creates a new 
ConnectionHandler for a connection with a peer. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for RequestResponsesBehaviour
impl Send for RequestResponsesBehaviour
impl !Sync for RequestResponsesBehaviour
impl Unpin for RequestResponsesBehaviour
impl !UnwindSafe for RequestResponsesBehaviour
Blanket Implementations§
source§impl<T> CheckedConversion for T
 
impl<T> CheckedConversion for T
source§impl<T> Instrument for T
 
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
source§impl<T, Outer> IsWrappedBy<Outer> for Twhere
    Outer: AsRef<T> + AsMut<T> + From<T>,
    T: From<Outer>,
 
impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,
§impl<T> Pointable for T
 
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
 
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
    Self: UniqueSaturatedFrom<T>,
 
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
    Self: UniqueSaturatedInto<T>,
 
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of 
T. Read moresource§impl<S, T> UncheckedInto<T> for Swhere
    T: UncheckedFrom<S>,
 
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
 
fn unchecked_into(self) -> T
The counterpart to 
unchecked_from.source§impl<T, S> UniqueSaturatedInto<T> for Swhere
    T: Bounded,
    S: TryInto<T>,
 
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
source§fn unique_saturated_into(self) -> T
 
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of 
T.