enqueueIndexedPut method

Future<void> enqueueIndexedPut(
  1. String blockId,
  2. Uint8List data,
  3. List<({int fieldHash, int tagHash, Uint8List valueBytes})> entries
)

Implementation

Future<void> enqueueIndexedPut(
  String blockId,
  Uint8List data,
  List<({int fieldHash, Uint8List valueBytes, int tagHash})> entries,
) async {
  final existing = _pendingQueue.indexWhere(
    (op) => op.blockId == blockId && op.type == 'put',
  );
  if (existing >= 0) {
    _pendingQueue[existing] = _PendingOp('put', blockId, data, entries);
  } else {
    _pendingQueue.removeWhere(
      (op) => op.blockId == blockId && op.type == 'delete',
    );
    _pendingQueue.add(_PendingOp('put', blockId, data, entries));
  }
  _schedulePersist();
}