locks
locks copied to clipboard
Uw general improvements
This PR tries to address both issues #37 and #30.
- Refactoring to ease tracing
- The locks_server now keeps a central version counter for strictly increasing versions
- A sliding-window message log, kept in the process dictionary, is used in
locks_leader
, to facilitate debugging should the election process hang. - An 'election vector' is used in
locks_leader
to better keep up with the status of the locking process, andleader_uncertain
is triggered anytime the vectors don't match.
Note: some issues identified. Still debugging.