1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
// SPDX-License-Identifier: Apache-2.0
// Copyright 2026 ZeroDDS Contributors
//
//! Crate `zerodds-rs`. Safety classification: **SAFE**.
//!
//! `zerodds-rs` — idiomatische Rust-SDK-Facade.
//!
//! Re-exportiert die nutzerseitig relevanten APIs aus den darunterliegenden
//! Implementierungs-Crates (`zerodds-dcps`, `zerodds-dcps-async`,
//! `zerodds-qos`, `zerodds-types`, `zerodds-monitor`, `zerodds-recorder`).
//!
//! Anwendungen sollten **diese** Crate nutzen — direkter Zugriff auf
//! `zerodds-dcps` etc. ist erlaubt, aber an `zerodds-rs` muss sich die
//! Public-API stabilisieren.
//!
//! # Beispiel
//!
//! ```no_run
//! use zerodds_rs::{
//! DomainParticipantFactory, DomainParticipantQos, RawBytes, TopicQos,
//! PublisherQos, SubscriberQos, DataWriterQos, DataReaderQos,
//! };
//!
//! let f = DomainParticipantFactory::instance();
//! let dp = f.create_participant_offline(0, DomainParticipantQos::default());
//! let topic = dp.create_topic::<RawBytes>("Chatter", TopicQos::default()).unwrap();
//! let publisher = dp.create_publisher(PublisherQos::default());
//! let writer = publisher
//! .create_datawriter::<RawBytes>(&topic, DataWriterQos::default())
//! .unwrap();
//! let _ = writer; // offline-Mode hat kein UDP — nur API-Smoke.
//! ```
//!
//! ## Re-Exports
//!
//! - **[`crate::dcps`]** — synchrone DCPS-Surface (`zerodds_dcps::*`).
//! - **[`crate::aio`]** — async DCPS (`zerodds_dcps_async::*`).
//! - **[`crate::qos`]** — alle 22 QoS-Policies (`zerodds_qos::*`).
//! - **[`crate::types`]** — IDL-/XTypes-Typsystem (`zerodds_types::*`).
//! - **[`crate::monitor`]** — Statistics + Built-in DCPS-Monitor.
//! - **[`crate::recorder`]** — Sample-Recording + -Replay.
//!
//! Plus Top-Level-Convenience-Re-Exports der haeufigsten Symbole.
/// Sync DCPS-API (`zerodds_dcps`).
pub use zerodds_dcps as dcps;
/// Async DCPS-API (`zerodds_dcps_async`).
pub use zerodds_dcps_async as aio;
/// QoS-Policies (`zerodds_qos`).
pub use zerodds_qos as qos;
/// IDL-/XTypes-Typsystem (`zerodds_types`).
pub use zerodds_types as types;
/// DCPS-Monitor (`zerodds_monitor`).
pub use zerodds_monitor as monitor;
/// Sample-Recording (`zerodds_recorder`).
pub use zerodds_recorder as recorder;
/// Foundation-Layer (Time-Service, Observability) (`zerodds_foundation`).
pub use zerodds_foundation as foundation;
// ---- Top-Level Convenience Re-Exports -------------------------------------
pub use ;
pub use DdsType;
pub use InstanceHandle;
pub use Duration;