pub struct PublicationBuiltinTopicData {Show 24 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 ownership_strength: i32,
pub liveliness: LivelinessQosPolicy,
pub deadline: DeadlineQosPolicy,
pub lifespan: LifespanQosPolicy,
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 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,
pub unicast_locators: Vec<Locator>,
pub multicast_locators: Vec<Locator>,
}Expand description
Discovered Publication / lokaler DataWriter — Subset.
Fields§
§key: GuidEndpoint-GUID (= Writer-GUID).
participant_key: GuidGUID of the participant the writer belongs to.
topic_name: StringTopic-Name (DDS-Topic, z.B. “ChatterTopic”).
type_name: StringIDL-Type-Name (z.B. “std_msgs::String”).
durability: DurabilityKindDurability-QoS.
reliability: ReliabilityQosReliability-QoS.
ownership: OwnershipKindOwnership-QoS (Spec §2.2.3.23). Default Shared.
ownership_strength: i32Ownership strength (spec §2.2.3.24). Only relevant when
ownership == Exclusive; default 0.
liveliness: LivelinessQosPolicyLiveliness QoS (spec §2.2.3.11).
deadline: DeadlineQosPolicyDeadline QoS (spec §2.2.3.7).
lifespan: LifespanQosPolicyLifespan QoS (spec §2.2.3.16) — writer-only.
partition: Vec<String>Partition QoS (spec §2.2.3.13). Empty list = “default partition” (“”).
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 (TypeIdentifier hashes + dependencies, XTypes
§7.6.3.2.2). Opaque bytes: the structure lives in zerodds-types,
but we transport the serialized blob to avoid circular crate
dependencies.
data_representation: Vec<i16>Accepted data representations (0=XCDR1, 1=XML, 2=XCDR2, …).
Spec: XTypes 1.3 §7.6.3.1.1 / RTPS 2.5 PID 0x0073.
The default list when empty is [XCDR1] per XTypes §7.6.3.1.2 —
we always emit the PID explicitly so strict vendors like
RTI 7.7.0 can SEDP-match.
security_info: Option<EndpointSecurityInfo>Endpoint security info (PID 0x1004, DDS-Security 1.1 §7.4.1.5).
None for legacy peers without a security PID. WP 4H-c matches on
it: writer/reader pairs with incompatible protection levels are
rejected.
service_instance_name: Option<String>PID_SERVICE_INSTANCE_NAME (DDS-RPC 1.0 §7.8.2) — logical
service-instance name of an RPC endpoint. None for ordinary
pub/sub topics.
PID_RELATED_ENTITY_GUID (DDS-RPC 1.0 §7.8.2) — GUID of the counterpart endpoint in an RPC endpoint pair. For a request writer it points to the reply reader of the same requester; for a reply writer to the request reader of the same replier.
topic_aliases: Option<Vec<String>>PID_TOPIC_ALIASES (DDS-RPC 1.0 §7.8.2) — alternative topic names for routing/compat layers. Order is significant.
type_identifier: TypeIdentifierPID_ZERODDS_TYPE_ID (vendor PID 0x8002) — XTypes 1.3 §7.3.4.2 TypeIdentifier of the writer type for XTypes-aware reader matching (XTypes §7.6.3.7 + DDS 1.4 §2.2.3 TypeConsistencyEnforcement).
unicast_locators: Vec<Locator>Endpoint unicast locators (DDSI-RTPS 2.5 §8.5.3.3:
DiscoveredWriterData.writerProxy.unicastLocatorList). Where
peers send user data to this writer endpoint. Empty = the peer
falls back to the participant DEFAULT_UNICAST_LOCATOR from
SPDP (§8.5.5). OpenDDS stores the real user locator exclusively
here and sends only the placeholder 127.0.0.1:12345 as the SPDP
default.
multicast_locators: Vec<Locator>Endpoint multicast locators (DDSI-RTPS 2.5 §8.5.3.3).
Implementations§
Source§impl PublicationBuiltinTopicData
impl PublicationBuiltinTopicData
Source§impl PublicationBuiltinTopicData
impl PublicationBuiltinTopicData
Sourcepub fn as_writer_qos(&self) -> WriterQos
pub fn as_writer_qos(&self) -> WriterQos
Builds a WriterQos from the wire fields.
Limitation: only durability + reliability are taken from
self; all other policies stay at their WriterQos::default()
values. Applications that want to match against the discovered
peer must be aware of this limitation — see the module
documentation.
Sourcepub fn with_writer_qos(self, qos: &WriterQos) -> Self
pub fn with_writer_qos(self, qos: &WriterQos) -> Self
Applies a full WriterQos to this builtin-topic-data payload,
as far as the wire fields allow.
Policies not (yet) serialized are lost.
Trait Implementations§
Source§impl Clone for PublicationBuiltinTopicData
impl Clone for PublicationBuiltinTopicData
Source§fn clone(&self) -> PublicationBuiltinTopicData
fn clone(&self) -> PublicationBuiltinTopicData
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PublicationBuiltinTopicData
impl Debug for PublicationBuiltinTopicData
impl Eq for PublicationBuiltinTopicData
Source§impl PartialEq for PublicationBuiltinTopicData
impl PartialEq for PublicationBuiltinTopicData
Source§fn eq(&self, other: &PublicationBuiltinTopicData) -> bool
fn eq(&self, other: &PublicationBuiltinTopicData) -> bool
self and other values to be equal, and is used by ==.