Expand description
Part of srad, a general purpose Sparkplug development library in rust.
This library defines a framework for implementing Sparkplug Edge of Network Nodes.
§Overview
srad-eon provides a general implementation of a Sparkplug Node.
The implementation requires the provision of MetricManager implementations to the node or when registering devices. This allows for defining metrics which belong to the node or device as well as the custom handling of CMD messages for those metrics.
The node starts a tokio task for itself node and each subsequent device.
These tasks are used to process incoming state changes and messages from sparkplug topics such as CMD messages
Structs§
- Birth
Initializer - A struct used to register metrics to be included in a node or devices birth.
- Birth
Metric Details - Details about a metric to be included in a birth message
- Device
Handle - EoN
- struct that represents a Sparkplug Edge Node instance.
- EoNBuilder
- A builder for creating and configuring Edge of Network (EoN) instances.
- Message
Metric - A metric from a message
- Message
Metrics - A collection of metrics from a message
- Message
Metrics Iterator - Metric
Token - A token representing a birthed metric
- NoMetric
Manager - A no-op implementation MetricManager which will provide no metrics on Birth and will do nothing when a CMD message is received.
- Node
Handle - A handle for interacting with the Edge Node.
- Publish
Metric - A struct for creating a metric to be published with associated metadata and properties.
- Simple
Metric Builder - A Metric Builder to configure a metric to add to a SimpleMetricManager
- Simple
Metric Manager - A MetricManager implementation that provides simple metric registration and handling.
- Template
Registry - A struct representing a collection of Template Definitions for a Node
Enums§
Traits§
- Device
Metric Manager - A trait for implementing a type that defines device-specific metrics
- Metric
Manager - A trait for implementing a type that defines a collection of metrics.
- Metric
Publisher - A trait for publishing metrics to the network.
- Node
Metric Manager - A trait for implementing a type that defines and manage node-specific metrics and template definitions