ros2_client/
message.rs

1//! Defines [`Message`] trait, which defines data that is to be sent over
2//! Topics.
3
4use serde::{de::DeserializeOwned, Serialize};
5
6/// Trait to ensure Messages can be (de)serialized
7pub trait Message: Serialize + DeserializeOwned {}
8
9impl Message for () {}
10impl Message for String {}
11
12impl Message for i8 {}
13impl Message for i16 {}
14impl Message for i32 {}
15impl Message for i64 {}
16
17impl Message for u8 {}
18impl Message for u16 {}
19impl Message for u32 {}
20impl Message for u64 {}
21
22impl<T: Message> Message for Vec<T> {}