Package datk :: Package core :: Module algs :: Class LCR
[hide private]
[frames] | no frames]

Class LCR

source code

        distalgs.Algorithm --+    
                             |    
distalgs.Synchronous_Algorithm --+
                                 |
                                LCR

The LeLann, Chang and Roberts algorithm for Leader Election in a Synchronous Ring Network

Each Process sends its identifier around the ring. When a Process receives an incoming identifier, it compares that identifier to its own. If the incoming identifier is greater than its own, it keeps passing the identifier; if it is less than its own, it discards the incoming identifier; if it is equal to its own, the Process declares itself the leader.

Requires:

Effects:

Instance Methods [hide private]
 
msgs_i(self, p)
Determines what messages a Process, p, will send.
source code
 
trans_i(self, p, msgs)
Determines what state transition a Process, p, will perform, having received messages, msgs
source code
 
cleanup_i(self, p)
Determines what final state transition a Process, p, will perform, after the algorithm terminates.
source code

Inherited from distalgs.Synchronous_Algorithm: execute, msgs, print_algorithm_terminated, round, run, trans

Inherited from distalgs.Algorithm: __call__, __init__, cleanup, count_msg, delete, get, halt, halt_i, has, increment, output, set

Class Variables [hide private]

Inherited from distalgs.Algorithm: DEFAULT, DEFAULT_PARAMS, QUIET, SILENT, VERBOSE

Method Details [hide private]

msgs_i(self, p)

source code 

Determines what messages a Process, p, will send.

Overrides: distalgs.Algorithm.msgs_i
(inherited documentation)

trans_i(self, p, msgs)

source code 

Determines what state transition a Process, p, will perform, having received messages, msgs

Overrides: distalgs.Algorithm.trans_i
(inherited documentation)

cleanup_i(self, p)

source code 

Determines what final state transition a Process, p, will perform, after the algorithm terminates.

Overrides: distalgs.Algorithm.cleanup_i
(inherited documentation)