zerodds_java_omgdds/lib.rs
1// SPDX-License-Identifier: Apache-2.0
2// Copyright 2026 ZeroDDS Contributors
3
4//! Crate `zerodds-java-omgdds`. Safety classification: **STANDARD**.
5//!
6//! Native Java-DDS-PSM (`org.omg.dds.*`) Pure-Java-Implementation ohne
7//! JNI-Dependency. Der eigentliche Java-Source-Tree lebt unter
8//! `crates/java-omgdds/java/src/main/java/org/omg/dds/*` (normative
9//! OMG-API) und `org/zerodds/internal/*` (Implementation-Detail).
10//!
11//! Spec: OMG DDS-Java-PSM 1.0 (formal/2017-04-01).
12//! Vendor-Spec: `docs/specs/zerodds-java-omgdds-1.0.md`.
13//!
14//! ## Schichten-Position
15//!
16//! Layer 6 — PSMs / Bindings (Pure-Java-Pfad ohne JNI; Codegen via
17//! `zerodds-idl-java`).
18//!
19//! ## Architektur
20//!
21//! ```text
22//! +------------------------------------------------------+
23//! | Java-User-Code |
24//! | import org.omg.dds.domain.DomainParticipantFactory; |
25//! +------------------------------------------------------+
26//! |
27//! v
28//! +------------------------------------------------------+
29//! | org.omg.dds.* (23 Java-Files, 18 mvn-Tests gruen) |
30//! | - DomainParticipant, Topic<T>, Pub/Sub, DW/DR |
31//! | - InProcessBus (Single-JVM Pub-Sub) |
32//! | - Xcdr2Codec (XTypes 1.3 §7.4 Wire-Form) |
33//! +------------------------------------------------------+
34//! ```
35//!
36//! Multi-JVM via gRPC-Bridge ist v1.1-Stretch (siehe Vendor-Spec §5).
37//!
38//! ## Test
39//!
40//! - `mvn test` in `crates/java-omgdds/java/`: 18 Tests grün
41//! - `cargo test -p zerodds-java-omgdds`: 1 Smoke-Test
42
43#![forbid(unsafe_code)]
44#![warn(missing_docs)]
45
46extern crate alloc;
47
48/// Versions-Marker fuer die Pure-Java-Implementation.
49pub const SCAFFOLD_VERSION: &str = "1.0.0-rc.1";
50
51#[cfg(test)]
52mod tests {
53 use super::*;
54
55 #[test]
56 fn scaffold_version_is_set() {
57 assert_eq!(SCAFFOLD_VERSION, "1.0.0-rc.1");
58 }
59}