def split.batch.go

mylsm-lsm-store@0.6.0.1 · src/transfer/Backup.bend:104

import mylsm-lsm-store@0.6.0.1/src/transfer/Backup.bend as Backup
import Base
import mylsm-lsm-store@0.6.0.1/src/ByteMemTable.bend as ByteMemTable

104def split.batch.go(
105  fuel: Nat,
106  entries: List<&1, ByteMemTable.Entry>,
107  reversed: List<&1, ByteMemTable.Entry>,
108  count: U32
109) -> BatchSplit:
110  match fuel:
111    case 0n: BatchSplit{List.reverse(&1, ByteMemTable.Entry, reversed), entries, count}
112    case 1n+rest:
113      match entries:
114        case Nil{}:
115          BatchSplit{List.reverse(&1, ByteMemTable.Entry, reversed), Nil{}, count}
116        case Con{entry, tail}:
117          split.batch.go(rest, tail, Con{entry, reversed}, (count + 1 : U32))

Uses (7)

Used by (1)