serializePayload method

Uint8List serializePayload()

Serialize payload: sequence of 16-bit uint(length) + origin_bytes.

Implementation

Uint8List serializePayload() {
  final builder = BytesBuilder();
  for (final origin in origins) {
    final originBytes = utf8.encode(origin);
    if (originBytes.length > 65535) {
      throw ArgumentError('Origin too long: ${originBytes.length} bytes');
    }
    builder.addByte((originBytes.length >> 8) & 0xFF);
    builder.addByte(originBytes.length & 0xFF);
    builder.add(originBytes);
  }
  return builder.toBytes();
}