serialize method
Serialize to bytes: uint8 type + uint16 addr_length + addr_bytes.
Implementation
Uint8List serialize() {
final addrBytes = Uint8List.fromList(observedAddr);
final length = addrBytes.length;
if (length > 0xFFFF) {
throw ArgumentError('observedAddr length exceeds uint16 max');
}
final result = Uint8List(1 + 2 + length);
final view = ByteData.view(result.buffer);
view.setUint8(0, type);
view.setUint16(1, length, Endian.big);
result.setAll(3, addrBytes);
return result;
}