writeDelimited function

Future<void> writeDelimited(
  1. P2PStream stream,
  2. List<int> message
)

Writes a delimited message to the stream

Implementation

Future<void> writeDelimited(P2PStream<dynamic> stream, List<int> message) async {
  // Encode the length as a varint
  final lengthBytes = encodeVarint(message.length + 1);

  // Create the full message: length + message + newline
  final fullMessage = Uint8List(lengthBytes.length + message.length + 1);
  fullMessage.setRange(0, lengthBytes.length, lengthBytes);
  fullMessage.setRange(lengthBytes.length, lengthBytes.length + message.length, message);
  fullMessage[lengthBytes.length + message.length] = 10; // '\n'

  // Write to the stream
  await stream.write(fullMessage);
}