pub struct FireCloudBehaviour {
pub mdns: Behaviour,
pub kademlia: Behaviour<MemoryStore>,
pub gossipsub: Behaviour,
pub identify: Behaviour,
pub ping: Behaviour,
pub transfer: Behaviour<TransferCodec>,
pub messaging: Behaviour<MessageCodec>,
pub dcutr: Behaviour,
pub relay_client: Behaviour,
}Expand description
Combined behaviour for FireCloud networking
Fields§
§mdns: BehaviourmDNS for local peer discovery
kademlia: Behaviour<MemoryStore>Kademlia DHT for distributed hash table
gossipsub: BehaviourGossipSub for pub/sub messaging
identify: BehaviourIdentify protocol for peer info exchange
ping: BehaviourPing for connection liveness
transfer: Behaviour<TransferCodec>Request-Response for file transfer
messaging: Behaviour<MessageCodec>Request-Response for direct messaging
dcutr: BehaviourDCUtR for NAT hole punching
relay_client: BehaviourRelay client for circuit relay
Implementations§
Source§impl FireCloudBehaviour
impl FireCloudBehaviour
Trait Implementations§
Source§impl NetworkBehaviour for FireCloudBehaviourwhere
Behaviour: NetworkBehaviour,
Behaviour<MemoryStore>: NetworkBehaviour,
Behaviour: NetworkBehaviour,
Behaviour: NetworkBehaviour,
Behaviour: NetworkBehaviour,
Behaviour<TransferCodec>: NetworkBehaviour,
Behaviour<MessageCodec>: NetworkBehaviour,
Behaviour: NetworkBehaviour,
Behaviour: NetworkBehaviour,
FireCloudEvent: From<<Behaviour as NetworkBehaviour>::ToSwarm> + From<<Behaviour<MemoryStore> as NetworkBehaviour>::ToSwarm> + From<<Behaviour as NetworkBehaviour>::ToSwarm> + From<<Behaviour as NetworkBehaviour>::ToSwarm> + From<<Behaviour as NetworkBehaviour>::ToSwarm> + From<<Behaviour<TransferCodec> as NetworkBehaviour>::ToSwarm> + From<<Behaviour<MessageCodec> as NetworkBehaviour>::ToSwarm> + From<<Behaviour as NetworkBehaviour>::ToSwarm> + From<<Behaviour as NetworkBehaviour>::ToSwarm>,
impl NetworkBehaviour for FireCloudBehaviourwhere
Behaviour: NetworkBehaviour,
Behaviour<MemoryStore>: NetworkBehaviour,
Behaviour: NetworkBehaviour,
Behaviour: NetworkBehaviour,
Behaviour: NetworkBehaviour,
Behaviour<TransferCodec>: NetworkBehaviour,
Behaviour<MessageCodec>: NetworkBehaviour,
Behaviour: NetworkBehaviour,
Behaviour: NetworkBehaviour,
FireCloudEvent: From<<Behaviour as NetworkBehaviour>::ToSwarm> + From<<Behaviour<MemoryStore> as NetworkBehaviour>::ToSwarm> + From<<Behaviour as NetworkBehaviour>::ToSwarm> + From<<Behaviour as NetworkBehaviour>::ToSwarm> + From<<Behaviour as NetworkBehaviour>::ToSwarm> + From<<Behaviour<TransferCodec> as NetworkBehaviour>::ToSwarm> + From<<Behaviour<MessageCodec> as NetworkBehaviour>::ToSwarm> + From<<Behaviour as NetworkBehaviour>::ToSwarm> + From<<Behaviour as NetworkBehaviour>::ToSwarm>,
Source§type ConnectionHandler = ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<<Behaviour<Tokio> as NetworkBehaviour>::ConnectionHandler, <Behaviour<MemoryStore> as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <Behaviour<TransferCodec> as NetworkBehaviour>::ConnectionHandler>, <Behaviour<MessageCodec> as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>
type ConnectionHandler = ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<<Behaviour<Tokio> as NetworkBehaviour>::ConnectionHandler, <Behaviour<MemoryStore> as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <Behaviour<TransferCodec> as NetworkBehaviour>::ConnectionHandler>, <Behaviour<MessageCodec> as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>
Handler for all the protocols the network behaviour supports.
Source§type ToSwarm = FireCloudEvent
type ToSwarm = FireCloudEvent
Event generated by the
NetworkBehaviour and that the swarm will report back.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_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_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_outbound_connection(
&mut self,
connection_id: ConnectionId,
peer: PeerId,
addr: &Multiaddr,
role_override: Endpoint,
port_use: PortUse,
) -> Result<THandler<Self>, ConnectionDenied>
fn handle_established_outbound_connection( &mut self, connection_id: ConnectionId, peer: PeerId, addr: &Multiaddr, role_override: Endpoint, port_use: PortUse, ) -> Result<THandler<Self>, ConnectionDenied>
Callback that is invoked for every established outbound connection. Read more
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<'_>,
) -> Poll<ToSwarm<Self::ToSwarm, THandlerInEvent<Self>>>
fn poll( &mut self, cx: &mut Context<'_>, ) -> Poll<ToSwarm<Self::ToSwarm, THandlerInEvent<Self>>>
Polls for things that swarm should do. Read more
Source§fn on_swarm_event(&mut self, event: FromSwarm<'_>)
fn on_swarm_event(&mut self, event: FromSwarm<'_>)
Informs the behaviour about an event from the
Swarm.Auto Trait Implementations§
impl Freeze for FireCloudBehaviour
impl !RefUnwindSafe for FireCloudBehaviour
impl Send for FireCloudBehaviour
impl !Sync for FireCloudBehaviour
impl Unpin for FireCloudBehaviour
impl !UnwindSafe for FireCloudBehaviour
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more