#protobuf #iot #api-bindings #sparkplug

sparkplug-rs

Sparkplug protobuf bindings for Rust

9 unstable releases (3 breaking)

0.4.0 May 13, 2022
0.3.3 Mar 15, 2022
0.2.2 Mar 13, 2022
0.1.3 Mar 12, 2022

#1582 in Encoding

23 downloads per month

EPL-2.0 license

24KB
427 lines

sparkplug-rs License Latest Version Documentation Issues FOSSA Status

Rust protobuf payload for Sparkplug™. The structs are generated with the protobuf IDL of the Eclipse Tahu project. For more information look at the homepage of the Eclipse Sparkplug project.

MQTT Topic Names

This crate provides a convenient way to handle MQTT topic names with TopicName.

Examples

# use std::str::FromStr;
# use sparkplug_rs::{NodeMessageType, TopicName, TopicNamespace};
let node = TopicName::new_node_message(TopicNamespace::SPBV1_0,
                                       "my_group".to_string(),
                                       NodeMessageType::NBIRTH,
                                       "nodeId".to_string());
assert_eq!(node.to_string(), "spBv1.0/my_group/NBIRTH/nodeId");

let topic: TopicName = TopicName::from_str("spBv1.0/my_group/NBIRTH/nodeId").unwrap();
assert_eq!(topic, node);

License: EPL-2.0

License

FOSSA Status

Dependencies

~1.7–3.5MB
~67K SLoC