Skip to main content

Crate zerodds_corba_cos_event

Crate zerodds_corba_cos_event 

Source
Expand description

Crate zerodds-corba-cos-event. Safety classification: STANDARD.

OMG CosEventService 1.4 (formal/2004-10-02) voller Stack — pure-Rust no_std + alloc, forbid(unsafe_code). Implementiert:

  • CosEventComm (Spec §1.5): PushConsumer, PushSupplier, PullConsumer, PullSupplier mit Disconnect-Operations.
  • CosEventChannelAdmin (Spec §1.6): EventChannel, ConsumerAdmin, SupplierAdmin, ProxyPushConsumer/Supplier, ProxyPullConsumer/Supplier.
  • CosTypedEventComm + CosTypedEventChannelAdmin (Spec §2): TypedPushConsumer/Supplier mit get_typed_consumer/supplier- Operations.
  • AnyEvent: opaque Event-Container fuer den Push-Modus.

Spec: OMG CosEventService 1.4 (formal/2004-10-02) §1.5 + §1.6 + §2.

§Schichten-Position

Layer 8 — CORBA-Stack (Tier-A). Caller-Layer (Daemon o.ae.) konstruiert konkrete Channel-Instanzen, registriert Suppliers und Consumers, und treibt die Connect/Disconnect-Lifecycle.

§Public API (Stand 1.0.0-rc.1)

§Beispiel

use zerodds_corba_cos_event::{AnyEvent, EventChannel};

let _channel = EventChannel::new();
let event = AnyEvent::new("IDL:Foo:1.0".to_string(), vec![1, 2, 3]);
assert_eq!(event.type_id, "IDL:Foo:1.0");
assert_eq!(event.data, vec![1, 2, 3]);

Re-exports§

pub use channel::ConsumerAdmin;
pub use channel::EventChannel;
pub use channel::ProxyPullConsumer;
pub use channel::ProxyPullSupplier;
pub use channel::ProxyPushConsumer;
pub use channel::ProxyPushSupplier;
pub use channel::SupplierAdmin;
pub use comm::AnyEvent;
pub use comm::ConnectError;
pub use comm::Disconnected;
pub use comm::PullConsumer;
pub use comm::PullSupplier;
pub use comm::PushConsumer;
pub use comm::PushSupplier;
pub use typed::TypedEventChannel;
pub use typed::TypedPushConsumer;
pub use typed::TypedPushSupplier;

Modules§

channel
CosEventChannelAdmin — Spec §1.6.
comm
CosEventComm — Spec §1.5.
typed
CosTypedEventComm + CosTypedEventChannelAdmin — Spec §2.