Skip to content

Lamport clocks, total ordering, failure tolerance, leader election

Notifications You must be signed in to change notification settings

evapujals/GroupCast

Repository files navigation

GroupCast

Code Health Build Status


Task #2: Lamport clocks, total ordering, failure tolerance, leader election

Group.py

Group is responsible of membership management functions. The classical functionality: join, leave and get_members.

Peer.py

Peer
Basic implementation to manage a member of a group.
LamportPeer
Each message m is always timestamped with the current Lamport clock of its sender.

Sequencer.py

Sequencer is used to implement total ordering.
A sequencer is a process that assigns a unique timestamp seq to every message m that it receives, and multicasts it to every other member of the group.
A failure tolerance mechanism is provided in this part.
The bully leader election algorithm to elect a new sequencer when it fails is implemented.

Impress.py

Impress has been implemented in order to avoid problems with printing using intervals.

About

Lamport clocks, total ordering, failure tolerance, leader election

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages