pub struct HeliaBehaviour {
pub ping: Behaviour,
pub identify: Behaviour,
pub kademlia: Behaviour<MemoryStore>,
pub gossipsub: Behaviour,
pub mdns: Behaviour,
pub autonat: Behaviour,
pub relay: Behaviour,
pub dcutr: Behaviour,
pub bitswap: BitswapBehaviour,
}Expand description
The combined libp2p behavior for Helia
Fields§
§ping: BehaviourPing protocol for liveness checking
identify: BehaviourIdentify protocol for peer identification
kademlia: Behaviour<MemoryStore>Kademlia DHT for content and peer routing
gossipsub: BehaviourGossipsub for pubsub messaging
mdns: BehaviourmDNS for local peer discovery
autonat: BehaviourAutoNAT for NAT detection
relay: BehaviourRelay support
dcutr: BehaviourDCUtR (Direct Connection Upgrade through Relay)
bitswap: BitswapBehaviourBitswap protocol for block exchange
Trait Implementations§
Source§impl HeliaWithLibp2p<HeliaBehaviour> for HeliaImpl
impl HeliaWithLibp2p<HeliaBehaviour> for HeliaImpl
Source§impl NetworkBehaviour for HeliaBehaviour
impl NetworkBehaviour for HeliaBehaviour
Source§type ConnectionHandler = ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<<Behaviour as NetworkBehaviour>::ConnectionHandler, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <Behaviour<MemoryStore> as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <Behaviour<Tokio> as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <BitswapBehaviour as NetworkBehaviour>::ConnectionHandler>
type ConnectionHandler = ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<ConnectionHandlerSelect<<Behaviour as NetworkBehaviour>::ConnectionHandler, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <Behaviour<MemoryStore> as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <Behaviour<Tokio> as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <Behaviour as NetworkBehaviour>::ConnectionHandler>, <BitswapBehaviour as NetworkBehaviour>::ConnectionHandler>
Handler for all the protocols the network behaviour supports.
Source§type ToSwarm = HeliaBehaviourEvent
type ToSwarm = HeliaBehaviourEvent
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 HeliaBehaviour
impl !RefUnwindSafe for HeliaBehaviour
impl Send for HeliaBehaviour
impl !Sync for HeliaBehaviour
impl Unpin for HeliaBehaviour
impl !UnwindSafe for HeliaBehaviour
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