Skip to main content

SubscriptionBuiltinTopicData

Struct SubscriptionBuiltinTopicData 

Source
pub struct SubscriptionBuiltinTopicData {
Show 21 fields pub key: Guid, pub participant_key: Guid, pub topic_name: String, pub type_name: String, pub durability: DurabilityKind, pub reliability: ReliabilityQos, pub ownership: OwnershipKind, pub liveliness: LivelinessQosPolicy, pub deadline: DeadlineQosPolicy, pub partition: Vec<String>, pub user_data: Vec<u8>, pub topic_data: Vec<u8>, pub group_data: Vec<u8>, pub type_information: Option<Vec<u8>>, pub data_representation: Vec<i16>, pub content_filter: Option<ContentFilterProperty>, pub security_info: Option<EndpointSecurityInfo>, pub service_instance_name: Option<String>, pub related_entity_guid: Option<Guid>, pub topic_aliases: Option<Vec<String>>, pub type_identifier: TypeIdentifier,
}
Expand description

Discovered Subscription / lokaler DataReader — Subset.

Wire-identisch zu [PublicationBuiltinTopicData] in Phase 1; getrennter Typ, damit SEDP-Publications- und Subscriptions- Caches klar unterschiedbar bleiben und Erweiterungen (z.B. expects_inline_qos, time_based_filter) nicht ueber den Publication-Typ gezogen werden.

Fields§

§key: Guid

Endpoint-GUID (= 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.

§reliability: ReliabilityQos

Reliability-QoS.

§ownership: OwnershipKind

Ownership-QoS (Spec §2.2.3.23). Default Shared.

§liveliness: LivelinessQosPolicy

Liveliness-QoS (Spec §2.2.3.11).

§deadline: DeadlineQosPolicy

Deadline-QoS (Spec §2.2.3.7).

§partition: Vec<String>

Partition-QoS (Spec §2.2.3.13).

§user_data: Vec<u8>

UserData-QoS (Spec §2.2.3.1) — opaque sequence.

§topic_data: Vec<u8>

TopicData-QoS (Spec §2.2.3.3) — opaque sequence.

§group_data: Vec<u8>

GroupData-QoS (Spec §2.2.3.2) — opaque sequence.

§type_information: Option<Vec<u8>>

Type-Information als opaque bytes (XTypes §7.6.3.2.2).

§data_representation: Vec<i16>

Akzeptierte Data-Representations.

§content_filter: Option<ContentFilterProperty>

Content-Filter-Property (DDSI-RTPS §9.6.3.4 Table 9.14). Nur gesetzt wenn der Reader als ContentFilteredTopic erstellt wurde.

§security_info: Option<EndpointSecurityInfo>

Endpoint-Security-Info (PID 0x1004, DDS-Security 1.1 §7.4.1.5). None bei Legacy-Peers. WP 4H-c-Matching prueft Writer/Reader- Paare auf Protection-Kompatibilitaet.

§service_instance_name: Option<String>

PID_SERVICE_INSTANCE_NAME (DDS-RPC 1.0 §7.8.2) — logischer Service-Instance-Name eines RPC-Endpoints.

§related_entity_guid: Option<Guid>

PID_RELATED_ENTITY_GUID (DDS-RPC 1.0 §7.8.2) — GUID des Pendant-Endpoints (z.B. Reply-Reader → Reply-Writer).

§topic_aliases: Option<Vec<String>>

PID_TOPIC_ALIASES (DDS-RPC 1.0 §7.8.2).

§type_identifier: TypeIdentifier

PID_ZERODDS_TYPE_ID (Vendor-PID 0x8002) — Reader-Type-Identifier für XTypes-aware Match (siehe PublicationBuiltinTopicData).

Implementations§

Source§

impl SubscriptionBuiltinTopicData

Source

pub fn as_reader_qos(&self) -> ReaderQos

Analog PublicationBuiltinTopicData::as_writer_qos fuer Reader.

Einschraenkung: Nur Durability + Reliability; uebrige Policies auf ReaderQos::default().

Source

pub fn with_reader_qos(self, qos: &ReaderQos) -> Self

Source§

impl SubscriptionBuiltinTopicData

Source

pub fn to_pl_cdr_le(&self) -> Result<Vec<u8>, WireError>

Encoded zu PL_CDR_LE-Bytes (mit 4-byte Encapsulation-Header).

Direkt implementiert (nicht ueber [PublicationBuiltinTopicData] delegiert), damit Erweiterungs-PIDs, die writer-only sind (z.B. PID_LIFESPAN, PID_OWNERSHIP_STRENGTH), nicht versehentlich in den Subscription-Payload wandern.

§Errors

ValueOutOfRange wenn ein String laenger als u32::MAX ist.

Source

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

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

§Errors

UnexpectedEof bei zu kurzen Bytes, UnsupportedEncapsulation bei unbekanntem Encoding, ValueOutOfRange wenn Pflicht-PIDs fehlen.

Trait Implementations§

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 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.