596 B
596 B
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