rclrs

Struct PublisherGid

Source
pub struct PublisherGid {
    pub data: [u8; 16],
    pub implementation_identifier: *const c_char,
}
Expand description

An identifier for a publisher in the local context.

To quote the rmw documentation:

The identifier uniquely identifies the publisher for the local context, but it will not necessarily be the same identifier given in other contexts or processes for the same publisher. Therefore the identifier will uniquely identify the publisher within your application but may disagree about the identifier for that publisher when compared to another application. Even with this limitation, when combined with the publisher sequence number it can uniquely identify a message within your local context. Publisher GIDs generated by the RMW implementation could collide at some point, in which case it is not possible to distinguish which publisher sent the message. The details of how GIDs are generated are RMW implementation dependent.

It is possible the the RMW implementation needs to reuse a publisher GID, due to running out of unique identifiers or some other constraint, in which case the RMW implementation may document what happens in that case, but that behavior is not defined here. However, this should be avoided, if at all possible, by the RMW implementation, and should be unlikely to happen in practice.

Fields§

§data: [u8; 16]

Bytes identifying a publisher in the RMW implementation.

§implementation_identifier: *const c_char

A string containing the RMW implementation’s name.

The data member only uniquely identifies the publisher within this RMW implementation.

It is not converted to a CString, since most people who request a MessageInfo do not need it.

Trait Implementations§

Source§

impl Clone for PublisherGid

Source§

fn clone(&self) -> PublisherGid

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PublisherGid

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for PublisherGid

Source§

fn eq(&self, other: &PublisherGid) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for PublisherGid

Source§

impl Send for PublisherGid

Source§

impl StructuralPartialEq for PublisherGid

Source§

impl Sync for PublisherGid

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.