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
// SPDX-License-Identifier: Apache-2.0
// Copyright 2026 ZeroDDS Contributors
//! OMG RTC 1.0 — Robotic Technology Component.
//!
//! Crate `zerodds-rtc`. Safety classification: **STANDARD**.
//! Spec `formal/2008-04-04` (`docs/standards/cache/omg/rtc-1.0.pdf`).
//!
//! # Scope
//!
//! Implementiert sind: Lightweight RTC, Execution Semantics
//! (Periodic / Stimulus Response / Modes), Local PSM
//! (§5.2 + §5.3 + §6.3) als Rust-Library. Das Local PSM ist explizit
//! "Components on same network node, direct object refs without
//! CORBA-mediated middleware" (Spec §1.3 Punkt 1, S. 2) und damit
//! ZeroDDS-konform.
//!
//! # Was nicht abgedeckt ist
//!
//! * **CORBA PSM** (§6.5) — verlangt CORBA-ORB; ZeroDDS hat keinen.
//! * **Lightweight CCM PSM** (§6.4) — verlangt LwCCM-Container; siehe
//! `crates/ccm/` welche die IDL-Equivalent-Transformation liefert,
//! aber keinen Container bereitstellt.
//! * **Introspection §5.4 Resource Data Model** — partial: das
//! Datenmodell ist im Crate, der Discovery-/Wire-Aspekt nicht.
//!
//! # Module
//!
//! * [`return_code`] — `ReturnCode_t` (Spec §5.2.1).
//! * [`lifecycle`] — `LifeCycleState`, `ExecutionKind`, `ComponentAction`
//! Trait + State-Machine-Enforcement (Spec §5.2.2.3 / §5.2.2.7 /
//! §5.2.2.4).
//! * [`object`] — `LightweightRTObject`-Modell (Spec §5.2.2.2) +
//! `ExecutionContextHandle_t` (Spec §5.2.2.8).
//! * [`execution`] — `ExecutionContext` + `ExecutionContextOperations`
//! (Spec §5.2.2.5 / §5.2.2.6).
//! * [`semantics`] — Execution-Kind-Profile (Periodic/Stimulus/Modes,
//! Spec §5.3).
//!
//! # Beispiel
//!
//! ```
//! use zerodds_rtc::ReturnCode;
//!
//! // Spec §5.2.1.1: ReturnCode::Ok ist der einzige OK-Code.
//! assert!(ReturnCode::Ok.is_ok());
//! assert!(!ReturnCode::PreconditionNotMet.is_ok());
//! assert_eq!(ReturnCode::Ok.into_result(), Ok(()));
//! ```
extern crate alloc;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ReturnCode;
pub use ;