-
Notifications
You must be signed in to change notification settings - Fork 109
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
PoS Validator Management #793
PoS Validator Management #793
Conversation
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite. Current dependencies on/for this PR:
This stack of pull requests is managed by Graphite. |
d127346
to
819ca19
Compare
lib/pos_consensus_controller.go
Outdated
) | ||
|
||
type ConsensusController struct { | ||
lock sync.RWMutex | ||
fastHotStuffEventLoop *consensus.FastHotStuffEventLoop | ||
blockchain *Blockchain | ||
server *Server | ||
|
||
handshake *HandshakeController |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All of the changes in this file are related to peer management for the validator set, and related to maintaining connections between nodes. The changes introduced by this PR are not directly related to maintaining state of the blockchain or state of the Fast-HotStuff event loop based on internal events (block proposal, vote, timeout) and external messages from peers (blocks, vote, timeouts)
IMO, we should keep this ConsensusController scoped to just maintaining state blockchain and state of the Fast-HotStuff event loop based on the above events and and messages.
IMO, it's clearer to move all of the peer management, validator handshake, and validator connection maintenance from this file to a separate file, ex: pos_validator_management.go
that's scoped to just these three items. The loop to re-sync the validator set may live in server or in the new file. IMO, this the ConsensusController is not the best place to house it though.
8253a2b
to
222d970
Compare
819ca19
to
dac5441
Compare
222d970
to
19a5515
Compare
dac5441
to
725aa2d
Compare
19a5515
to
08faef7
Compare
725aa2d
to
96daf1b
Compare
This reverts commit e44c26f.
08faef7
to
8fc6254
Compare
7b4ad8e
to
0df796e
Compare
No description provided.