- tokio
drmem-api-- contains types and APIs used by drivers and the main executabledrivers-- contains several crates that that implement DrMem drivers and can optionally be linked intodrmemddrivers/drmem-drv-hue-- a driver for the Philips Hue productsdrivers/drmem-drv-ntp-- a driver to monitor NTPD serversdrivers/drmem-drv-sump-- a driver to monitor a sump pumpdrivers/drmem-drv-tplink-- a driver to control devices that use the TP-Link protocoldrivers/drmem-drv-weather-wu-- a driver to retrieve weather info from Weather Underground
drmemd-- builds the main executabledrmemddrmemd/src/backends-- holds code for storage backends; supports a simple or a redis backend, selectable bycargofeaturesdrmemd/src/logic-- holds code implementing the "logic block" processesdrmemd/src/drivers-- holds several, simple drivers that are always available in a DrMem instancedrmemd/src/graphql-- defines the optional GraphQL interface
- Responses shouldn't be chatty -- keep it terse but informative
- Prefer minimal patches
- Prefer functional solutions over imperative
- Run
cargo checkafter code changes - Do not edit generated files directly
- Run
cargo checkbefore committing - Use
jjfor version control - Never use
unsafecode
- Build:
cargo build --features simple-backend,all-drivers,graphql - Check:
cargo check --features simple-backend,all-drivers,graphql - Test:
cargo test --features simple-backend,all-drivers,graphql