zerodds-async 1.0 — Spec-Coverage

Quelle: docs/specs/zerodds-async-1.0.md (Vendor-Spec, draft 2026-05-04).

§1 Type-Mapping zur Sync-API

§1.1 AsyncDomainParticipantFactory

§1.2 AsyncDomainParticipant

§1.3 AsyncPublisher / AsyncSubscriber

§1.4 AsyncDataWriter

§1.5 AsyncDataReader

§2 Methodensignaturen

§2.1.1 AsyncDataWriter::write

§2.1.2 AsyncDataWriter::register_instance

§2.1.3 AsyncDataWriter::dispose

§2.1.4 AsyncDataWriter::unregister_instance

§2.1.5 AsyncDataWriter::wait_for_matched_subscription

§2.1.6 AsyncDataWriter::matched_subscription_count

§2.2.1 AsyncDataReader::take_stream

§2.2.2 AsyncDataReader::take

§2.2.3 AsyncDataReader::wait_for_matched_publication

§2.2.4 AsyncDataReader::matched_publication_count

§3 Waker-Modell

§3.1 Waker-Slot pro Reader

§3.2 Wire-Pfad weckt Waker

§3.3 Stream::poll_next registriert Waker

§4 Tokio-Glue (Feature)

§4.1 spawn_in_tokio

§5 Backpressure & Resource-Limits

§5.1 write-Future suspendiert bei OutOfResources

§6 Listener-Bridge

§6.1 data_available_stream

§6.2 publication_matched_stream

§7 Error-Mapping

§7.1 DdsError unveraendert

§8 Test-Strategie

§8.1 Async-Pendants pro Sync-Test

§8.2 Tokio-Test-Runner

§8.3 proptest ueber Channel-Backpressure

§8.4 E2E gegen Cyclone-Live

§9 Performance-Targets

§9.1 write().await Latenz

§9.2 take_stream Throughput

§9.3 Allokation pro write()

§10 Decisions

D-1: Runtime-agnostische API als Default

D-2: Tokio-Glue als optional Feature

D-3: API-Symmetrie zur Sync-API

D-4: WaitSet bleibt sync

D-5: Listener-Bridge als Stream-Wrapper