Skip to main content

Crate zerodds_corba_rt

Crate zerodds_corba_rt 

Source
Expand description

Crate zerodds-corba-rt. Safety classification: STANDARD.

OMG Real-Time CORBA 1.0 (formal/2005-01-04) — pure-Rust no_std + alloc, forbid(unsafe_code). Brings deterministic real-time behavior to the CORBA model: end-to-end priority propagation, priority-aware thread pools and priority-banded connections.

Implements:

  • Priority + PriorityMapping (§5.3/§5.4) — CORBA priority (-32768..32767) ↔ native OS priority (priority).
  • PriorityModel (§5.4.1) — SERVER_DECLARED vs CLIENT_PROPAGATED + PriorityModelPolicy; Threadpool/Lane (§5.7) + PriorityBand (§5.8) with priority-based selection (policy).
  • RTCorbaPriority ServiceContext (id 10, §5.4.2) — propagation of the client priority over GIOP (propagation).
  • RtCurrent (§5.5) — read/write access to the CORBA priority of the current context (current).
  • RtMutex + PriorityInheritance (§5.6) — a blocking mutex with a priority-inheritance protocol against priority inversion (mutex).
  • ThreadpoolRuntime (§5.7) — the runnable lanes-on-OS-threads realization with an injectable native priority hook (threadpool).
  • TaskSet (scheduling profile) — static schedulability analysis (Liu & Layland bound + exact response-time analysis) (scheduling).

Spec: OMG Real-Time CORBA 1.0. Complementary to the DDS real-time QoS side (Deadline/Latency-Budget/Transport-Priority) for legacy CORBA code.

Re-exports§

pub use current::RtCurrent;
pub use mutex::PriorityInheritance;
pub use policy::Lane;
pub use policy::PriorityBand;
pub use policy::PriorityBandedConnectionPolicy;
pub use policy::PriorityModel;
pub use policy::PriorityModelPolicy;
pub use policy::Threadpool;
pub use policy::ThreadpoolPolicy;
pub use priority::LinearPriorityMapping;
pub use priority::Priority;
pub use priority::PriorityMapping;
pub use propagation::RT_CORBA_PRIORITY_SC_ID;
pub use propagation::decode_priority_context;
pub use propagation::encode_priority_context;
pub use scheduling::Task;
pub use scheduling::TaskSet;
pub use mutex::RtMutex;std
pub use mutex::RtMutexGuard;std
pub use threadpool::DispatchError;std
pub use threadpool::NativePrioritySetter;std
pub use threadpool::ThreadpoolRuntime;std

Modules§

current
RTCORBA::Current (RT-CORBA §5.5) — read/write access to the CORBA priority of the current execution context.
mutex
RTCORBA::Mutex with priority inheritance (RT-CORBA §5.6).
policy
Priority-Model + Threadpools/Lanes + Priority-Banded-Connections (RT-CORBA §5.4.1, §5.7, §5.8).
priority
Priority + PriorityMapping (RT-CORBA §5.3/§5.4).
propagation
Propagation of the client priority over GIOP (RT-CORBA §5.4.2).
scheduling
Static scheduling service (RT-CORBA scheduling profile): task model + a-priori schedulability analysis for fixed-priority preemptive scheduling.
threadpool
Runnable threadpool with priority lanes (RT-CORBA §5.7) — the runtime realization of the structural model from crate::policy.