createInitialMessage static method

Uint8List createInitialMessage(
  1. List<NegentropyItem> items, [
  2. int itemIdSize = idSize
])

Creates the initial message an initiator sends in NEG-OPEN.

Implementation

static Uint8List createInitialMessage(
  List<NegentropyItem> items, [
  int itemIdSize = idSize,
]) {
  if (itemIdSize != idSize) {
    throw ArgumentError('Negentropy v1 requires $idSize byte IDs');
  }

  final sorted = _prepare(items);
  final output = _MessageWriter()..addByte(protocolVersion);
  _splitRange(sorted, 0, sorted.length, _infinityBound, output);

  return output.toBytes();
}