Skip to content

Commit

Permalink
Split behaviour into client and server
Browse files Browse the repository at this point in the history
  • Loading branch information
thomaseizinger committed Sep 1, 2021
1 parent d85e38b commit d5cb328
Show file tree
Hide file tree
Showing 12 changed files with 590 additions and 315 deletions.
12 changes: 6 additions & 6 deletions protocols/rendezvous/examples/discover.rs
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ async fn main() {
let mut swarm = Swarm::new(
development_transport(identity.clone()).await.unwrap(),
MyBehaviour {
rendezvous: rendezvous::Behaviour::new(identity.clone(), rendezvous::Config::default()),
rendezvous: rendezvous::client::Behaviour::new(identity.clone()),
ping: Ping::new(PingConfig::new().with_interval(Duration::from_secs(1))),
},
PeerId::from(identity.public()),
Expand Down Expand Up @@ -79,7 +79,7 @@ async fn main() {
);
return;
}
SwarmEvent::Behaviour(MyEvent::Rendezvous(rendezvous::Event::Discovered {
SwarmEvent::Behaviour(MyEvent::Rendezvous(rendezvous::client::Event::Discovered {
registrations,
..
})) => {
Expand Down Expand Up @@ -115,12 +115,12 @@ async fn main() {

#[derive(Debug)]
enum MyEvent {
Rendezvous(rendezvous::Event),
Rendezvous(rendezvous::client::Event),
Ping(PingEvent),
}

impl From<rendezvous::Event> for MyEvent {
fn from(event: rendezvous::Event) -> Self {
impl From<rendezvous::client::Event> for MyEvent {
fn from(event: rendezvous::client::Event) -> Self {
MyEvent::Rendezvous(event)
}
}
Expand All @@ -135,6 +135,6 @@ impl From<PingEvent> for MyEvent {
#[behaviour(event_process = false)]
#[behaviour(out_event = "MyEvent")]
struct MyBehaviour {
rendezvous: rendezvous::Behaviour,
rendezvous: rendezvous::client::Behaviour,
ping: Ping,
}
18 changes: 9 additions & 9 deletions protocols/rendezvous/examples/register.rs
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ async fn main() {
let mut swarm = Swarm::new(
development_transport(identity.clone()).await.unwrap(),
MyBehaviour {
rendezvous: rendezvous::Behaviour::new(identity.clone(), rendezvous::Config::default()),
rendezvous: rendezvous::client::Behaviour::new(identity.clone()),
ping: Ping::new(PingConfig::new().with_interval(Duration::from_secs(1))),
},
PeerId::from(identity.public()),
Expand Down Expand Up @@ -81,7 +81,7 @@ async fn main() {
log::info!("Connection established with rendezvous point {}", peer_id);
}
// once `/identify` did its job, we know our external address and can register
SwarmEvent::Behaviour(MyEvent::Rendezvous(rendezvous::Event::Registered {
SwarmEvent::Behaviour(MyEvent::Rendezvous(rendezvous::client::Event::Registered {
namespace,
ttl,
rendezvous_node,
Expand All @@ -93,9 +93,9 @@ async fn main() {
ttl
);
}
SwarmEvent::Behaviour(MyEvent::Rendezvous(rendezvous::Event::RegisterFailed(
error,
))) => {
SwarmEvent::Behaviour(MyEvent::Rendezvous(
rendezvous::client::Event::RegisterFailed(error),
)) => {
log::error!("Failed to register {}", error);
return;
}
Expand All @@ -114,12 +114,12 @@ async fn main() {

#[derive(Debug)]
enum MyEvent {
Rendezvous(rendezvous::Event),
Rendezvous(rendezvous::client::Event),
Ping(PingEvent),
}

impl From<rendezvous::Event> for MyEvent {
fn from(event: rendezvous::Event) -> Self {
impl From<rendezvous::client::Event> for MyEvent {
fn from(event: rendezvous::client::Event) -> Self {
MyEvent::Rendezvous(event)
}
}
Expand All @@ -134,6 +134,6 @@ impl From<PingEvent> for MyEvent {
#[behaviour(event_process = false)]
#[behaviour(out_event = "MyEvent")]
struct MyBehaviour {
rendezvous: rendezvous::Behaviour,
rendezvous: rendezvous::client::Behaviour,
ping: Ping,
}
18 changes: 9 additions & 9 deletions protocols/rendezvous/examples/register_with_identify.rs
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ async fn main() {
"rendezvous-example/1.0.0".to_string(),
identity.public(),
)),
rendezvous: rendezvous::Behaviour::new(identity.clone(), rendezvous::Config::default()),
rendezvous: rendezvous::client::Behaviour::new(identity.clone()),
ping: Ping::new(PingConfig::new().with_interval(Duration::from_secs(1))),
},
PeerId::from(identity.public()),
Expand Down Expand Up @@ -79,7 +79,7 @@ async fn main() {
None,
);
}
SwarmEvent::Behaviour(MyEvent::Rendezvous(rendezvous::Event::Registered {
SwarmEvent::Behaviour(MyEvent::Rendezvous(rendezvous::client::Event::Registered {
namespace,
ttl,
rendezvous_node,
Expand All @@ -91,9 +91,9 @@ async fn main() {
ttl
);
}
SwarmEvent::Behaviour(MyEvent::Rendezvous(rendezvous::Event::RegisterFailed(
error,
))) => {
SwarmEvent::Behaviour(MyEvent::Rendezvous(
rendezvous::client::Event::RegisterFailed(error),
)) => {
log::error!("Failed to register {}", error);
return;
}
Expand All @@ -112,13 +112,13 @@ async fn main() {

#[derive(Debug)]
enum MyEvent {
Rendezvous(rendezvous::Event),
Rendezvous(rendezvous::client::Event),
Identify(IdentifyEvent),
Ping(PingEvent),
}

impl From<rendezvous::Event> for MyEvent {
fn from(event: rendezvous::Event) -> Self {
impl From<rendezvous::client::Event> for MyEvent {
fn from(event: rendezvous::client::Event) -> Self {
MyEvent::Rendezvous(event)
}
}
Expand All @@ -140,6 +140,6 @@ impl From<PingEvent> for MyEvent {
#[behaviour(out_event = "MyEvent")]
struct MyBehaviour {
identify: Identify,
rendezvous: rendezvous::Behaviour,
rendezvous: rendezvous::client::Behaviour,
ping: Ping,
}
27 changes: 14 additions & 13 deletions protocols/rendezvous/examples/rendezvous_point.rs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ async fn main() {
let mut swarm = Swarm::new(
development_transport(identity.clone()).await.unwrap(),
MyBehaviour {
rendezvous: rendezvous::Behaviour::new(identity.clone(), rendezvous::Config::default()),
rendezvous: rendezvous::server::Behaviour::new(rendezvous::server::Config::default()),
ping: Ping::default(),
},
PeerId::from(identity.public()),
Expand All @@ -57,20 +57,21 @@ async fn main() {
SwarmEvent::ConnectionClosed { peer_id, .. } => {
log::info!("Disconnected from {}", peer_id);
}
SwarmEvent::Behaviour(MyEvent::Rendezvous(rendezvous::Event::PeerRegistered {
peer,
registration,
})) => {
SwarmEvent::Behaviour(MyEvent::Rendezvous(
rendezvous::server::Event::PeerRegistered { peer, registration },
)) => {
log::info!(
"Peer {} registered for namespace '{}'",
peer,
registration.namespace
);
}
SwarmEvent::Behaviour(MyEvent::Rendezvous(rendezvous::Event::DiscoverServed {
enquirer,
registrations,
})) => {
SwarmEvent::Behaviour(MyEvent::Rendezvous(
rendezvous::server::Event::DiscoverServed {
enquirer,
registrations,
},
)) => {
log::info!(
"Served peer {} with {} registrations",
enquirer,
Expand All @@ -86,12 +87,12 @@ async fn main() {

#[derive(Debug)]
enum MyEvent {
Rendezvous(rendezvous::Event),
Rendezvous(rendezvous::server::Event),
Ping(PingEvent),
}

impl From<rendezvous::Event> for MyEvent {
fn from(event: rendezvous::Event) -> Self {
impl From<rendezvous::server::Event> for MyEvent {
fn from(event: rendezvous::server::Event) -> Self {
MyEvent::Rendezvous(event)
}
}
Expand All @@ -106,6 +107,6 @@ impl From<PingEvent> for MyEvent {
#[behaviour(event_process = false)]
#[behaviour(out_event = "MyEvent")]
struct MyBehaviour {
rendezvous: rendezvous::Behaviour,
rendezvous: rendezvous::server::Behaviour,
ping: Ping,
}

0 comments on commit d5cb328

Please sign in to comment.