zerodds-inspect-endpoint
- Source: crates/inspect-endpoint
ZeroDDS inspect endpoint — feature-gated tap hooks for the external PDE Reality Inspector (zerodds-pde).
Part of ZeroDDS. Safety classification: STANDARD.
Status
Debug-tool crate, fully #[cfg(feature = "inspect")]-gated and
#![forbid(unsafe_code)]. In a production build (feature off) the
entire tap mechanism is compiled out — no hot-path branch (R-099, C-021).
Architecture
tap— trait + registry for tap hooks on DCPS/RTPS/Transport.frame— wire frame for the side channel.auth—cert.dloader for X.509 PEM certs (R-100..R-104).server(featureinspect) — broadcast hook + inspect server.
Security invariants
- Ghost inject (R-110): inject functions are separate API paths and publish directly into the DDS production data path, without going through the tap hooks. Production taps do not see the inject.
- Idle-branch elision: tap-hook calls in dcps/rtps/transport
are hidden behind
#[cfg(feature = "inspect")]. Without the feature there is no branch in the hot path.
Usage
[dependencies]
zerodds-inspect-endpoint = { version = "1", features = ["inspect"] }
Default is OFF — inspect must be enabled explicitly so the
tap hooks and the server path get compiled.
Tests
cargo test -p zerodds-inspect-endpoint --features inspect
See also
docs/architecture/04_safety_by_architecture.md— safety classification.crates/dcps/Cargo.tomlinspectfeature — optional consumer of the tap hooks.
zerodds-inspect-endpoint
- Quelle: crates/inspect-endpoint
ZeroDDS Inspect-Endpoint — feature-gated Tap-Hooks fuer den externen PDE Reality Inspector (zerodds-pde).
Part of ZeroDDS. Safety classification: STANDARD.
Status
Debug-Tool-Crate, vollstaendig #[cfg(feature = "inspect")]-gated und
#![forbid(unsafe_code)]. Im Production-Build (Feature aus) faellt
der gesamte Tap-Mechanismus weg — kein Hot-Path-Branch (R-099, C-021).
Architektur
tap— Trait + Registry fuer Tap-Hooks an DCPS/RTPS/Transport.frame— Wire-Frame fuer den Side-Channel.auth—cert.d-Loader fuer X.509-PEM-Certs (R-100..R-104).server(featureinspect) — Broadcast-Hook + Inspect-Server.
Sicherheits-Invarianten
- Ghost-Inject (R-110): Inject-Funktionen sind separate API-Pfade und publishen direkt in den DDS-Production-Datenpfad, ohne durch die Tap-Hooks zu laufen. Production-Taps sehen den Inject nicht.
- Idle-Branch-Elision: Tap-Hook-Aufrufe in dcps/rtps/transport
sind hinter
#[cfg(feature = "inspect")]versteckt. Ohne Feature kein Branch im Hot-Path.
Verwendung
[dependencies]
zerodds-inspect-endpoint = { version = "1", features = ["inspect"] }
Default ist OFF — inspect muss explizit aktiviert werden, damit
die Tap-Hooks und der Server-Pfad uebersetzt werden.
Tests
cargo test -p zerodds-inspect-endpoint --features inspect
Siehe auch
docs/architecture/04_safety_by_architecture.md— Safety-Klassifikation.crates/dcps/Cargo.tomlinspect-Feature — optionaler Konsument der Tap-Hooks.