Skip to main content

Module annotations

Module annotations 

Source
Expand description

DDS-RPC IDL-Annotations — Spec §7.3.

Lowering der RPC-spezifischen Annotations:

  • @service(name="<svc>") — markiert eine Interface-Definition als RPC-Service. Wenn name fehlt, wird der Interface-Name verwendet.
  • @oneway — Methode ohne Reply-Erwartung. Aequivalent zum nativen IDL-oneway-Keyword (das im AST bereits durch OpDecl::oneway abgebildet ist).
  • @in, @out, @inout — explizite Parameter-Direction. Aequivalent zu den nativen IDL-Direction-Keywords (ParamAttribute::In/Out/InOut).

Architektur-Entscheidung: das zerodds-idl-Crate kennt bewusst nur die Standard-XTypes-Annotations (siehe Memo project_codegen_templates_scope — RPC-Specifics gehoeren nicht ins idl-Crate). Diese Bridge konsumiert die generischen Annotation-Werte aus dem AST und lowert sie zu RpcAnnotation-Variants.

Structs§

LoweredRpc
Ergebnis eines RPC-Annotation-Lowerings — getrennte Listen fuer erkannte und durchgereichte (unbekannte) Annotations.

Enums§

RpcAnnotation
Typisierte Repraesentation der RPC-spezifischen Builtin-Annotations.

Functions§

lower_rpc_annotations
Lower eine Annotation-Liste in das RPC-Builtin-Modell.
lower_single
Lower eine einzelne Annotation auf ihre RPC-typisierte Form. Liefert None wenn sie kein RPC-Builtin ist (Caller stellt sie dann in LoweredRpc::custom ab).