@tpp/hybrid-logical-clock

A better Distributed Vector Clock

Usage no npm install needed!

<script type="module">
  import tppHybridLogicalClock from 'https://cdn.skypack.dev/@tpp/hybrid-logical-clock';
</script>

README

Hybrid Logical Clock

A Hybrid Logical Clock is a resilient and simple distributed clock that provides the ability for identity and ordering of messages in a distributed system.

logo

It is an improvement over Lamport timestamps and Vector Clocks and does not need the strong guarantees of Google’s True Time.

The Hybrid Logical Clock tolerates NTP kinks and mismatched clocks while still providing excellent behaviour and remaining stable.

Usage

Get the next id for every new message created:

id = hlc.nxt()

When receiving a remote message, update our clock with the remote information:

hlc.recv(remote.id)

And that’s it.