Abstract out the VersionedMap aspects from StorageServer
Open
- Dominant language
- C++
- Stars
- 16.7k
- Forks
- 1.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 126
Description
Certain VersionedMap specific aspects seem to be tied up with StorageServer. That makes it hard to use VersionedMap as an independent entity and require code duplication to get things working.
For example, class ValueOrClearToRef{} should likely belong with VersionedMap.
Also we could separate out the versionedMap parts of certain functions such as:
void applyMutation( StorageServer *self, MutationRef const& m, Arena& arena, StorageServer::VersionedData &data )
I ran into this issue while microbenchmarking the VersionedMap standalone.
And now, we are trying to re-use VersionedMap as the in-memory versioned data structure for the storage cache.
Contributor guide
Assessment
This issue has not been assessed yet.