Radish alpha
h
Radicle Heartwood Protocol & Stack
Radicle
Git (anonymous pull)
Log in to clone via SSH
radicle: Make `node::Link` copy and add `is_*`
Lorenz Leutgeb committed 9 months ago
commit b9759c58688a1fe63a09c92c43eef10257f4c9ef
parent 408d4f27e7ef6a56ca1998802c4e8feb9da991ac
1 file changed +13 -1
modified crates/radicle/src/node.rs
@@ -723,7 +723,7 @@ impl Command {
}

/// Connection link direction.
-
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
pub enum Link {
@@ -733,6 +733,18 @@ pub enum Link {
    Inbound,
}

+
impl Link {
+
    /// Check if this is an outbound link.
+
    pub fn is_outbound(&self) -> bool {
+
        matches!(self, Self::Outbound)
+
    }
+

+
    /// Check if this is an inbound link.
+
    pub fn is_inbound(&self) -> bool {
+
        matches!(self, Self::Inbound)
+
    }
+
}
+

/// An established network connection with a peer.
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]