26 lines
596 B
Markdown
26 lines
596 B
Markdown
|
# Simple Flash Key Value store
|
||
|
|
||
|
Tries to keep flash wear low by continuously appending data,
|
||
|
automatically erasing and rewriting when full.
|
||
|
|
||
|
## Store requirements
|
||
|
|
||
|
* Reading must be possible by memory-mapping a `&[u8]` slice
|
||
|
* Must support `erase()` for compaction,
|
||
|
* Writing must support `program()` with an offset and `&[u8]` payload
|
||
|
|
||
|
For details see `trait StoreBackend`.
|
||
|
|
||
|
## TODO
|
||
|
|
||
|
* read_int()
|
||
|
* write_str()
|
||
|
* automatic value coercion
|
||
|
* support for floats
|
||
|
|
||
|
### Ideas
|
||
|
|
||
|
* iterator (quadratic)
|
||
|
* compaction to a second backend instead on stack
|
||
|
* StoreBackend-configurable erased data detection
|