pub struct NodeMetadata {
pub node_id: String,
pub node_type: String,
pub status: NodeStatus,
pub started_at: u64,
pub last_heartbeat: u64,
pub publishes: Vec<String>,
pub subscribes: Vec<String>,
pub capabilities: Vec<String>,
pub metadata: HashMap<String, String>,
}Expand description
Node metadata for service discovery
Fields§
§node_id: StringUnique node identifier
node_type: StringNode type (e.g., “camera_driver”, “perception”, “planning”)
status: NodeStatusCurrent status
started_at: u64When the node started (Unix timestamp in seconds)
last_heartbeat: u64Last heartbeat timestamp (Unix timestamp in seconds)
publishes: Vec<String>Topics this node publishes to
subscribes: Vec<String>Topics this node subscribes to
capabilities: Vec<String>Node capabilities/features
metadata: HashMap<String, String>Additional metadata (version, config, etc.)
Implementations§
Source§impl NodeMetadata
impl NodeMetadata
Sourcepub fn subscribes(self, topic: impl Into<String>) -> Self
pub fn subscribes(self, topic: impl Into<String>) -> Self
Add a subscribed topic
Sourcepub fn capability(self, cap: impl Into<String>) -> Self
pub fn capability(self, cap: impl Into<String>) -> Self
Add a capability
Trait Implementations§
Source§impl Clone for NodeMetadata
impl Clone for NodeMetadata
Source§fn clone(&self) -> NodeMetadata
fn clone(&self) -> NodeMetadata
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 NodeMetadata
impl Debug for NodeMetadata
Source§impl Default for NodeMetadata
impl Default for NodeMetadata
Source§impl<'de> Deserialize<'de> for NodeMetadata
impl<'de> Deserialize<'de> for NodeMetadata
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for NodeMetadata
impl RefUnwindSafe for NodeMetadata
impl Send for NodeMetadata
impl Sync for NodeMetadata
impl Unpin for NodeMetadata
impl UnwindSafe for NodeMetadata
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