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

Refactor into workspace #28

Merged
merged 8 commits into from
Feb 15, 2022
Merged

Refactor into workspace #28

merged 8 commits into from
Feb 15, 2022

Conversation

nmccarty
Copy link
Contributor

@nmccarty nmccarty commented Feb 14, 2022

This WIP PR refactors phaselock into a workspace consisting of two crates, phaselock and phaselock-types. This is to allow the core phaselock types and traits to be in their own crate, so that implementations can be in their own crates, and still be used in phaselock proper without creating a circular dependency.

implements #25

@nmccarty nmccarty self-assigned this Feb 14, 2022
@nmccarty nmccarty linked an issue Feb 14, 2022 that may be closed by this pull request
@nmccarty nmccarty marked this pull request as draft February 14, 2022 19:53
@nmccarty nmccarty force-pushed the nm/workspace-refacto branch from 6ca5890 to 63fdf55 Compare February 14, 2022 20:41
Nearly completly migrate over the data and traits modules to phaselock-types.
This includes:
 - The hash types and assocaited macro generation
 - The Stage enum
 - The Quorum certificate types
 - The State and BlockContents traits
 - The Message module and associated types
 - The PubKey and PrivKey types
 - The NetworkingImplementation trait
 - The Storage trait
 - The NodeImplementation trait
 - The Event struct and EventType enum

This required changing some pub(crate)s over to pub.
No breaking changes have been made in phaselock, as the modules have been modified to rexport the
relevant types.

This change will allow an implementation of one of the core phaselock traits, such as a
NetworkingImplmentation, to live in a seperate crate from phaselock proper, while still allowing
phaselock to depend upon it without creating a circular dependency.

Closes #25
Update the nix flake to be workspace aware, and update the lockfiles in the process
@nmccarty nmccarty force-pushed the nm/workspace-refacto branch from af8e756 to c8e5088 Compare February 15, 2022 21:56
@nmccarty nmccarty changed the title Draft: Refactor into workspace Refactor into workspace Feb 15, 2022
@nmccarty nmccarty marked this pull request as ready for review February 15, 2022 22:12
@nmccarty nmccarty merged commit c403d88 into main Feb 15, 2022
@nmccarty nmccarty deleted the nm/workspace-refacto branch February 15, 2022 22:13
nmccarty pushed a commit that referenced this pull request Mar 4, 2022
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.

Refactor into workspace
1 participant