pub trait TypeSupport:
'static
+ Send
+ Sync {
// Required methods
fn to_bytes(&self) -> Result<Vec<u8>, Error>;
fn from_bytes(bytes: &[u8]) -> Result<Self, Error>
where Self: Sized;
fn type_name() -> &'static str;
// Provided methods
fn type_support() -> *const c_void { ... }
fn type_hash() -> Result<String, Error> { ... }
}Expand description
Trait for types that have type support information.
This allows the runtime to understand the structure of messages for serialization and deserialization.
§Serialization
The to_bytes and from_bytes methods provide CDR serialization:
- For RCL (DDS-based): Uses
rmw_serialize/rmw_deserializeinternally - For native Zenoh: Uses serde with
cdr-encodingcrate
Required Methods§
Provided Methods§
Sourcefn type_support() -> *const c_void
fn type_support() -> *const c_void
Returns an opaque pointer to the type support structure.
The actual type of this pointer depends on the implementation
(e.g., rosidl_message_type_support_t in RCL).
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementors§
impl TypeSupport for GoalID
impl TypeSupport for oxidros_msg::common_interfaces::actionlib_msgs::msg::goal_status::GoalStatus
impl TypeSupport for oxidros_msg::common_interfaces::actionlib_msgs::msg::goal_status_array::GoalStatusArray
impl TypeSupport for oxidros_msg::common_interfaces::builtin_interfaces::msg::duration::Duration
impl TypeSupport for oxidros_msg::common_interfaces::builtin_interfaces::msg::time::Time
impl TypeSupport for DiagnosticArray
impl TypeSupport for DiagnosticStatus
impl TypeSupport for oxidros_msg::common_interfaces::diagnostic_msgs::msg::key_value::KeyValue
impl TypeSupport for AddDiagnostics_Request
impl TypeSupport for AddDiagnostics_Response
impl TypeSupport for SelfTest_Request
impl TypeSupport for SelfTest_Response
impl TypeSupport for Fibonacci_Feedback
impl TypeSupport for Fibonacci_FeedbackMessage
Available on non-crate feature
rcl only.impl TypeSupport for Fibonacci_GetResult_Request
Available on non-crate feature
rcl only.impl TypeSupport for Fibonacci_GetResult_Response
Available on non-crate feature
rcl only.impl TypeSupport for Fibonacci_Goal
impl TypeSupport for Fibonacci_Result
impl TypeSupport for Fibonacci_SendGoal_Request
Available on non-crate feature
rcl only.impl TypeSupport for Fibonacci_SendGoal_Response
Available on non-crate feature
rcl only.