parse static method

DCUtRMessage parse(
  1. Uint8List bytes
)

Parse from bytes.

Implementation

static DCUtRMessage parse(Uint8List bytes) {
  if (bytes.length < 3) {
    throw FormatException('DCUtR message too short');
  }
  final view = ByteData.view(
    bytes.buffer,
    bytes.offsetInBytes,
    bytes.length,
  );
  final type = view.getUint8(0);
  final length = view.getUint16(1, Endian.big);
  if (bytes.length < 3 + length) {
    throw FormatException('DCUtR message truncated');
  }
  final addrBytes = bytes.sublist(3, 3 + length);
  return DCUtRMessage(type: type, observedAddr: addrBytes);
}