mirror of
https://github.com/fluencelabs/rust-libp2p
synced 2025-06-24 07:11:38 +00:00
Behavior -> Behaviour (#650)
This commit is contained in:
@ -29,4 +29,4 @@ pub mod swarm;
|
||||
pub use self::node::Substream;
|
||||
pub use self::handled_node::{NodeHandlerEvent, NodeHandlerEndpoint};
|
||||
pub use self::raw_swarm::{ConnectedPoint, Peer, RawSwarm, RawSwarmEvent};
|
||||
pub use self::swarm::{Swarm, NetworkBehavior, NetworkBehaviorAction};
|
||||
pub use self::swarm::{Swarm, NetworkBehaviour, NetworkBehaviourAction};
|
||||
|
@ -35,12 +35,12 @@ use std::{fmt, io, ops::{Deref, DerefMut}};
|
||||
/// Contains the state of the network, plus the way it should behave.
|
||||
pub struct Swarm<TTransport, TBehaviour, TTopology>
|
||||
where TTransport: Transport,
|
||||
TBehaviour: NetworkBehavior,
|
||||
TBehaviour: NetworkBehaviour,
|
||||
{
|
||||
raw_swarm: RawSwarm<
|
||||
TTransport,
|
||||
<<TBehaviour as NetworkBehavior>::ProtocolsHandler as ProtocolsHandler>::InEvent,
|
||||
<<TBehaviour as NetworkBehavior>::ProtocolsHandler as ProtocolsHandler>::OutEvent,
|
||||
<<TBehaviour as NetworkBehaviour>::ProtocolsHandler as ProtocolsHandler>::InEvent,
|
||||
<<TBehaviour as NetworkBehaviour>::ProtocolsHandler as ProtocolsHandler>::OutEvent,
|
||||
NodeHandlerWrapper<TBehaviour::ProtocolsHandler>,
|
||||
>,
|
||||
|
||||
@ -55,7 +55,7 @@ where TTransport: Transport,
|
||||
|
||||
impl<TTransport, TBehaviour, TTopology> Deref for Swarm<TTransport, TBehaviour, TTopology>
|
||||
where TTransport: Transport,
|
||||
TBehaviour: NetworkBehavior,
|
||||
TBehaviour: NetworkBehaviour,
|
||||
{
|
||||
type Target = TBehaviour;
|
||||
|
||||
@ -67,7 +67,7 @@ where TTransport: Transport,
|
||||
|
||||
impl<TTransport, TBehaviour, TTopology> DerefMut for Swarm<TTransport, TBehaviour, TTopology>
|
||||
where TTransport: Transport,
|
||||
TBehaviour: NetworkBehavior,
|
||||
TBehaviour: NetworkBehaviour,
|
||||
{
|
||||
#[inline]
|
||||
fn deref_mut(&mut self) -> &mut Self::Target {
|
||||
@ -76,7 +76,7 @@ where TTransport: Transport,
|
||||
}
|
||||
|
||||
impl<TTransport, TBehaviour, TMuxer, TTopology> Swarm<TTransport, TBehaviour, TTopology>
|
||||
where TBehaviour: NetworkBehavior,
|
||||
where TBehaviour: NetworkBehaviour,
|
||||
TMuxer: StreamMuxer + Send + Sync + 'static,
|
||||
<TMuxer as StreamMuxer>::OutboundSubstream: Send + 'static,
|
||||
<TMuxer as StreamMuxer>::Substream: Send + 'static,
|
||||
@ -169,7 +169,7 @@ where TBehaviour: NetworkBehavior,
|
||||
}
|
||||
|
||||
impl<TTransport, TBehaviour, TMuxer, TTopology> Stream for Swarm<TTransport, TBehaviour, TTopology>
|
||||
where TBehaviour: NetworkBehavior,
|
||||
where TBehaviour: NetworkBehaviour,
|
||||
TMuxer: StreamMuxer + Send + Sync + 'static,
|
||||
<TMuxer as StreamMuxer>::OutboundSubstream: Send + 'static,
|
||||
<TMuxer as StreamMuxer>::Substream: Send + 'static,
|
||||
@ -231,16 +231,16 @@ where TBehaviour: NetworkBehavior,
|
||||
match self.behaviour.poll() {
|
||||
Async::NotReady if raw_swarm_not_ready => return Ok(Async::NotReady),
|
||||
Async::NotReady => (),
|
||||
Async::Ready(NetworkBehaviorAction::GenerateEvent(event)) => {
|
||||
Async::Ready(NetworkBehaviourAction::GenerateEvent(event)) => {
|
||||
return Ok(Async::Ready(Some(event)));
|
||||
},
|
||||
Async::Ready(NetworkBehaviorAction::DialAddress { address }) => {
|
||||
Async::Ready(NetworkBehaviourAction::DialAddress { address }) => {
|
||||
let _ = Swarm::dial_addr(self, address);
|
||||
},
|
||||
Async::Ready(NetworkBehaviorAction::DialPeer { peer_id }) => {
|
||||
Async::Ready(NetworkBehaviourAction::DialPeer { peer_id }) => {
|
||||
Swarm::dial(self, peer_id)
|
||||
},
|
||||
Async::Ready(NetworkBehaviorAction::SendEvent { peer_id, event }) => {
|
||||
Async::Ready(NetworkBehaviourAction::SendEvent { peer_id, event }) => {
|
||||
if let Some(mut peer) = self.raw_swarm.peer(peer_id).as_connected() {
|
||||
peer.send_event(event);
|
||||
}
|
||||
@ -254,7 +254,7 @@ where TBehaviour: NetworkBehavior,
|
||||
///
|
||||
/// This trait has been designed to be composable. Multiple implementations can be combined into
|
||||
/// one that handles all the behaviours at once.
|
||||
pub trait NetworkBehavior {
|
||||
pub trait NetworkBehaviour {
|
||||
/// Handler for all the protocols the network supports.
|
||||
type ProtocolsHandler: ProtocolsHandler;
|
||||
/// Event generated by the swarm.
|
||||
@ -284,12 +284,12 @@ pub trait NetworkBehavior {
|
||||
/// Polls for things that swarm should do.
|
||||
///
|
||||
/// This API mimics the API of the `Stream` trait.
|
||||
fn poll(&mut self) -> Async<NetworkBehaviorAction<<Self::ProtocolsHandler as ProtocolsHandler>::InEvent, Self::OutEvent>>;
|
||||
fn poll(&mut self) -> Async<NetworkBehaviourAction<<Self::ProtocolsHandler as ProtocolsHandler>::InEvent, Self::OutEvent>>;
|
||||
}
|
||||
|
||||
/// Action to perform.
|
||||
#[derive(Debug, Clone)]
|
||||
pub enum NetworkBehaviorAction<TInEvent, TOutEvent> {
|
||||
pub enum NetworkBehaviourAction<TInEvent, TOutEvent> {
|
||||
/// Generate an event for the outside.
|
||||
GenerateEvent(TOutEvent),
|
||||
|
||||
|
@ -47,7 +47,7 @@ struct DummyConnection {
|
||||
state: DummyConnectionState,
|
||||
}
|
||||
|
||||
/// `DummyMuxer` implements `StreamMuxer` and methods to control its behavior when used in tests
|
||||
/// `DummyMuxer` implements `StreamMuxer` and methods to control its behaviour when used in tests
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct DummyMuxer {
|
||||
in_connection: DummyConnection,
|
||||
|
Reference in New Issue
Block a user