Crate srad_eon

Crate srad_eon 

Source
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§

BirthInitializer
A struct used to register metrics to be included in a node or devices birth.
BirthMetricDetails
Details about a metric to be included in a birth message
DeviceHandle
EoN
struct that represents a Sparkplug Edge Node instance.
EoNBuilder
A builder for creating and configuring Edge of Network (EoN) instances.
MessageMetric
A metric from a message
MessageMetrics
A collection of metrics from a message
MessageMetricsIterator
MetricToken
A token representing a birthed metric
NoMetricManager
A no-op implementation MetricManager which will provide no metrics on Birth and will do nothing when a CMD message is received.
NodeHandle
A handle for interacting with the Edge Node.
PublishMetric
A struct for creating a metric to be published with associated metadata and properties.
SimpleMetricBuilder
A Metric Builder to configure a metric to add to a SimpleMetricManager
SimpleMetricManager
A MetricManager implementation that provides simple metric registration and handling.
TemplateRegistry
A struct representing a collection of Template Definitions for a Node

Enums§

PublishError
StateError

Traits§

DeviceMetricManager
A trait for implementing a type that defines device-specific metrics
MetricManager
A trait for implementing a type that defines a collection of metrics.
MetricPublisher
A trait for publishing metrics to the network.
NodeMetricManager
A trait for implementing a type that defines and manage node-specific metrics and template definitions