Expand description
ZeroDDS async-DCPS-API (zerodds-async-1.0).
Crate zerodds-dcps-async. Safety classification: STANDARD.
Runtime-agnostische async-Wrappers um die DCPS-Sync-API. Newtypes
teilen den internen Arc<...> mit den Sync-Pendants — kein
State-Duplikat, kein Performance-Overhead.
§Beispiel
ⓘ
use zerodds_dcps_async::AsyncDomainParticipantFactory;
use futures_core::Stream;
use std::time::Duration;
#[tokio::main]
async fn main() {
let factory = AsyncDomainParticipantFactory::instance();
let participant = factory.create_participant_offline(0);
// ... topic + reader + writer wie sync.
let writer = /* ... */;
let reader = /* ... */;
// write & take laufen ohne Thread-Block.
writer.write(&sample).await.unwrap();
let samples = reader.take(Duration::from_secs(1)).await.unwrap();
}Spec: docs/specs/zerodds-async-1.0.md.
Structs§
- Async
Data Reader - Async-Wrapper um
DataReader<T>. - Async
Data Writer - Async-Wrapper um
DataWriter<T>. - Async
Domain Participant - Async-Wrapper um
DomainParticipant. Topics, Pubs und Subs werden ueber die Sync-API erzeugt; nur der Newtype wechselt das Async-API frei. - Async
Domain Participant Factory - Async-Wrapper um den Sync-Singleton.
instance()liefert immer den gleichen Singleton; create_participant-Methoden teilen den State mit der sync-API. - Async
Publisher - Async-Wrapper um
Publisher. - Async
Subscriber - Async-Wrapper um
Subscriber. - Data
Available Stream - Stream der “data available”-Events. Yieldet
()jedes Mal wenn neue Samples im Reader sind. Konsumiert keine Samples — Caller musstake()odertake_streamseparat aufrufen. - Data
Reader Qos - QoS-Set fuer einen
DataReader— Spec §2.2.2.5.2. - Data
Writer Qos - QoS-Set fuer einen
DataWriter— Spec §2.2.2.4.2 (alle Policies, die am DataWriter setzbar sind). - Domain
Participant Qos - QoS-Set fuer den
DomainParticipant— Spec §2.2.2.2.2. - Instance
Handle - Opaker
InstanceHandle_t(DDS-DCPS 1.4 §2.3.3). - Publication
Matched Stream - Stream der publication-matched-Counts. Yieldet jeden neuen Count.
- Publisher
Qos - QoS-Set fuer den
Publisher— Spec §2.2.2.4.1. - Sample
Stream - Stream uber Reader-Samples. Endet wenn der Reader gedroppt wird.
- Subscriber
Qos - QoS-Set fuer den
Subscriber— Spec §2.2.2.5.1. - Subscription
Matched Status SUBSCRIPTION_MATCHED_STATUS— Spec §2.2.4.1 + §2.2.2.5.6.- Topic
- Typed Topic-Handle.
- Topic
Qos - QoS-Set fuer einen
Topic— Spec §2.2.2.3.2.
Enums§
- DdsError
- Fehler aus DCPS-Operationen. Halbwegs analog zum Spec-
ReturnCode_t-Enum; wir lassen allerdingsRETCODE_OKweg (stattdessenResult::Ok) und mergenBAD_PARAMETER+PRECONDITION_NOT_METwo die Unterscheidung nichts hilft.
Traits§
- DdsType
- Typ, der via DDS published/subscribed werden kann.
Type Aliases§
- Result
- Kurzform fuer DCPS-Ergebnisse.