The core protocol of WoopChain
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
woop/consensus/consensus_state.go

30 lines
581 B

package consensus
// State is the consensus state enum for both leader and validator
type State int
// Followings are the set of states of validators or leaders during consensus.
const (
Finished State = iota
AnnounceDone
PrepareDone
PreparedDone
CommitDone
CommittedDone
)
// Returns string name for the State enum
func (state State) String() string {
names := [...]string{
"Finished",
"AnnounceDone",
"PrepareDone",
"PreparedDone",
"CommitDone",
"CommittedDone"}
if state < Finished || state > CommittedDone {
return "Unknown"
}
return names[state]
}