encode method

  1. @override
Uint8List encode(
  1. int protocolVersion,
  2. MessageEncoding encoding
)
override

Encode message to bytes

Implementation

@override
Uint8List encode(int protocolVersion, MessageEncoding encoding) {
  final bytes = <int>[];

  // Write count of headers as VarInt
  VarInt.write(bytes, headers.length);

  // Write each header followed by a transaction count of 0
  for (final header in headers) {
    final headerBytes = header.serialize();
    bytes.addAll(headerBytes);

    // Transaction count (always 0 for headers message)
    VarInt.write(bytes, 0);
  }

  return Uint8List.fromList(bytes);
}