pub struct NodeHandle { /* private fields */ }Expand description
A handle for interacting with the Edge Node.
NodeHandle provides an interface for interacting with an edge node,
including device management, node lifecycle operations, and metric publishing.
Implementations§
Source§impl NodeHandle
impl NodeHandle
Sourcepub async fn cancel(&self)
pub async fn cancel(&self)
Stop all operations, sending a death certificate and disconnect from the broker.
This will cancel EoN::run()
Sourcepub fn register_device<S, M>(
&self,
name: S,
dev_impl: M,
) -> Result<DeviceHandle, DeviceRegistrationError>
pub fn register_device<S, M>( &self, name: S, dev_impl: M, ) -> Result<DeviceHandle, DeviceRegistrationError>
Registers a new device with the node.
Returns an error if:
- A device with the same name is already registered
- The device name is invalid
Sourcepub async fn unregister_device(&self, handle: DeviceHandle)
pub async fn unregister_device(&self, handle: DeviceHandle)
Unregister a device using it’s handle.
Sourcepub async fn unregister_device_named(&self, name: &String)
pub async fn unregister_device_named(&self, name: &String)
Unregister a device using it’s name.
Trait Implementations§
Source§impl Clone for NodeHandle
impl Clone for NodeHandle
Source§fn clone(&self) -> NodeHandle
fn clone(&self) -> NodeHandle
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 MetricPublisher for NodeHandle
impl MetricPublisher for NodeHandle
Source§async fn try_publish_metrics_unsorted(
&self,
metrics: Vec<PublishMetric>,
) -> Result<(), PublishError>
async fn try_publish_metrics_unsorted( &self, metrics: Vec<PublishMetric>, ) -> Result<(), PublishError>
Attempts to publish a batch of metrics without modifying their order.
Source§async fn publish_metrics_unsorted(
&self,
metrics: Vec<PublishMetric>,
) -> Result<(), PublishError>
async fn publish_metrics_unsorted( &self, metrics: Vec<PublishMetric>, ) -> Result<(), PublishError>
Publish a batch of metrics without modifying their order.
Source§fn try_publish_metric(
&self,
metric: PublishMetric,
) -> impl Future<Output = Result<(), PublishError>> + Send
fn try_publish_metric( &self, metric: PublishMetric, ) -> impl Future<Output = Result<(), PublishError>> + Send
Attempts to publish a single metric.
Source§fn try_publish_metrics(
&self,
metrics: Vec<PublishMetric>,
) -> impl Future<Output = Result<(), PublishError>> + Send
fn try_publish_metrics( &self, metrics: Vec<PublishMetric>, ) -> impl Future<Output = Result<(), PublishError>> + Send
Attempts to publish a batch of metrics after sorting by timestamp.
Source§fn publish_metric(
&self,
metric: PublishMetric,
) -> impl Future<Output = Result<(), PublishError>> + Send
fn publish_metric( &self, metric: PublishMetric, ) -> impl Future<Output = Result<(), PublishError>> + Send
Publish a single metric.
Source§fn publish_metrics(
&self,
metrics: Vec<PublishMetric>,
) -> impl Future<Output = Result<(), PublishError>> + Send
fn publish_metrics( &self, metrics: Vec<PublishMetric>, ) -> impl Future<Output = Result<(), PublishError>> + Send
Publish a batch of metrics after sorting by timestamp.
Auto Trait Implementations§
impl Freeze for NodeHandle
impl !RefUnwindSafe for NodeHandle
impl Send for NodeHandle
impl Sync for NodeHandle
impl Unpin for NodeHandle
impl UnsafeUnpin for NodeHandle
impl !UnwindSafe for NodeHandle
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