encode static method

Uint8List encode({
  1. required StreamDataType dataType,
  2. required int streamSlot,
  3. required int srcSlot,
  4. required double senderMicros,
  5. required List<Object?> channels,
})

Implementation

static Uint8List encode({
  required StreamDataType dataType,
  required int streamSlot,
  required int srcSlot,
  required double senderMicros,
  required List<Object?> channels,
}) {
  final body = _encodeBody(dataType, channels);
  final out = Uint8List(headerBytes + body.lengthInBytes);
  final view = ByteData.view(out.buffer);
  out[_kindOffset] = kindSample;
  out[_dtypeOffset] = dataType.index;
  view.setUint16(_streamSlotOffset, streamSlot, Endian.little);
  view.setUint16(_srcSlotOffset, srcSlot, Endian.little);
  view.setFloat64(_microsOffset, senderMicros, Endian.little);
  out.setRange(
    headerBytes,
    out.length,
    body.buffer.asUint8List(body.offsetInBytes, body.lengthInBytes),
  );
  return out;
}