zerodds-ami4ccm 1.0.0-rc.1

OMG AMI4CCM 1.1 (formal/2015-08-03) — Async-Method-Invocation fuer CCM: Implied-IDL-Transformation (§7.3 + §7.5), ReplyHandler/ExceptionHolder-Modell (§7.4), Pragma-Parsing (§7.7). no_std + alloc.
Documentation
  • Coverage
  • 100%
    90 out of 90 items documented1 out of 39 items with examples
  • Size
  • Source code size: 97.27 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.6 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 36s Average build duration of successful builds.
  • all releases: 36s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • zero-objects/zero-dds
    2 1 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • SandraK82

zerodds-ami4ccm

License: Apache-2.0 docs.rs

OMG AMI4CCM 1.1 (formal/2015-08-03) — Asynchronous Method Invocation fuer das CORBA Component Model. Implied-IDL-Transformation, ExceptionHolder-Modell, Pragma-Parsing, Connector-/Deployment-Modelle. no_std + alloc, forbid(unsafe_code). Safety classification: STANDARD.

Spec-Mapping

Spec Abschnitt
OMG AMI4CCM 1.1 §7.3 (Implied-IDL fuer AMI4CCM-Interface)
OMG AMI4CCM 1.1 §7.4 (ExceptionHolder-Datenmodell)
OMG AMI4CCM 1.1 §7.5 (Implied-IDL fuer ReplyHandler)
OMG AMI4CCM 1.1 §7.6 (Connector-Modell)
OMG AMI4CCM 1.1 §7.7 (Pragmas ami4ccm interface + ami4ccm receptacle)
OMG AMI4CCM 1.1 §7.8 (Deployment-Plan-Fragment)

Was ist drin

  • pragmaparse_pragma(line) + Ami4CcmPragma::{Interface, Receptacle} mit Whitespace-toleranter Quoted-Name-Parser-Form.
  • transformtransform_interface + transform_interface_in_context erzeugen aus einem zerodds_idl::ast::InterfaceDef die zwei abgeleiteten Local-Interfaces AMI4CCM_<Iface> + AMI4CCM_<Iface>ReplyHandler.
  • exception_holderExceptionHolder + UserExceptionBase als Datenmodell fuer Spec §7.4.1 Exception-Lieferung.
  • scope_resolverpopulate_from_specification / context_from_specification fuer Cross-Module-Type-Resolution.
  • connector + deployment + multiplex — Connector-, Plan-Fragment-, Multi-Receptacle-Modelle (Spec §7.6 + §7.8).

Was nicht abgedeckt ist

  • AMI4CCM-Connector-Runtime (Spec §7.6 Hosting-Anteil) — der Connector-Fragment-Code wird via D&C in einen CCM-Container deployed; ZeroDDS hat kein eigenes CCM-Container-Hosting (siehe crates/corba-ccm/ fuer den IDL-Wrapper-Layer).
  • CCM-Pragma-Pre-Processor-Integration — Pragma-Parsing ist als eigenstaendige Funktion realisiert; Integration in den IDL- Preprocessor laesst sich darauf aufbauen, sobald CCM ein Top-Level-Sprint ist.

Beispiel

use zerodds_ami4ccm::{Ami4CcmPragma, parse_pragma};

let p = parse_pragma("#pragma ami4ccm interface \"Stock::StockManager\"").unwrap();
assert_eq!(
    p,
    Ami4CcmPragma::Interface {
        name: "Stock::StockManager".into(),
    }
);

Tests

cargo test -p zerodds-ami4ccm

See also