Alexandria storage backend
Up to this point alexandria
has only existed in memory. This must change before we can actually ship out user clients.
There are a lot of strategies that we could take in Alexandria, but this first pass should focus on simplicity. We can always make things more complicated later.
Also: we currently don't support external binary payloads, which makes things easier as well. Following is an outline of what needs to be implemented for basic persistence.
Outline
-
Implement Library::load()
to reload an existing session -
Fix path scaffolding in Builder
andDirs
-
Implement basic synchronisation engine -
Sync delta objects -
Sync metadata store ( UserTable
,TagCache
)
-
General improvements
-
Add Close
trait withfn close(&mut self, key: Arc<KeyPair>)
- Implement trait for any type containing
Encrypted<_>
types
- Implement trait for any type containing
Edited by Katharina Fey