nasa / bplib

Apache License 2.0
30 stars 13 forks source link

Implement file storage in BPv7 demo #90

Closed jphickey closed 2 years ago

jphickey commented 2 years ago

Currently the bptest (v7) demonstration program only uses a RAM cache as storage. For full "custody" implementation (TBD), to reduce RAM use, and more overall robustness, this should implement a persistent storage.

The "file" storage service from the BPv6 implementation can be ported into the BPv7 implementation to make this possible. While a "flash" layer will probably become necessary at some point, that is more dependent on the platform.

A filesystem implementation is the best first implementation because most operating systems provide some sort of abstract filesystem (VFS) type of service, and can even implement a flash storage through the use of existing flash-to-filesystem translations like JFFS2. Therefore a filesystem-based persistent storage has a wide gamut of portability/compatibility opportunities across many systems.

jphickey commented 2 years ago

The intermediate RAM-based cache storage is probably good enough for proof of concept. This may want to wait until the architecture/requirements discussions are more settled before spending the time to port this in.