/kronos

A Golang Library for Logical (and Vector) Clocks

Primary LanguageGoMIT LicenseMIT

:clock: Kronos (WIP)

A Golang Implementation of Logical (TODO and Vector) Clocks.

Background

Logical Clocks, also known as Lamport Timestamps, were introduced in Leslie Lamport's seminal 1978 paper, Time, Clocks, and the Ordering of Events in a Distributed System (pdf).

This is a simple implementation of the Logical Clock proposed here.

TODO

  • Distributed Mutex Example (maybe with deterministic simulation)
  • Vector Clock
  • Better tests
  • Add a Mutex for concurrent access?