Skip to main content

ParticipantMessageData

Struct ParticipantMessageData 

Source
pub struct ParticipantMessageData {
    pub participant_guid: [u8; 16],
    pub kind: u32,
    pub data: Vec<u8>,
}
Expand description

ParticipantMessageData (DDSI-RTPS 2.5 §9.6.3.1) — Payload des DCPSParticipantMessage-Topics.

Fields§

§participant_guid: [u8; 16]

16-Byte GUID des Senders (Prefix + EntityId::PARTICIPANT). Auch wenn die Spec “Prefix” sagt, schreiben Cyclone und Fast- DDS hier den vollen Guid; wir folgen.

§kind: u32

Liveliness-Kind (siehe PARTICIPANT_MESSAGE_DATA_KIND_*).

§data: Vec<u8>

Opaque Token. Bei MANUAL_BY_TOPIC Topic-Hash, sonst leer.

Implementations§

Source§

impl ParticipantMessageData

Source

pub fn automatic(prefix: GuidPrefix) -> Self

Konstruktor fuer AUTOMATIC-Heartbeat (data leer).

Source

pub fn manual_by_participant(prefix: GuidPrefix) -> Self

Konstruktor fuer MANUAL_BY_PARTICIPANT-Heartbeat (data leer).

Source

pub fn manual_by_topic(prefix: GuidPrefix, topic_token: Vec<u8>) -> Self

Konstruktor fuer ZeroDDS-MANUAL_BY_TOPIC (data = Topic-Token).

Source

pub fn to_cdr(&self, little_endian: bool) -> Result<Vec<u8>, WireError>

Encoded zu CDR-Bytes (mit 4-byte Encapsulation-Header). little_endian = trueENCAPSULATION_CDR_LE, sonst BE.

§Errors

WireError::ValueOutOfRange wenn data.len() > MAX_DATA_LEN.

Source

pub fn from_cdr(bytes: &[u8]) -> Result<Self, WireError>

Decoded aus CDR-Bytes (mit Encapsulation-Header).

Akzeptiert 0x0000/0x0001 (XCDR1 Plain) und 0x0006/0x0007 (XCDR2 Plain). Andere Encapsulation-Kinds → Fehler.

Tolerant gegenueber 12-Byte-Prefix-Only-Kodierung (fuellt mit 0 auf 16 Byte auf).

§Errors
  • UnsupportedEncapsulation bei nicht-CDR-Encapsulation
  • UnexpectedEof wenn Bytes zu kurz fuer Header / Body
  • ValueOutOfRange wenn data.len > MAX_DATA_LEN
Source

pub fn prefix(&self) -> GuidPrefix

Liefert den GuidPrefix (erste 12 Byte).

Source

pub fn is_vendor_kind(&self) -> bool

true wenn der kind-Wert vendor-spezifisch ist (MSB gesetzt).

Trait Implementations§

Source§

impl Clone for ParticipantMessageData

Source§

fn clone(&self) -> ParticipantMessageData

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ParticipantMessageData

Source§

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

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

impl PartialEq for ParticipantMessageData

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · 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 ParticipantMessageData

Source§

impl StructuralPartialEq for ParticipantMessageData

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, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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.