Skip to main content

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 without
7//! a JNI dependency. The actual Java source tree lives under
8//! `crates/java-omgdds/java/src/main/java/org/omg/dds/*` (normative
9//! OMG API) and `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//! ## Layer position
15//!
16//! Layer 6 — PSMs / bindings (pure-Java path without JNI; codegen via
17//! `zerodds-idl-java`).
18//!
19//! ## Architecture
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 green) |
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 a gRPC bridge is a v1.1 stretch (see vendor spec §5).
37//!
38//! ## Test
39//!
40//! - `mvn test` in `crates/java-omgdds/java/`: 18 tests green
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/// Version marker for the 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}