#[non_exhaustive]pub enum KeyExprFormat {
RmwZenoh,
Ros2Dds,
}Expand description
Key expression format selector.
Determines which key expression format to use for ROS 2 <-> Zenoh mapping.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
RmwZenoh
rmw_zenoh_cpp compatible format (default).
- Topic key expressions use
strip_slashes()(preserve internal slashes) - Liveliness tokens use mangling (replace
/with%) - Format:
<domain>/<topic>/<type>/<hash>
Ros2Dds
zenoh-plugin-ros2dds compatible format.
Different key expression structure for DDS bridge compatibility.
Implementations§
Source§impl KeyExprFormat
impl KeyExprFormat
Sourcepub fn topic_key_expr(&self, entity: &EndpointEntity) -> Result<TopicKE>
pub fn topic_key_expr(&self, entity: &EndpointEntity) -> Result<TopicKE>
Generate topic key expression for data publication/subscription.
Sourcepub fn liveliness_key_expr(
&self,
entity: &EndpointEntity,
zid: &ZenohId,
) -> Result<LivelinessKE>
pub fn liveliness_key_expr( &self, entity: &EndpointEntity, zid: &ZenohId, ) -> Result<LivelinessKE>
Generate liveliness token for endpoint entity discovery.
Sourcepub fn node_liveliness_key_expr(
&self,
entity: &NodeEntity,
) -> Result<LivelinessKE>
pub fn node_liveliness_key_expr( &self, entity: &NodeEntity, ) -> Result<LivelinessKE>
Generate liveliness token for node entity discovery.
Sourcepub fn parse_liveliness(&self, ke: &KeyExpr<'_>) -> Result<Entity>
pub fn parse_liveliness(&self, ke: &KeyExpr<'_>) -> Result<Entity>
Parse liveliness token back to entity.
Sourcepub fn encode_qos(&self, qos: &QosProfile, keyless: bool) -> String
pub fn encode_qos(&self, qos: &QosProfile, keyless: bool) -> String
Encode QoS for liveliness token.
Sourcepub fn decode_qos(&self, s: &str) -> Result<(bool, QosProfile)>
pub fn decode_qos(&self, s: &str) -> Result<(bool, QosProfile)>
Decode QoS from liveliness token.
Trait Implementations§
Source§impl Clone for KeyExprFormat
impl Clone for KeyExprFormat
Source§fn clone(&self) -> KeyExprFormat
fn clone(&self) -> KeyExprFormat
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for KeyExprFormat
Source§impl Debug for KeyExprFormat
impl Debug for KeyExprFormat
Source§impl Default for KeyExprFormat
impl Default for KeyExprFormat
Source§fn default() -> KeyExprFormat
fn default() -> KeyExprFormat
Returns the “default value” for a type. Read more
impl Eq for KeyExprFormat
Source§impl PartialEq for KeyExprFormat
impl PartialEq for KeyExprFormat
Source§fn eq(&self, other: &KeyExprFormat) -> bool
fn eq(&self, other: &KeyExprFormat) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for KeyExprFormat
Auto Trait Implementations§
impl Freeze for KeyExprFormat
impl RefUnwindSafe for KeyExprFormat
impl Send for KeyExprFormat
impl Sync for KeyExprFormat
impl Unpin for KeyExprFormat
impl UnsafeUnpin for KeyExprFormat
impl UnwindSafe for KeyExprFormat
Blanket Implementations§
Source§impl<Source> AccessAs for Source
impl<Source> AccessAs for Source
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more