Expand description
Function-Call-Style Service-API (Spec §7.2.2.1, §7.9.2.1, §7.10.1).
Das DDS-RPC-Spec definiert zwei Language-Binding-Styles:
- Request/Reply-Style (low-level) —
crates/rpc/src/{requester, replier}.rs. - Function-Call-Style (high-level) — dieses Modul.
Function-Call-Style verwendet Stubs (Client-Side-Proxy) und
Skeletons (Service-Side-Dispatch), die zur Codegen-Zeit aus einer
Service-Definition (IDL interface Foo { void op(); }) generiert
werden. Die Stubs sehen wie native Function-Calls aus, kapseln
aber intern den Request/Reply-Pfad.
§Architektur
Wir liefern hier die Runtime-Foundation fuer generierte Stubs und Skeletons:
FunctionStub-Trait fuer Client-Side-Proxies (jede generierte Stub-Klasse implementiert es).FunctionSkeleton-Trait fuer Service-Side-Dispatch — ruft die richtige Operation aus demrequest_data-Union-Discriminator und liefert die Reply.dispatch_request-Helper fuer Skeleton-Implementations.
Codegen-Templates leben in crates/idl-cpp/src/rpc_template.rs
(C++) und crates/idl-java/src/rpc_template.rs (Java).
Structs§
- Operation
Descriptor - Operation-Descriptor fuer Codegen.
- Service
Descriptor - Service-Descriptor fuer Codegen — Sammlung von
OperationDescriptors.
Traits§
- Function
Skeleton - Skeleton-Trait: jeder generierte Service-Side-Dispatch implementiert das. Der Skeleton entpackt den Request-Discriminator, ruft die passende Operation in der User-Implementation und packt die Reply als Union zurueck.
- Function
Stub - Stub-Trait: jeder generierte Client-Side-Proxy implementiert das.
Functions§
- dispatch_
request - Dispatcher-Helper fuer Skeleton-Implementations.