Skip to main content

Crate homecore_hap

Crate homecore_hap 

Source
Expand description

homecore-hap — Apple Home HomeKit Accessory Protocol bridge (ADR-125).

§Network foundation scope

The crate provides persisted accessory/controller identity, SRP-6a Pair-Setup, X25519/Ed25519 Pair-Verify, encrypted HAP IP framing, bounded TLV8/HTTP parsing, characteristic event flow, and (with hap-server) a bounded TCP listener plus real mDNS.

§Module layout

ModulePurpose
accessoryHAP service / characteristic enum catalogue
mappingEntityToAccessoryMapper — HOMECORE entity → HAP
bridgeHapBridge — owns exposed accessories
mdnsMdnsAdvertiser trait + NullAdvertiser stub
pairingAtomic accessory identity, setup, and pairing persistence
protocolBounded TLV8 protocol primitives
ruviewRuViewToHapMapper — sensing primitives → HAP
sessionAuthenticated request-gating state machine
serverFeature-gated bounded TCP/HTTP lifecycle
errorUnified HapError type

Re-exports§

pub use accessory::HapAccessoryType;
pub use accessory::HapCharacteristic;
pub use accessory::HapCharacteristicValue;
pub use bridge::CharacteristicEvent;
pub use bridge::ExposedAccessory;
pub use bridge::HapBridge;
pub use error::HapError;
pub use mapping::EntityToAccessoryMapper;
pub use mdns::HapServiceRecord;
pub use mdns::MdnsAdvertiser;
pub use mdns::NullAdvertiser;
pub use pairing::ControllerPairing;
pub use pairing::PairingStore;
pub use pairing::PairingStoreProvisioning;
pub use pairing::SetupCode;
pub use ruview::RuViewToHapMapper;
pub use session::Session;
pub use session::SessionState;

Modules§

accessory
HAP service type and characteristic enum catalogues.
bridge
HapBridge — owns the set of HOMECORE entities exposed as HAP accessories.
error
Unified error type for homecore-hap.
mapping
HOMECORE entity → HAP accessory type + characteristic value mapping.
mdns
HAP _hap._tcp advertisement.
pairing
Durable HAP accessory identity, setup verifier, and controller pairings.
protocol
Bounded HAP TLV8 primitives.
ruview
RuView sensing primitives → HAP characteristic mapping (ADR-125 §2.1.d).
session
Per-connection HAP authentication state.