Expand description
Topic — the typed rendezvous point between DataWriter and DataReader.
Spec reference:
- OMG DDS 1.4 §2.2.2.3.1
TopicDescription(base class forTopic,ContentFilteredTopic,MultiTopic), - §2.2.2.3.2
Topic(concrete TopicDescription with type + Topic QoS), - §2.2.2.2.1.12
lookup_topicdescription(untyped lookup), - §2.2.2.2.1.13
create_contentfilteredtopic.
In v1.2 we stay simple: the Topic<T> is a handle that carries
name + type_name and a generic PhantomData<T> for static type
safety. The topic references its DomainParticipant so that
TopicDescription::get_participant works faithfully to spec. The
cycle is broken in the topic registry: it holds only
Arc<TopicInner>, not the cloned DomainParticipant handle.
Structs§
- Content
Filtered Topic ContentFilteredTopic<T>— a sub-topic of aTopic<T>with a filter expression. Spec reference: OMG DDS 1.4 §2.2.2.3.3.- Joined
Row JoinedRow— aRowAccessadapter over several named topic sources. Dotted pathstopic.field.subare split at the first.: the prefix matches the topic name, the rest is forwarded to itsRowAccess::get.- Multi
Topic MultiTopic<T>— spec §2.2.2.3.4 (DDS 1.4 optional feature).- Topic
- Typed topic handle.
- Topic
Description Handle - Untyped
TopicDescriptionhandle returned fromDomainParticipant::lookup_topicdescription/DomainParticipant::find_topic.
Traits§
- Topic
Description TopicDescriptiontrait — base interface for anything aDataReader(typed viaT) can obtain samples from.
Functions§
- hash_
join_ two - Hash-join helper for two typed streams. Iterates the left list,
builds a HashMap
key -> [&L](build phase), then iterates the right list (probe phase) and produces a result viacombinefor each matching(L, R)pair. Optionally, an additional predicate viapredicate(e.g.MultiTopic::evaluate_joined) is checked on each pair.