craft: move client/model/driver out to craft_client + ublkpp#168
Merged
Conversation
Reconcile HomeBlocks with the CRAFT repo split. The wire codec, the reference CRAFT client (dlsn_tracker / read_route_map / when_quorum), the in-memory reference model + transport, the REST admin, and the CRAFT ublk driver were extracted to the standalone `craft_client` package (namespace `craft`) and to `ublkpp` (`craft_disk`); HomeBlocks deletes the in-tree copies and depends on the package. - Delete src/test/craft entirely (client/, model/, admin/, tests): the client + reference model live in craft_client, the ublk driver in ublkpp's craft_disk, the reference server in craft_client's craft_reference_tcp_srv. - Move docs/craft/wire.md and docs/craft/transport.md to craft_client/docs; the repo keeps the API / RPC / kernel reference and the CRAFT-Design wiki pointers. - Consume craft_client's vocab directly: drop the homeblks/craft_types.hpp re-export shim and use craft:: types (LSNPair renamed to craft::lsn_pair; client_hdr / io_extent / LoginResult / craft_error), and keep lba_t / lba_count_t as HomeBlocks-owned index units in hb_internal.hpp -- CRAFT is byte-addressed, so lba is not part of its vocab. - conanfile: depend on craft_client/0.1.0@oss/dev. What stays: the homestore-backed CraftReplDev (src/lib/craft) and the declared volume_handle CRAFT API (home_blocks.hpp + craft_api.cpp), which routes to a craft::craft_replica backend -- none wired yet, so it returns not_supported.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reconcile HomeBlocks with the CRAFT repo split. The wire codec, the reference CRAFT client (dlsn_tracker / read_route_map / when_quorum), the in-memory reference model + transport, the REST admin, and the CRAFT ublk driver were extracted to the standalone
craft_clientpackage (namespacecraft) and toublkpp(craft_disk); HomeBlocks deletes the in-tree copies and depends on the package.What stays: the homestore-backed CraftReplDev (src/lib/craft) and the declared volume_handle CRAFT API (home_blocks.hpp + craft_api.cpp), which routes to a craft::craft_replica backend -- none wired yet, so it returns not_supported.