Struct glycos::net::GlycosBehaviour [−][src]
pub struct GlycosBehaviour {
kademlia: Kademlia<GlycosRecordStore>,
identify: Identify,
relay: Relay,
ping: Ping,
mdns: Mdns,
in_flight: HashMap<QueryId, RunningQuery>,
out_events: VecDeque<NetworkBehaviourAction<GlycosEvent, <GlycosBehaviour as NetworkBehaviour>::ProtocolsHandler>>,
}Fields
kademlia: Kademlia<GlycosRecordStore>identify: Identifyrelay: Relayping: Pingmdns: Mdnsin_flight: HashMap<QueryId, RunningQuery>out_events: VecDeque<NetworkBehaviourAction<GlycosEvent, <GlycosBehaviour as NetworkBehaviour>::ProtocolsHandler>>Implementations
fn poll_events(
&mut self,
_cx: &mut Context<'_>,
_params: &mut impl PollParameters
) -> Poll<NetworkBehaviourAction<GlycosEvent, <GlycosBehaviour as NetworkBehaviour>::ProtocolsHandler>>
pub fn new(
kademlia: KademliaConfig,
relay: Relay,
local: PublicKey,
storage: PersistentGraph,
mdns: Mdns
) -> Self
Trait Implementations
impl NetworkBehaviour for GlycosBehaviour where
Kademlia<GlycosRecordStore>: NetworkBehaviour,
Self: NetworkBehaviourEventProcess<<Kademlia<GlycosRecordStore> as NetworkBehaviour>::OutEvent>,
Identify: NetworkBehaviour,
Self: NetworkBehaviourEventProcess<<Identify as NetworkBehaviour>::OutEvent>,
Relay: NetworkBehaviour,
Self: NetworkBehaviourEventProcess<<Relay as NetworkBehaviour>::OutEvent>,
Ping: NetworkBehaviour,
Self: NetworkBehaviourEventProcess<<Ping as NetworkBehaviour>::OutEvent>,
Mdns: NetworkBehaviour,
Self: NetworkBehaviourEventProcess<<Mdns as NetworkBehaviour>::OutEvent>,
impl NetworkBehaviour for GlycosBehaviour where
Kademlia<GlycosRecordStore>: NetworkBehaviour,
Self: NetworkBehaviourEventProcess<<Kademlia<GlycosRecordStore> as NetworkBehaviour>::OutEvent>,
Identify: NetworkBehaviour,
Self: NetworkBehaviourEventProcess<<Identify as NetworkBehaviour>::OutEvent>,
Relay: NetworkBehaviour,
Self: NetworkBehaviourEventProcess<<Relay as NetworkBehaviour>::OutEvent>,
Ping: NetworkBehaviour,
Self: NetworkBehaviourEventProcess<<Ping as NetworkBehaviour>::OutEvent>,
Mdns: NetworkBehaviour,
Self: NetworkBehaviourEventProcess<<Mdns as NetworkBehaviour>::OutEvent>,
type ProtocolsHandler = IntoProtocolsHandlerSelect<IntoProtocolsHandlerSelect<IntoProtocolsHandlerSelect<IntoProtocolsHandlerSelect<<Kademlia<GlycosRecordStore> as NetworkBehaviour>::ProtocolsHandler, <Identify as NetworkBehaviour>::ProtocolsHandler>, <Relay as NetworkBehaviour>::ProtocolsHandler>, <Ping as NetworkBehaviour>::ProtocolsHandler>, <Mdns as NetworkBehaviour>::ProtocolsHandler>
type ProtocolsHandler = IntoProtocolsHandlerSelect<IntoProtocolsHandlerSelect<IntoProtocolsHandlerSelect<IntoProtocolsHandlerSelect<<Kademlia<GlycosRecordStore> as NetworkBehaviour>::ProtocolsHandler, <Identify as NetworkBehaviour>::ProtocolsHandler>, <Relay as NetworkBehaviour>::ProtocolsHandler>, <Ping as NetworkBehaviour>::ProtocolsHandler>, <Mdns as NetworkBehaviour>::ProtocolsHandler>
Handler for all the protocols the network behaviour supports.
type OutEvent = GlycosEvent
type OutEvent = GlycosEvent
Event generated by the NetworkBehaviour and that the swarm will report back.
Creates a new ProtocolsHandler for a connection with a peer. Read more
Addresses that this behaviour is aware of for this specific peer, and that may allow reaching the peer. Read more
Indicate to the behaviour that we connected to the node with the given peer id. Read more
Indicates to the behaviour that we disconnected from the node with the given peer id. Read more
fn inject_connection_established(
&mut self,
peer_id: &PeerId,
connection_id: &ConnectionId,
endpoint: &ConnectedPoint,
errors: Option<&Vec<Multiaddr>>
)
fn inject_connection_established(
&mut self,
peer_id: &PeerId,
connection_id: &ConnectionId,
endpoint: &ConnectedPoint,
errors: Option<&Vec<Multiaddr>>
)
Informs the behaviour about a newly established connection to a peer.
fn inject_address_change(
&mut self,
peer_id: &PeerId,
connection_id: &ConnectionId,
old: &ConnectedPoint,
new: &ConnectedPoint
)
fn inject_address_change(
&mut self,
peer_id: &PeerId,
connection_id: &ConnectionId,
old: &ConnectedPoint,
new: &ConnectedPoint
)
Informs the behaviour that the [ConnectedPoint] of an existing connection has changed.
fn inject_connection_closed(
&mut self,
peer_id: &PeerId,
connection_id: &ConnectionId,
endpoint: &ConnectedPoint,
handlers: <Self::ProtocolsHandler as IntoProtocolsHandler>::Handler
)
fn inject_connection_closed(
&mut self,
peer_id: &PeerId,
connection_id: &ConnectionId,
endpoint: &ConnectedPoint,
handlers: <Self::ProtocolsHandler as IntoProtocolsHandler>::Handler
)
Informs the behaviour about a closed connection to a peer. Read more
fn inject_dial_failure(
&mut self,
peer_id: Option<PeerId>,
handlers: Self::ProtocolsHandler,
error: &DialError
)
fn inject_dial_failure(
&mut self,
peer_id: Option<PeerId>,
handlers: Self::ProtocolsHandler,
error: &DialError
)
Indicates to the behaviour that the dial to a known or unknown node failed.
fn inject_listen_failure(
&mut self,
local_addr: &Multiaddr,
send_back_addr: &Multiaddr,
handlers: Self::ProtocolsHandler
)
fn inject_listen_failure(
&mut self,
local_addr: &Multiaddr,
send_back_addr: &Multiaddr,
handlers: Self::ProtocolsHandler
)
Indicates to the behaviour that an error happened on an incoming connection during its initial handshake. Read more
Indicates to the behaviour that a new listener was created.
Indicates to the behaviour that we have started listening on a new multiaddr.
Indicates to the behaviour that a multiaddr we were listening on has expired, which means that we are no longer listening in it. Read more
Indicates to the behaviour that we have discovered a new external address for us.
Indicates to the behaviour that an external address was removed.
A listener experienced an error.
A listener closed.
fn inject_event(
&mut self,
peer_id: PeerId,
connection_id: ConnectionId,
event: <<Self::ProtocolsHandler as IntoProtocolsHandler>::Handler as ProtocolsHandler>::OutEvent
)
fn inject_event(
&mut self,
peer_id: PeerId,
connection_id: ConnectionId,
event: <<Self::ProtocolsHandler as IntoProtocolsHandler>::Handler as ProtocolsHandler>::OutEvent
)
Informs the behaviour about an event generated by the handler dedicated to the peer identified by peer_id.
for the behaviour. Read more
Called when one of the fields of the type you’re deriving NetworkBehaviour on generates
an event. Read more
Called when one of the fields of the type you’re deriving NetworkBehaviour on generates
an event. Read more
Called when one of the fields of the type you’re deriving NetworkBehaviour on generates
an event. Read more
Called when one of the fields of the type you’re deriving NetworkBehaviour on generates
an event. Read more
Called when one of the fields of the type you’re deriving NetworkBehaviour on generates
an event. Read more
