zerodds-rpc

Layer 4 — Core Services. Request/reply framework on the ZeroDDS DCPS stack per OMG DDS-RPC 1.0.

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.

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.