Skip to main content

Module condition

Module condition 

Source
Expand description

Condition-Hierarchie + WaitSet (DDS DCPS 1.4 §2.2.2.1.6).

Conditions sind die DDS-Variante von “future-readyness”: ein Condition-Objekt traegt einen trigger_value()-Boolean, der true wird, wenn ein bestimmtes Ereignis eintritt. Mehrere Conditions werden in einem WaitSet gesammelt, der dann mit WaitSet::wait blockiert, bis irgendeine Condition triggert (oder ein Timeout erreicht ist).

§Spec-Hierarchie

  • Condition (Base, nur trigger_value)
    • StatusCondition (siehe crate::entity::StatusCondition)
    • GuardCondition (manuell setzbar, hier definiert)
    • ReadCondition (basiert auf SampleInfo-State, hier definiert)
    • QueryCondition (ReadCondition + SQL-Filter, hier definiert)

Der Trait ist object-safe; WaitSet haelt Arc<dyn Condition>.

Re-exports§

pub use crate::entity::StatusCondition;

Structs§

GuardCondition
GuardCondition — vom User manuell triggerbar (Spec §2.2.2.1.7).
QueryCondition
QueryCondition — Spec §2.2.2.5.9. Erweitert ReadCondition um einen SQL-Filter-Ausdruck (DDS-DCPS Annex B). Der Filter wird pro Sample evaluiert (siehe Self::evaluate); der parse-Schritt passiert einmalig im Konstruktor.
ReadCondition
ReadCondition — Spec §2.2.2.5.8 / §2.2.4.5 Trigger State.
WaitSet
WaitSet — Spec §2.2.2.1.6.

Constants§

MAX_WAITSET_CONDITIONS
DoS-Cap fuer Conditions in einem einzelnen WaitSet (Spec §2.2.2.1.6: kein expliziter Cap, aber RESOURCE_LIMITS- Pendant). Schuetzt vor unbegrenztem Aufbau bei Pathologien.

Traits§

Condition
Condition-Trait — Spec §2.2.2.1.6 Base-Class.