diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2021-12-10 17:59:29 +0100 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2021-12-10 17:59:29 +0100 |
commit | da6f7fc5e837c96e5e975e41388324a0c387eff1 (patch) | |
tree | 84e48e71f5fdbde580c367124e0c74e6683a5dd2 | |
parent | 5856b8b59044c5c3dc007a35191931fb13b6aef1 (diff) |
Refactor: Split gossip module into submodules
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r-- | lib/src/reactor/gossip/ctrl.rs | 15 | ||||
-rw-r--r-- | lib/src/reactor/gossip/mod.rs (renamed from lib/src/reactor/gossip.rs) | 35 | ||||
-rw-r--r-- | lib/src/reactor/gossip/msg.rs | 17 |
3 files changed, 38 insertions, 29 deletions
diff --git a/lib/src/reactor/gossip/ctrl.rs b/lib/src/reactor/gossip/ctrl.rs new file mode 100644 index 0000000..5e2e805 --- /dev/null +++ b/lib/src/reactor/gossip/ctrl.rs @@ -0,0 +1,15 @@ +use anyhow::Result; + +#[derive(Debug)] +pub enum GossipRequest { + Ping, + PublishMe, +} + +#[derive(Debug)] +pub enum GossipReply { + Pong, + NoHead, + PublishMeResult(Result<()>), +} + diff --git a/lib/src/reactor/gossip.rs b/lib/src/reactor/gossip/mod.rs index 0da0c97..884f42a 100644 --- a/lib/src/reactor/gossip.rs +++ b/lib/src/reactor/gossip/mod.rs @@ -17,6 +17,12 @@ use crate::reactor::ctrl::ReactorReceiver; use crate::reactor::ctrl::ReactorSender; use crate::reactor::ctrl::ReplyChannel; +mod ctrl; +pub use ctrl::GossipRequest; +pub use ctrl::GossipReply; + +mod msg; +pub use msg::GossipMessage; #[derive(Debug)] pub struct GossipReactor { @@ -24,35 +30,6 @@ pub struct GossipReactor { gossip_topic_name: String, } -#[derive(Debug)] -pub enum GossipRequest { - Ping, - PublishMe, -} - -#[derive(Debug)] -pub enum GossipReply { - Pong, - NoHead, - PublishMeResult(Result<()>), -} - -#[derive(Debug, serde::Serialize, serde::Deserialize)] -pub enum GossipMessage { - CurrentProfileState { - peer_id: Vec<u8>, - cid: Vec<u8>, - }, -} - -impl GossipMessage { - fn into_bytes(self) -> Result<Vec<u8>> { - serde_json::to_string(&self) - .map(String::into_bytes) - .map_err(anyhow::Error::from) - } -} - impl GossipReactor { pub fn new(profile: Arc<RwLock<Profile>>, gossip_topic_name: String) -> (Self, ReactorSender<GossipRequest, GossipReply>) { diff --git a/lib/src/reactor/gossip/msg.rs b/lib/src/reactor/gossip/msg.rs new file mode 100644 index 0000000..049fc68 --- /dev/null +++ b/lib/src/reactor/gossip/msg.rs @@ -0,0 +1,17 @@ +use anyhow::Result; + +#[derive(Debug, serde::Serialize, serde::Deserialize)] +pub enum GossipMessage { + CurrentProfileState { + peer_id: Vec<u8>, + cid: Vec<u8>, + }, +} + +impl GossipMessage { + pub(super) fn into_bytes(self) -> Result<Vec<u8>> { + serde_json::to_string(&self) + .map(String::into_bytes) + .map_err(anyhow::Error::from) + } +} |