Skip to main content

SubscriptionBuiltinTopicData

Struct SubscriptionBuiltinTopicData 

Source
pub struct SubscriptionBuiltinTopicData {
    pub key: Guid,
    pub participant_key: Guid,
    pub topic_name: String,
    pub type_name: String,
    pub durability: DurabilityKind,
    pub reliability: ReliabilityKind,
    pub ownership: OwnershipKind,
    pub liveliness_lease_seconds: i32,
    pub deadline_seconds: i32,
    pub partition: Vec<String>,
}
Expand description

Sample-Typ des DCPSSubscription-Builtin-Topics (DDS 1.4 §2.2.5.4).

Repraesentiert einen entdeckten remote DataReader.

Fields§

§key: Guid

Identitaet des Endpoints (= Reader-GUID).

§participant_key: Guid

GUID des Participants, dem der Reader gehoert.

§topic_name: String

Topic-Name.

§type_name: String

IDL-Type-Name.

§durability: DurabilityKind

Durability-QoS-Kind.

§reliability: ReliabilityKind

Reliability-QoS-Kind.

§ownership: OwnershipKind

Ownership-QoS-Kind.

§liveliness_lease_seconds: i32

Liveliness-Lease (Sekunden).

§deadline_seconds: i32

Deadline-Period (Sekunden).

§partition: Vec<String>

Partition-Liste.

Implementations§

Source§

impl SubscriptionBuiltinTopicData

Source

pub fn from_wire(w: &SubscriptionBuiltinTopicData) -> Self

Konstruiert aus dem Wire-Datentyp.

Trait Implementations§

Source§

impl BuiltinTopic for SubscriptionBuiltinTopicData

Source§

const TOPIC_NAME: &'static str = TOPIC_NAME_DCPS_SUBSCRIPTION

Topic-Name aus DDS 1.4 §2.2.5.
Source§

impl Clone for SubscriptionBuiltinTopicData

Source§

fn clone(&self) -> SubscriptionBuiltinTopicData

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 DdsType for SubscriptionBuiltinTopicData

Source§

const TYPE_NAME: &'static str = "DDS::SubscriptionBuiltinTopicData"

Vollqualifizierter Topic-Type-Name (z.B. "std_msgs::String"). Muss exakt zum Peer-Type-Namen passen (strict matching).
Source§

const HAS_KEY: bool = true

true wenn der Topic-Type keyed ist (mindestens ein Member mit @key-Annotation). Default false — Caller (proc-macro) ueberschreibt fuer keyed Types und implementiert auch Self::encode_key_holder_be. Read more
Source§

const KEY_HOLDER_MAX_SIZE: Option<usize>

Maximale Groesse des PLAIN_CDR2-BE-KeyHolder-Streams in Bytes (XTypes 1.3 §7.6.8.4 Step 5). None = nicht keyed oder unbounded (MD5-Pfad). Some(n) mit n <= 16 = zero-pad-Pfad.
Source§

fn encode(&self, out: &mut Vec<u8>) -> Result<(), EncodeError>

Serialisiert self in den XCDR2-Payload, der in einer DATA-Submessage als serialized_payload gesendet wird. Default-Endianness: Little-Endian (RTPS 2.5 §10.5 RepresentationIdentifier = CDR2_LE = 0x0010). Read more
Source§

fn decode(bytes: &[u8]) -> Result<Self, DecodeError>

Deserialisiert einen XCDR2-Payload. Der Caller stellt sicher, dass bytes den vollen Sample-Payload enthaelt. Read more
Source§

fn encode_key_holder_be(&self, holder: &mut PlainCdr2BeKeyHolder)

Serialisiert die @key-Member-Werte im PLAIN_CDR2-BE-Format in den uebergebenen PlainCdr2BeKeyHolder. Reihenfolge: nach member_id aufsteigend (XTypes 1.3 §7.6.8.3.1.b). Read more
Source§

const EXTENSIBILITY: Extensibility = Extensibility::Final

XTypes 1.3 §7.4.5 Struct-Extensibility-Kind. Default Final fuer Backwards-Kompat zu pre-EXTENSIBILITY-Codegen-Outputs. Spec: zerodds-xcdr2-rust §2.3.
Source§

const IS_KEYED: bool = Self::HAS_KEY

Spec-aligned Alias fuer Self::HAS_KEY. zerodds-xcdr2-rust §2 referenziert das als IS_KEYED.
Source§

const IS_NESTED: bool = false

true wenn der Type mit @nested annotiert ist (XTypes 1.3 §7.4.6.3.5). Nested-Types sind nur als Member anderer Types gedacht und MUESSEN nicht als DDS-Topic-Type registriert werden. DomainParticipant::create_topic lehnt registration von nested-Types mit PreconditionNotMet ab.
Source§

const TYPE_IDENTIFIER: TypeIdentifier = zerodds_types::TypeIdentifier::None

XTypes 1.3 §7.3.4.2 — TypeIdentifier des Types fuer XTypes-aware Discovery + Compatibility-Matching. Default TypeIdentifier::None signalisiert “type-id nicht bereitgestellt; Reader-Writer-Match faellt zurueck auf reinen type_name-Vergleich (DDS 1.4 §2.2.3 Default-Path)”. Read more
Source§

fn encode_be(&self, out: &mut Vec<u8>) -> Result<(), EncodeError>

Big-Endian-Variante von Self::encode. Default-Implementation delegiert auf Self::encode (kein Byte-Swap), da generischer BE-Re-Encode ohne Type-Reflection nicht moeglich ist. Codegen ueberschreibt das fuer Strukturen, die echt BE auf die Wire gehen sollen. Spec: zerodds-xcdr2-rust §2.4. Read more
Source§

fn field_value(&self, _path: &str) -> Option<Value>

Liefert den Wert eines Feldpfads (dotted, z.B. "a.b") als zerodds_sql_filter::Value fuer SQL-Filter-Evaluation in QueryCondition / ContentFilteredTopic. Default: None (kein Feld erreichbar — der Filter denied dann jedes Sample, sofern es einen Feldzugriff enthaelt). Read more
Source§

fn compute_key_hash(&self) -> Option<[u8; 16]>

Berechnet den 16-Byte KeyHash dieser Instanz nach XTypes 1.3 §7.6.8.4. None wenn HAS_KEY = false. Read more
Source§

fn key_hash(&self) -> Option<[u8; 16]>

Spec-aligned Alias fuer Self::compute_key_hash. zerodds-xcdr2-rust §2.5 nutzt den Namen key_hash; der Implementations-Name behaelt compute_key_hash aus historischer Kompat. Beide liefern denselben Wert.
Source§

impl Debug for SubscriptionBuiltinTopicData

Source§

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

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

impl PartialEq for SubscriptionBuiltinTopicData

Source§

fn eq(&self, other: &SubscriptionBuiltinTopicData) -> 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 SubscriptionBuiltinTopicData

Source§

impl StructuralPartialEq for SubscriptionBuiltinTopicData

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.