deserializeHeader function

int? deserializeHeader(
  1. ImcBuilderHeaderPart builder,
  2. ByteData byteData,
  3. Endian endianness, [
  4. int headerStartoffset = 0,
])

Implementation

int? deserializeHeader(
    ImcBuilderHeaderPart builder, ByteData byteData, Endian endianness,
    [int headerStartoffset = 0]) {
  try {
    var byteOffset = headerStartoffset + 2 + 2;

    var payloadSize = byteData.getUint16(byteOffset, endianness);
    byteOffset += 2;
    var timeSeconds = byteData.getFloat64(byteOffset, endianness);
    byteOffset += 8;
    var src = byteData.getUint16(byteOffset, endianness);
    byteOffset += 2;
    var srcEnt = byteData.getUint8(byteOffset);
    byteOffset += 1;
    var dst = byteData.getUint16(byteOffset, endianness);
    byteOffset += 2;
    var dstEnt = byteData.getUint8(byteOffset);
    byteOffset += 1;

    builder
      ..timestamp = DateTime.fromMillisecondsSinceEpoch(
          (timeSeconds * 1E3).toInt(),
          isUtc: true)
      ..src = src
      ..srcEnt = srcEnt
      ..dst = dst
      ..dstEnt = dstEnt;

    return payloadSize;
  } catch (e) {
    return null;
  }
}