Expand description
Topic — der typed rendezvous-point zwischen DataWriter und DataReader.
Spec-Referenz:
- OMG DDS 1.4 §2.2.2.3.1
TopicDescription(Base-Klasse fuerTopic,ContentFilteredTopic,MultiTopic), - §2.2.2.3.2
Topic(concrete TopicDescription mit Type + Topic-QoS), - §2.2.2.2.1.12
lookup_topicdescription(untypisiertes Lookup), - §2.2.2.2.1.13
create_contentfilteredtopic.
In v1.2 sind wir schlicht: der Topic<T> ist ein Handle, das
name + type_name traegt und einen generischen PhantomData<T>
fuer statische Typ-Sicherheit. Der Topic referenziert seinen
DomainParticipant, damit TopicDescription::get_participant
Spec-treu funktioniert. Der Cycle-Bruch sitzt in der
Topic-Registry: die haelt nur Arc<TopicInner>, nicht den
geklonten DomainParticipant-Handle.
Structs§
- Content
Filtered Topic ContentFilteredTopic<T>— Sub-Topic einesTopic<T>mit Filter-Expression. Spec-Referenz: OMG DDS 1.4 §2.2.2.3.3.- Joined
Row JoinedRow—RowAccess-Adapter ueber mehrere benannte Topic-Quellen. Dotted-Pfadetopic.field.subwerden am ersten.geteilt: der Praefix matcht den Topic-Namen, der Rest wird an dessenRowAccess::getweitergereicht.- Multi
Topic MultiTopic<T>— Spec §2.2.2.3.4 (DDS 1.4 optionales Feature).- Topic
- Typed Topic-Handle.
- Topic
Description Handle - Untypisiertes
TopicDescription-Handle, das ausDomainParticipant::lookup_topicdescription/DomainParticipant::find_topiczurueckgegeben wird.
Traits§
- Topic
Description TopicDescription-Trait — Base-Interface fuer alles, woraus einDataReader(typed viaT) Samples beziehen kann.
Functions§
- hash_
join_ two - Hash-Join-Helper fuer zwei typed Streams. Iteriert die linke
Liste, baut eine HashMap
key -> [&L](Build-Phase), iteriert dann die rechte Liste (Probe-Phase) und erzeugt fuer jedes matchende(L, R)-Paar viacombineein Resultat. Optional wird ein zusaetzliches Predicate viapredicate(z.B.MultiTopic::evaluate_joined) auf jedem Paar geprueft.