zerodds-corba-cos-notify
CORBA stack. OMG CosNotification 1.1 (
formal/2004-10-11), the structured-event notification service that succeeds CosEvent.
- Source: crates/corba-cos-notify
- API docs: docs.rs/zerodds-corba-cos-notify
zerodds-corba-cos-notify models the notification service in memory,
analogous to zerodds-corba-cos-event but for StructuredEvent
with CORBA any values from zerodds-corba-rt. A supplier pushes
an event into a StructuredProxyPushConsumer; the EventChannel
delivers it to every connected StructuredProxyPushSupplier whose filter
matches and appends it to a queue from which StructuredProxyPullSuppliers
take matching events. The admin property MaxQueueLength bounds that queue
(0 = unbounded; when the bound is exceeded, the oldest event is dropped). Filters match
on EventType with "*" as wildcard; the TCL string of a
ConstraintExp is stored but not evaluated. pull_structured_event
does not block in this model and returns Disconnected when no matching event
is queued. Wiring over GIOP is left to the interop layer.
event—StructuredEvent,EventHeader,FixedEventHeader,EventType,Property.comm— structured push/pull consumer and supplier traits,NotifyPublish,NotifySubscribe.channel(std) —EventChannelFactory,EventChannel,ConsumerAdmin,SupplierAdminand the structured proxies.filter(std) —Filter,ConstraintExp,FilterFactory.qos—QoSProperties, a sequence ofPropertyentries, with the property names of §2.5.2 and §2.5.3.
Spec anchors
- OMG CosNotification 1.1 §2.2 (structured event), §2.4 (
set_qos/get_qos), §2.5.2 (QoS properties), §2.5.3 (admin properties), §3.1–§3.5 (CosNotifyComm), §4.1, §4.3–§4.7, §4.9 (CosNotifyChannelAdmin), §5.2–§5.4 (CosNotifyFilter).
Consumers
zerodds-corba-interop(not published; cross-ORB test harness). Its testtests/codegen_roundtrip.rsconnects the channel to the GIOP/IIOP runtime.
Features
std(default) — enablesallocandzerodds-corba-rt/std; compiles thechannelandfiltermodules, which keep their state behindstd::sync::Mutex.alloc— enableszerodds-corba-rt/alloc.event,commandqosneed onlyalloc.
Status
#![no_std]withalloc;channelandfilterrequirestd.forbid(unsafe_code).- Library only, no binaries. One dependency:
zerodds-corba-rt. - 11 test functions in the source (
src/).
zerodds-corba-cos-notify
CORBA-Stack. OMG CosNotification 1.1 (
formal/2004-10-11), der Benachrichtigungsdienst für strukturierte Ereignisse und Nachfolger von CosEvent.
- Quelle: crates/corba-cos-notify
- API-Docs: docs.rs/zerodds-corba-cos-notify
zerodds-corba-cos-notify bildet den Benachrichtigungsdienst im Speicher ab,
analog zu zerodds-corba-cos-event, aber für StructuredEvent mit
CORBA-any-Werten aus zerodds-corba-rt. Ein Supplier übergibt ein
Ereignis an einen StructuredProxyPushConsumer; der EventChannel
stellt es jedem verbundenen StructuredProxyPushSupplier zu, dessen Filter passt,
und hängt es an eine Warteschlange an, aus der StructuredProxyPullSupplier
passende Ereignisse entnehmen. Die Verwaltungseigenschaft MaxQueueLength
begrenzt diese Warteschlange (0 = unbegrenzt; bei Überschreitung wird das älteste Ereignis
verworfen). Filter vergleichen den EventType, "*" ist Platzhalter;
der TCL-Ausdruck eines ConstraintExp wird gespeichert, aber nicht ausgewertet.
pull_structured_event blockiert in diesem Modell nicht und liefert
Disconnected, wenn kein passendes Ereignis in der Warteschlange liegt.
Die Anbindung über GIOP übernimmt die Interoperabilitätsschicht.
event—StructuredEvent,EventHeader,FixedEventHeader,EventType,Property.comm— Traits für strukturierte Consumer und Supplier (Push und Pull),NotifyPublish,NotifySubscribe.channel(std) —EventChannelFactory,EventChannel,ConsumerAdmin,SupplierAdminund die strukturierten Proxies.filter(std) —Filter,ConstraintExp,FilterFactory.qos—QoSProperties, eine Folge vonProperty-Einträgen, mit den Eigenschaftsnamen aus §2.5.2 und §2.5.3.
Spec-Anker
- OMG CosNotification 1.1 §2.2 (strukturiertes Ereignis), §2.4 (
set_qos/get_qos), §2.5.2 (QoS-Eigenschaften), §2.5.3 (Verwaltungseigenschaften), §3.1–§3.5 (CosNotifyComm), §4.1, §4.3–§4.7, §4.9 (CosNotifyChannelAdmin), §5.2–§5.4 (CosNotifyFilter).
Konsumenten
zerodds-corba-interop(nicht veröffentlicht; Testumgebung für ORB-übergreifende Interoperabilität). Dessen Testtests/codegen_roundtrip.rsverbindet den Kanal mit der Laufzeitumgebung für GIOP/IIOP.
Features
std(Standard) — aktiviertallocundzerodds-corba-rt/std; kompiliert die Modulechannelundfilter, die ihren Zustand hinterstd::sync::Mutexhalten.alloc— aktiviertzerodds-corba-rt/alloc.event,commundqosbenötigen nuralloc.
Status
#![no_std]mitalloc;channelundfiltersetzenstdvoraus.forbid(unsafe_code).- Nur Bibliothek, keine Binaries. Eine Abhängigkeit:
zerodds-corba-rt. - 11 Testfunktionen im Quelltext (
src/).