Documentation ¶
Index ¶
- Variables
- func CloneElection(src *election.Election) *election.Election
- func Dive(mList []*DirectedMessage, leaders []*election.Election, depth int, limit int, ...) (limitHit bool, leaf bool, seeSuccess bool)
- func LoopingDetected(global *election.Display) int
- func Main()
- func SetGlobals(r int, rf int, p int, g int)
- func Sha(p []byte) [32]byte
Constants ¶
This section is empty.
Variables ¶
View Source
var MirrorMap Mirrors
Functions ¶
func Dive ¶
func Dive(mList []*DirectedMessage, leaders []*election.Election, depth int, limit int, msgPath []*DirectedMessage) (limitHit bool, leaf bool, seeSuccess bool)
dive Pass a list of messages to process, to a set of leaders, at a current depth, with a particular limit. Provided a msgPath, and updated for recording purposes. Returns limitHit -- path hit the limit, and recursed. Can happen on loops leaf -- All messages were processed, and no message resulted in a change of state. seeSuccess -- Some path below this dive produced a solution Note that we actually dive 100 levels beyond our limit, and declare seeSuccess past our limit as proof we are in a loop. Hitting the limit and seeSuccess is proof of a loop that none the less can resolve.
func LoopingDetected ¶
LoopingDetected will the number of looping leaders
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.