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))