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 type of the DCPSSubscription built-in topic (DDS 1.4 §2.2.5.4).
Represents a discovered remote DataReader.
Fields§
§key: GuidIdentity of the endpoint (= reader GUID).
participant_key: GuidGUID of the participant that owns the reader.
topic_name: StringTopic name.
type_name: StringIDL type name.
durability: DurabilityKindDurability QoS kind.
reliability: ReliabilityKindReliability QoS kind.
ownership: OwnershipKindOwnership QoS kind.
liveliness_lease_seconds: i32Liveliness lease (seconds).
deadline_seconds: i32Deadline period (seconds).
partition: Vec<String>Partition list.
Implementations§
Source§impl SubscriptionBuiltinTopicData
impl SubscriptionBuiltinTopicData
Sourcepub fn from_wire(w: &SubscriptionBuiltinTopicData) -> Self
pub fn from_wire(w: &SubscriptionBuiltinTopicData) -> Self
Constructs from the wire data type.
Trait Implementations§
Source§impl BuiltinTopic for SubscriptionBuiltinTopicData
impl BuiltinTopic for SubscriptionBuiltinTopicData
Source§const TOPIC_NAME: &'static str = TOPIC_NAME_DCPS_SUBSCRIPTION
const TOPIC_NAME: &'static str = TOPIC_NAME_DCPS_SUBSCRIPTION
Topic name from DDS 1.4 §2.2.5.
Source§impl Clone for SubscriptionBuiltinTopicData
impl Clone for SubscriptionBuiltinTopicData
Source§fn clone(&self) -> SubscriptionBuiltinTopicData
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)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl DdsType for SubscriptionBuiltinTopicData
impl DdsType for SubscriptionBuiltinTopicData
Source§const TYPE_NAME: &'static str = "DDS::SubscriptionBuiltinTopicData"
const TYPE_NAME: &'static str = "DDS::SubscriptionBuiltinTopicData"
Fully-qualified topic type name (e.g.
"std_msgs::String").
Must match the peer type name exactly (strict matching).Source§const HAS_KEY: bool = true
const HAS_KEY: bool = true
true if the topic type is keyed (at least one member with
a @key annotation). Default false — the caller (proc-macro)
overrides this for keyed types and also implements
Self::encode_key_holder_be. Read moreSource§const KEY_HOLDER_MAX_SIZE: Option<usize>
const KEY_HOLDER_MAX_SIZE: Option<usize>
Maximum size of the PLAIN_CDR2-BE KeyHolder stream in bytes
(XTypes 1.3 §7.6.8.4 step 5).
None = not keyed or unbounded
(MD5 path). Some(n) with n <= 16 = zero-pad path.Source§fn encode(&self, out: &mut Vec<u8>) -> Result<(), EncodeError>
fn encode(&self, out: &mut Vec<u8>) -> Result<(), EncodeError>
Serializes
self into the XCDR2 payload sent as the
serialized_payload of a DATA submessage. Default endianness:
little-endian (RTPS 2.5 §10.5
RepresentationIdentifier = CDR2_LE = 0x0010). Read moreSource§fn decode(bytes: &[u8]) -> Result<Self, DecodeError>
fn decode(bytes: &[u8]) -> Result<Self, DecodeError>
Deserializes a little-endian XCDR2 payload. The caller ensures that
bytes contains the full sample payload (encapsulation header already
stripped). Read moreSource§fn encode_key_holder_be(&self, holder: &mut PlainCdr2BeKeyHolder)
fn encode_key_holder_be(&self, holder: &mut PlainCdr2BeKeyHolder)
Serializes the
@key member values in PLAIN_CDR2-BE format
into the given PlainCdr2BeKeyHolder. Order: ascending by
member_id (XTypes 1.3 §7.6.8.3.1.b). Read moreSource§const EXTENSIBILITY: Extensibility = Extensibility::Final
const EXTENSIBILITY: Extensibility = Extensibility::Final
XTypes 1.3 §7.4.5 struct extensibility kind. Default
Final
for backwards compat with pre-EXTENSIBILITY codegen outputs.
Spec: zerodds-xcdr2-rust §2.3.Source§const IS_NESTED: bool = false
const IS_NESTED: bool = false
true if the type is annotated with @nested (XTypes 1.3
§7.4.6.3.5). Nested types are only intended as members of other
types and MUST NOT be registered as a DDS topic type.
DomainParticipant::create_topic rejects registration of
nested types with PreconditionNotMet.Source§const TYPE_IDENTIFIER: TypeIdentifier = zerodds_types::TypeIdentifier::None
const TYPE_IDENTIFIER: TypeIdentifier = zerodds_types::TypeIdentifier::None
XTypes 1.3 §7.3.4.2 — TypeIdentifier of the type for
XTypes-aware discovery + compatibility matching. Default
TypeIdentifier::None signals “type-id not provided;
reader-writer matching falls back to plain type_name
comparison (DDS 1.4 §2.2.3 default path)”. Read moreSource§fn encode_be(&self, out: &mut Vec<u8>) -> Result<(), EncodeError>
fn encode_be(&self, out: &mut Vec<u8>) -> Result<(), EncodeError>
Big-endian variant of
Self::encode. The default
implementation delegates to Self::encode (no byte swap),
since a generic BE re-encode is not possible without type
reflection. Codegen overrides this for structures that should
genuinely go on the wire as BE. Spec: zerodds-xcdr2-rust §2.4. Read moreSource§fn decode_be(bytes: &[u8]) -> Result<Self, DecodeError>
fn decode_be(bytes: &[u8]) -> Result<Self, DecodeError>
Big-endian variant of
Self::decode — for a payload whose
encapsulation header declared a big-endian representation identifier
(CDR_BE = 0x0000, PL_CDR_BE = 0x0002, CDR2_BE = 0x0006,
D_CDR2_BE = 0x0008, PL_CDR2_BE = 0x000a). The default implementation
delegates to Self::decode (little-endian) so pre-decode_be codegen
keeps working on the canonical wire; idl-rust codegen overrides this to
build a big-endian reader. Symmetric to Self::encode_be. Spec:
zerodds-xcdr2-rust §2.4; RTPS 2.5 §10.5. Read moreSource§fn encode_xcdr1(&self, out: &mut Vec<u8>) -> Result<(), EncodeError>
fn encode_xcdr1(&self, out: &mut Vec<u8>) -> Result<(), EncodeError>
Serializes as classic CDR / XCDR1 little-endian (representation
CDR_LE = 0x0001, max-alignment 8, no DHEADER on @final/@appendable,
PL_CDR1 for @mutable). This is the encoding Cyclone DDS carries in an
iceoryx PSMX chunk for a serialized sample, so the iceoryx-cyclone
bridge uses it for cross-vendor same-host interop. The default delegates
to Self::encode (XCDR2) — correct only for types whose XCDR1 and
XCDR2 byte streams coincide (no 8-byte members, @final, no @mutable);
idl-rust codegen overrides it with a true XCDR1 writer. Read moreSource§fn decode_xcdr1(bytes: &[u8]) -> Result<Self, DecodeError>
fn decode_xcdr1(bytes: &[u8]) -> Result<Self, DecodeError>
Deserializes a classic-CDR / XCDR1 little-endian payload. Symmetric to
Self::encode_xcdr1; the default delegates to Self::decode and
idl-rust codegen overrides it with an XCDR1 reader. Read moreSource§fn decode_xcdr1_be(bytes: &[u8]) -> Result<Self, DecodeError>
fn decode_xcdr1_be(bytes: &[u8]) -> Result<Self, DecodeError>
Deserializes a classic-CDR / XCDR1 big-endian payload (encapsulation
CDR_BE = 0x0000 / PL_CDR_BE = 0x0002). The default delegates to
Self::decode_xcdr1 (little-endian) — correct for byte-order-agnostic
types and the common case (Cyclone/FastDDS/RTI emit XCDR1 little-endian);
idl-rust codegen overrides it with a true big-endian XCDR1 reader.
Symmetric to Self::decode_be for XCDR2. Read moreSource§fn field_value(&self, _path: &str) -> Option<Value>
fn field_value(&self, _path: &str) -> Option<Value>
Returns the value of a field path (dotted, e.g.
"a.b") as a
zerodds_sql_filter::Value for SQL filter evaluation in
QueryCondition / ContentFilteredTopic. Default: None (no field
reachable — the filter then denies every sample that contains a
field access). Read moreSource§impl Debug for SubscriptionBuiltinTopicData
impl Debug for SubscriptionBuiltinTopicData
impl Eq for SubscriptionBuiltinTopicData
impl StructuralPartialEq for SubscriptionBuiltinTopicData
Auto Trait Implementations§
impl Freeze for SubscriptionBuiltinTopicData
impl RefUnwindSafe for SubscriptionBuiltinTopicData
impl Send for SubscriptionBuiltinTopicData
impl Sync for SubscriptionBuiltinTopicData
impl Unpin for SubscriptionBuiltinTopicData
impl UnsafeUnpin for SubscriptionBuiltinTopicData
impl UnwindSafe for SubscriptionBuiltinTopicData
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more