def mutations.entries.loop
mylsm-lsm-store@0.6.0.1 · src/transfer/Restore.bend:259
import mylsm-lsm-store@0.6.0.1/src/transfer/Restore.bend as Restore
import Base
import mylsm-lsm-store@0.6.0.1/src/ByteMemTable.bend as ByteMemTable
import mylsm-lsm-store@0.6.0.1/src/ByteWal.bend as ByteWal
259def mutations.entries.loop(
260 fuel: Nat,
261 mutations: List<&1, ByteWal.Mutation>,
262 reversed: List<&1, ByteMemTable.Entry>,
263 count: Nat
264) -> Result<&1, &1, Error, EntryBatch>:
265 match fuel:
266 case 0n: Fail{ResourceLimit{}}
267 case 1n+rest:
268 match mutations:
269 case Nil{}:
270 Done{EntryBatch{List.reverse(&1, ByteMemTable.Entry, reversed), count}}
271 case Con{mutation, tail}:
272 match mutation:
273 case ByteWal.Put{key, value}:
274 mutations.entries.loop(rest, tail,
275 Con{ByteMemTable.Entry{key, Some{value}}, reversed},
276 Nat.add(count, 1n))
277 case ByteWal.Delete{_}: Fail{InvalidFormat{}}