pub struct TopicBuiltinTopicData {
pub key: Guid,
pub name: String,
pub type_name: String,
pub durability: DurabilityKind,
pub reliability: ReliabilityKind,
}Expand description
Sample-Typ des DCPSTopic-Builtin-Topics (DDS 1.4 §2.2.5.2).
Minimaler Subset (Topic-Name + Type-Name + Durability + Reliability), aus dem End-User-Tooling die discovered Topics rendern kann. Volle Topic-QoS-Tabelle (DDS 1.4 §2.2.5.2) bleibt optionale Erweiterung.
Fields§
§key: GuidStabile Identitaet des Topic-Eintrags (synthetisch aus Hash
von Topic-Name + Type-Name; siehe Self::synthesize_key).
name: StringTopic-Name (z.B. "ChatterTopic").
type_name: StringIDL-Type-Name.
durability: DurabilityKindDurability-QoS-Kind.
reliability: ReliabilityKindReliability-QoS-Kind.
Implementations§
Source§impl TopicBuiltinTopicData
impl TopicBuiltinTopicData
Sourcepub fn synthesize_key(topic: &str, type_name: &str) -> Guid
pub fn synthesize_key(topic: &str, type_name: &str) -> Guid
Erzeugt einen synthetischen GUID-Key aus Topic + Type-Name.
Stabil: derselbe Topic+Type ergibt denselben Key. Damit das
DCPSTopic-Builtin-Topic Idempotent-Updates statt Insert-pro-
Endpoint liefert (Spec §2.2.5.2).
Sourcepub fn from_publication(w: &PublicationBuiltinTopicData) -> Self
pub fn from_publication(w: &PublicationBuiltinTopicData) -> Self
Konstruiert aus einem entdeckten Publication-Wire-Datentyp.
Sourcepub fn from_subscription(w: &SubscriptionBuiltinTopicData) -> Self
pub fn from_subscription(w: &SubscriptionBuiltinTopicData) -> Self
Konstruiert aus einem entdeckten Subscription-Wire-Datentyp.
Trait Implementations§
Source§impl BuiltinTopic for TopicBuiltinTopicData
impl BuiltinTopic for TopicBuiltinTopicData
Source§const TOPIC_NAME: &'static str = TOPIC_NAME_DCPS_TOPIC
const TOPIC_NAME: &'static str = TOPIC_NAME_DCPS_TOPIC
Source§impl Clone for TopicBuiltinTopicData
impl Clone for TopicBuiltinTopicData
Source§fn clone(&self) -> TopicBuiltinTopicData
fn clone(&self) -> TopicBuiltinTopicData
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl DdsType for TopicBuiltinTopicData
impl DdsType for TopicBuiltinTopicData
Source§const TYPE_NAME: &'static str = "DDS::TopicBuiltinTopicData"
const TYPE_NAME: &'static str = "DDS::TopicBuiltinTopicData"
"std_msgs::String").
Muss exakt zum Peer-Type-Namen passen (strict matching).Source§const HAS_KEY: bool = true
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 moreSource§const KEY_HOLDER_MAX_SIZE: Option<usize>
const KEY_HOLDER_MAX_SIZE: Option<usize>
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>
fn encode(&self, out: &mut Vec<u8>) -> Result<(), EncodeError>
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 moreSource§fn decode(bytes: &[u8]) -> Result<Self, DecodeError>
fn decode(bytes: &[u8]) -> Result<Self, DecodeError>
bytes den vollen Sample-Payload enthaelt. Read moreSource§fn encode_key_holder_be(&self, holder: &mut PlainCdr2BeKeyHolder)
fn encode_key_holder_be(&self, holder: &mut PlainCdr2BeKeyHolder)
@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 moreSource§const EXTENSIBILITY: Extensibility = Extensibility::Final
const EXTENSIBILITY: Extensibility = Extensibility::Final
Final
fuer Backwards-Kompat zu pre-EXTENSIBILITY-Codegen-Outputs.
Spec: zerodds-xcdr2-rust §2.3.Source§const IS_NESTED: bool = false
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
const TYPE_IDENTIFIER: TypeIdentifier = zerodds_types::TypeIdentifier::None
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 moreSource§fn encode_be(&self, out: &mut Vec<u8>) -> Result<(), EncodeError>
fn encode_be(&self, out: &mut Vec<u8>) -> Result<(), EncodeError>
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 moreSource§fn field_value(&self, _path: &str) -> Option<Value>
fn field_value(&self, _path: &str) -> Option<Value>
"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 moreSource§impl Debug for TopicBuiltinTopicData
impl Debug for TopicBuiltinTopicData
Source§impl PartialEq for TopicBuiltinTopicData
impl PartialEq for TopicBuiltinTopicData
Source§fn eq(&self, other: &TopicBuiltinTopicData) -> bool
fn eq(&self, other: &TopicBuiltinTopicData) -> bool
self and other values to be equal, and is used by ==.