encodeIdbMeta function

Uint8List encodeIdbMeta(
  1. int logicalLength,
  2. int chunkSize
)

Encodes logical length and chunk size into a 20-byte metadata record.

Implementation

Uint8List encodeIdbMeta(int logicalLength, int chunkSize) {
  if (logicalLength < 0) throw RangeError.value(logicalLength, 'length');
  final data = ByteData(_metaBytes);
  data.setUint32(0, _metaMagic, Endian.little);
  data.setUint32(4, _metaVersion, Endian.little);
  data.setUint32(8, chunkSize, Endian.little);
  data.setUint32(12, logicalLength & 0xFFFFFFFF, Endian.little);
  data.setUint32(16, logicalLength ~/ 0x100000000, Endian.little);
  return data.buffer.asUint8List();
}