Skip to content

CanKit.Pro.Reliability Namespace

Classes
BusStateChangedEventArgs Event args for StateChanged (SRS FR-RAW-051): carries both the previous and the newly-observed BusState so a subscriber can react to the specific transition (e.g. only abort on entering BusState.BusOff, only resume on leaving it).
BusStateExtensions Small, pure classification helpers over BusState (SRS FR-RAW-051), so protocol instances can express "may I still transmit?" / "is the bus degraded?" without repeating the same enum comparisons at every call site.
BusStateMonitor Pushes ICanBus.BusState transitions to a protocol instance so it can abort or pause controlled transmissions on degradation (ErrWarning/ErrPassive/BusOff) and resume once the bus recovers (SRS FR-RAW-051).
DeadlineScheduler Default IDeadlineScheduler (SRS FR-RAW-050): hands out Deadline instances that arm their expiry through a single owning IProtocolActor's event-driven timer queue.
Interfaces
IDeadline A single armed deadline (SRS FR-RAW-050). A deadline starts Pending and resolves exactly once into one of three terminal outcomes: it <b>expires</b> (its onExpired callback fired), it is <b>completed</b> (the awaited transition finished in time), or it is <b>cancelled</b> (disposed).
IDeadlineScheduler A reusable, actor-driven timeout primitive (SRS FR-RAW-050). Protocol layers (ISO-TP N_Bs/ N_Cr, J1939 timeouts, UDS P2/P2*, CANopen SDO, ...) arm a IDeadline for a time-bounded state transition and are notified via onExpired when the transition did not complete in time.