Skip to main content

brokapi_alor/core/
mod.rs

1//! The sans-io cores of the ALOR connectors.
2//!
3//! A core is a state machine without sockets, tasks or clocks. It gets inbound frames and the current time, and
4//! it pushes events. The connectors in this crate run one core each ([`MdCore`] and [`UdCore`]) inside a pump
5//! task. You can also drive a core by hand, for a test or a replay of recorded frames: the trait
6//! [`brokapi_sansio::BrokerCore`] is the interface.
7//!
8//! The data channel of ALOR names every frame with the `guid` of the subscription that asked for it, so a core
9//! does not guess which subscription a frame is for: the connector registers the `guid` of each subscription
10//! ([`MdCore::register`], [`UdCore::register`]) before it sends the request, and the core looks the frame up.
11
12pub mod md;
13pub mod ud;
14
15pub use md::{MdCore, SubState};
16pub use ud::UdCore;