hlc 1.0.1 copy "hlc: ^1.0.1" to clipboard
hlc: ^1.0.1 copied to clipboard

outdated

Dart port of a hybrid logical clock (HLC).

Dart Hybrid Logical Clock (HLC) #

This is a Dart port of the hybrid logical clock implementation described by Jared Forsyth in this article.

HLCs are a useful primitive for CRDT implementations.

Install #

Pub Version

In pubspec.yaml:

dependencies:
  hlc: ^1.0.0

Usage #

Import the library:

import 'package:hlc/hlc.dart';

Initialize a local HLC with the current wall clock:

var hlc = HLC.now();

Perform a local action that requires advancing the local HLC:

hlc = hlc.increment();

Receive a remote HLC, applying it to the local one:

final remoteHlc = HLC.now(); // From somewhere in the network.
hlc = hlc.receive(remoteHlc);

Serialize/deserialize an HLC while maintaining its topological ordering:

final serialized = hlc.pack();
final deserialized = HLC.unpack(serialized);
2
likes
0
pub points
55%
popularity

Publisher

verified publishermisha.jp

Dart port of a hybrid logical clock (HLC).

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

More

Packages that depend on hlc