Expand description
Crate zerodds-corba-rust. Safety classification: STANDARD.
IDL → Rust Code-Generator fuer CORBA-Service-Konstrukte (Interface- Traits + Stubs + Skeletons, Valuetypes, in Phase-2: Components, Homes, POA-Bindings).
Analog zu zerodds-idl-cpp / -csharp / -java aber emittiert Rust
statt C++/C#/Java. Konsumiert die zerodds-corba-codegen-Helpers
(Special-Types-Tabellen, Stub/Skeleton-Templates) und das
zerodds-idl-rust::type_map fuer DataType-Mapping.
§Schichten-Position
Layer 8 (CORBA-Stack). Build-Zeit-Tool, std-only,
forbid(unsafe_code).
§Spec-Quelle
docs/specs/zerodds-corba-rust-1.0.md (ZeroDDS Vendor-Spec).
Konformitaetstraeger: OMG CORBA 3.3 Annex-A, OMG IDL4.
§Was wird emittiert
| IDL | Rust |
|---|---|
interface I { op(...); }; | pub trait I + pub struct IStub + dispatch_i |
attribute T x | trait getter fn x(&self) + setter wenn writable |
oneway op(...) | trait method ohne Reply |
valuetype V { ... }; | pub trait V: ValueBase |
component C / home H | (Phase-2) |
§Public API
generate_corba_rust_module— AST + Optionen → Rust-Modul-Code.CorbaRustGenOptions— Codegen-Optionen.error::CorbaRustError— Fehler-Familie.
Plus die Runtime-Public-API die der generierte Code referenziert:
ObjectReference— IOR-Wrapper.CorbaException— System-/User-Exception-Variants.SkeletonResult— Server-Dispatch-Result.ValueBase— Trait fuer alle Valuetype-Implementierungen.Servant— POA-Servant-Marker.
Re-exports§
pub use emitter::CorbaRustGenOptions;pub use emitter::generate_corba_rust_module;pub use error::CorbaRustError;pub use error::Result;pub use runtime::ComponentHome;pub use runtime::ComponentServant;pub use runtime::CorbaConnection;pub use runtime::CorbaException;pub use runtime::IdAssignmentPolicy;pub use runtime::IdUniquenessPolicy;pub use runtime::ImplicitActivationPolicy;pub use runtime::LifespanPolicy;pub use runtime::ObjectReference;pub use runtime::PoaBuilder;pub use runtime::RequestProcessingPolicy;pub use runtime::Servant;pub use runtime::ServantRetentionPolicy;pub use runtime::SkeletonResult;pub use runtime::ThreadPolicy;pub use runtime::TypeCode;pub use runtime::ValueBase;pub use runtime::ValueStreamReader;pub use runtime::ValueStreamWriter;pub use runtime::ValueTagHeader;
Modules§
- component_
emit - IDL
component/home→ Rust trait + Servant. - emitter
- Top-Level-Emitter: AST → CORBA-Rust-Code.
- error
- Fehler-Familie des CORBA-Rust-Codegens.
- interface_
emit - IDL
interface→ Rust trait + Stub + Skeleton. - runtime
- Runtime-Types die der generierte Code referenziert.
- valuetype_
emit - IDL
valuetype→ Rust trait + Marshalling.