zerodds-rpc
Layer 4 — Core Services. Request/reply framework on the ZeroDDS DCPS stack per OMG DDS-RPC 1.0.
- Source: crates/rpc
- API docs: docs.rs/zerodds-rpc
Spec anchors
- OMG DDS-RPC 1.0 (
formal/16-12-04) §7.3-§7.11. - Coverage:
docs/spec-coverage/dds-rpc-1.0.md(94 done / 0 partial / 0 open / 10 n/a).
Source: crates/rpc →
Layer position
Layer 4. Consumes zerodds-dcps + zerodds-idl + zerodds-qos + zerodds-rtps + zerodds-types + zerodds-xml.
Quickstart
use zerodds_rpc::{Requester, Replier, RpcQos, FnHandler};
use zerodds_dcps::participant::DomainParticipant;
let participant = DomainParticipant::new(0)?;
let qos = RpcQos::default_basic();
let replier = Replier::<MyRequest, MyReply>::new(
&participant, "Calculator", &qos,
FnHandler::new(|req: MyRequest| MyReply { sum: req.a + req.b }),
)?;
let requester = Requester::<MyRequest, MyReply>::new(&participant, "Calculator", &qos)?;
let reply = requester.send_request_blocking(&MyRequest { a: 1, b: 2 })?;
Feature flags
| Feature | Default | Purpose |
|---|---|---|
std |
✅ | Threading + Mutex/mpsc for the runtime. |
alloc |
✅ | Foundation modules (no_std-capable). |
safety |
❌ | Reserve hook. |
Stability
1.0.0-rc.3. Public API + wire format RC1-stable.
zerodds-rpc
Layer 4 — Core Services. Request/Reply-Framework auf dem ZeroDDS-DCPS-Stack nach OMG DDS-RPC 1.0.
- Quelle: crates/rpc
- API-Docs: docs.rs/zerodds-rpc
Spec-Anker
- OMG DDS-RPC 1.0 (
formal/16-12-04) §7.3-§7.11. - Coverage:
docs/spec-coverage/dds-rpc-1.0.md(94 done / 0 partial / 0 open / 10 n/a).
Quelle: crates/rpc →
Schichten-Position
Layer 4. Konsumiert zerodds-dcps + zerodds-idl + zerodds-qos + zerodds-rtps + zerodds-types + zerodds-xml.
Quickstart
use zerodds_rpc::{Requester, Replier, RpcQos, FnHandler};
use zerodds_dcps::participant::DomainParticipant;
let participant = DomainParticipant::new(0)?;
let qos = RpcQos::default_basic();
let replier = Replier::<MyRequest, MyReply>::new(
&participant, "Calculator", &qos,
FnHandler::new(|req: MyRequest| MyReply { sum: req.a + req.b }),
)?;
let requester = Requester::<MyRequest, MyReply>::new(&participant, "Calculator", &qos)?;
let reply = requester.send_request_blocking(&MyRequest { a: 1, b: 2 })?;
Feature-Flags
| Feature | Default | Zweck |
|---|---|---|
std |
✅ | Threading + Mutex/mpsc für Runtime. |
alloc |
✅ | Foundation-Module (no_std-faehig). |
safety |
❌ | Reserve-Hook. |
Stabilität
1.0.0-rc.3. Public-API + Wire-Format RC1-stabil.