Skip to main content

Module bridge

Module bridge 

Source
Expand description

DDS-WEB bridge to the DDS-DCPS public API — Spec §7.4.

Implements §7.4 §7.4 class operations Application + Participant + Topic + Pub/Sub + Writer/Reader from partial to done.

Spec source: OMG DDS-WEB 1.0 §7.4 (pp. 17-58) — all CRUD operations of the web object model that is mapped to the DDS public API.

§Layer discipline

Here we define a trait DdsBackend that decouples the two layers:

  • crates/web/ defines REST routes (see rest.rs) and the web object model (see model.rs).
  • A concrete backend implementation in a higher layer (e.g. a daemon crate) implements DdsBackend and calls the DDS public API (crates/dcps/).

We keep the trait deliberately minimal — one method per operation, no hidden async runtime. Callers that need async backends can adapt via tokio::task::spawn_blocking.

Cross-Ref: Spec §7.4 Tab 5 + §8.3.3 (PIM-zu-REST-Mapping).

Enums§

BackendError
Backend error.
BackendResult
Operation result: either a newly created resource identifier, a list, or an opaque body.

Traits§

DdsBackend
Bridge trait — a concrete backend implementation routes these method calls to the crates/dcps/ public API.

Functions§

enforce
Decision wrapper that checks the AccessController permission before every backend call.