Skip to main content

Module architecture

Module architecture 

Source
Expand description

Crate architecture diagram.

osdp-rs layers responsibilities so that the high-level state machines in driver can stay independent of the wire format and the I/O substrate. Every arrow points “uses”.

flowchart TB
    APP([Application])
    subgraph drivers["driver — high-level state machines"]
        ACU[acu::Acu]
        PD[pd::Pd]
    end
    subgraph messages["typed messages"]
        CMD[command]
        REP[reply]
        MP[multipart]
    end
    subgraph wire["wire layer"]
        PKT[packet]
        SEC["secure (Annex D)"]
    end
    TR[transport]
    APP --> drivers
    drivers --> messages
    drivers --> wire
    drivers --> TR
    messages --> wire
    wire --> TR