pub struct NetworkNamespace { /* private fields */ }Expand description
Network namespace for cluster isolation.
Implementations§
Source§impl NetworkNamespace
impl NetworkNamespace
Sourcepub fn new(version: &str, cluster: Option<&str>) -> Self
pub fn new(version: &str, cluster: Option<&str>) -> Self
Create a new network namespace.
§Arguments
version- Version string (e.g., “pmetal/0.1.0”)cluster- Optional cluster name for additional isolation
Sourcepub fn default_version(cluster: Option<&str>) -> Self
pub fn default_version(cluster: Option<&str>) -> Self
Create a namespace with the default version.
Sourcepub fn namespace_str(&self) -> &str
pub fn namespace_str(&self) -> &str
Get the namespace string.
Sourcepub fn is_compatible(&self, other: &NetworkNamespace) -> bool
pub fn is_compatible(&self, other: &NetworkNamespace) -> bool
Check if another namespace is compatible.
Sourcepub fn verify_psk(&self, received: &[u8; 32]) -> bool
pub fn verify_psk(&self, received: &[u8; 32]) -> bool
Verify a received PSK matches ours.
Sourcepub fn gossipsub_topic(&self, suffix: &str) -> String
pub fn gossipsub_topic(&self, suffix: &str) -> String
Create a gossipsub topic for this namespace.
Sourcepub fn protocol_id(&self) -> String
pub fn protocol_id(&self) -> String
Create the protocol ID for libp2p.
Trait Implementations§
Source§impl Clone for NetworkNamespace
impl Clone for NetworkNamespace
Source§fn clone(&self) -> NetworkNamespace
fn clone(&self) -> NetworkNamespace
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for NetworkNamespace
impl Debug for NetworkNamespace
Auto Trait Implementations§
impl Freeze for NetworkNamespace
impl RefUnwindSafe for NetworkNamespace
impl Send for NetworkNamespace
impl Sync for NetworkNamespace
impl Unpin for NetworkNamespace
impl UnsafeUnpin for NetworkNamespace
impl UnwindSafe for NetworkNamespace
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more