Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add experimental KV type wrapper #1216

Merged
merged 39 commits into from
May 27, 2020

Conversation

eddyashton
Copy link
Member

Opening as a draft while I clean up some TODOs.

Continues refactor of KV, adding kv::experimental:: alternatives to kv:: for Map and TxView types. The experimental:: variants wrap untyped (ie - std::vector<uint8_t> -> std::vector<uint8_t>) instances of the old types, exposing the same interface (not just implementing the same Abstract types, but also matching template-discovered public typedefs) but implementing serialisation inside get/put etc.

The eventual goal is to use these maps as standard, so kv::Map will become kv::untyped::Map, and kv::experimental::Map will become kv::Map, with no visible API changes. For now they are experimental while I test the compatibility, and next I'll do a rollout testing them in existing Maps.

src/kv/map.h Outdated Show resolved Hide resolved
@ccf-bot
Copy link
Collaborator

ccf-bot commented May 26, 2020

experimental_kv_type_wrapper@8714 aka 20200527.5 vs master ewma over 50 builds from 8543 to 8711
images

src/kv/tx.h Show resolved Hide resolved
@jumaffre
Copy link
Contributor

LGTM!

@eddyashton eddyashton marked this pull request as ready for review May 27, 2020 09:34
@eddyashton eddyashton requested a review from a team as a code owner May 27, 2020 09:34
@eddyashton eddyashton merged commit 257e5fc into microsoft:master May 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants