localUpdate method

DocumentCRDT localUpdate({
  1. required String serverId,
  2. required Uint8List newContent,
  3. required String newContentHash,
  4. required String newContentType,
})

Increment version for a local update

Returns new CRDT with incremented version vector for this server.

Implementation

DocumentCRDT localUpdate({
  required String serverId,
  required Uint8List newContent,
  required String newContentHash,
  required String newContentType,
}) {
  final newVector = Map<String, int>.from(versionVector);
  newVector[serverId] = (newVector[serverId] ?? 0) + 1;

  return DocumentCRDT(
    versionVector: newVector,
    content: newContent,
    contentHash: newContentHash,
    timestamp: DateTime.now().millisecondsSinceEpoch,
    contentType: newContentType,
  );
}