diff options
author | Marcel Müller <m.mueller@ifm.com> | 2022-05-12 10:09:02 +0200 |
---|---|---|
committer | Marcel Müller <m.mueller@ifm.com> | 2022-05-31 09:38:05 +0200 |
commit | 02bfa3768be59b211daddd9b66203b787fd72153 (patch) | |
tree | ea4380d3bd1f3cef282d39402e3dd76ad9c2e080 /crates/core/tedge_api/examples | |
parent | d3df17fbca953c1cde1370fa7a9d184834d26296 (diff) |
Add TypeUUID to Messages
This allows messages to be identified by their UUID. This means that
messages are no longer identified by the internal TypeId as provided
from rustc but our choosing. This allows for more powerful features
along the line, such as external programs being able to specify messages
at all.
Signed-off-by: Marcel Müller <m.mueller@ifm.com>
Diffstat (limited to 'crates/core/tedge_api/examples')
-rw-r--r-- | crates/core/tedge_api/examples/heartbeat.rs | 7 | ||||
-rw-r--r-- | crates/core/tedge_api/examples/universal_log.rs | 7 |
2 files changed, 10 insertions, 4 deletions
diff --git a/crates/core/tedge_api/examples/heartbeat.rs b/crates/core/tedge_api/examples/heartbeat.rs index b253009b..8d64232a 100644 --- a/crates/core/tedge_api/examples/heartbeat.rs +++ b/crates/core/tedge_api/examples/heartbeat.rs @@ -10,17 +10,20 @@ use tedge_api::{ PluginError, }; use tokio::sync::RwLock; +use type_uuid::TypeUuid; +#[derive(Debug, TypeUuid)] +#[uuid = "94916be9-17ba-4bca-a3a0-408d33136fed"] /// A message that represents a heartbeat that gets sent to plugins -#[derive(Debug)] struct Heartbeat; impl Message for Heartbeat {} impl AcceptsReplies for Heartbeat { type Reply = HeartbeatStatus; } +#[derive(Debug, TypeUuid)] +#[uuid = "a6d03c65-51bf-4f89-b383-c67c9ed8533b"] /// The reply for a heartbeat -#[derive(Debug)] enum HeartbeatStatus { Alive, Degraded, diff --git a/crates/core/tedge_api/examples/universal_log.rs b/crates/core/tedge_api/examples/universal_log.rs index 34090040..064ffa22 100644 --- a/crates/core/tedge_api/examples/universal_log.rs +++ b/crates/core/tedge_api/examples/universal_log.rs @@ -10,13 +10,16 @@ use tedge_api::{ PluginError, }; use tokio::sync::RwLock; +use type_uuid::TypeUuid; /// A message that represents a heartbeat that gets sent to plugins -#[derive(Debug)] +#[derive(Debug, TypeUuid)] +#[uuid = "1f807f7b-888f-4881-a1b5-16380e32f8c2"] struct Heartbeat; impl Message for Heartbeat {} -#[derive(Debug)] +#[derive(Debug, TypeUuid)] +#[uuid = "346e233f-c24a-47e0-a15b-3ec0d1e19019"] struct RandomData; impl Message for RandomData {} |