diff --git a/crates/radicle/src/node.rs b/crates/radicle/src/node.rs index 3bf4d03c..52c53a94 100644 --- a/crates/radicle/src/node.rs +++ b/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))]