def scan_go

mylsm-lsm-store@0.6.0.1 · src/MemTable.bend:78

import mylsm-lsm-store@0.6.0.1/src/MemTable.bend as MemTable
import Base
import mylsm-lsm-store@0.6.0.1/src/Keys.bend as Keys

78# Scan go for the in-memory table operations.
79def scan_go(fuel: Nat, +key: String, st: (Bool & Maybe<&2, String>), entries: List<&2, Entry>) -> Maybe<&2, String>:
80  match fuel:
81    case 0n:
82      (done, ans) = st
83      ans
84    case 1n+f:
85      (done, ans) = st
86      match entries:
87        case Nil{}:
88          ans
89        case Con{Entry{ekey, val}, t}:
90          scan_go(f, key, scan_step(done, Keys.eq(ekey, key), val, ans), t)

Uses (10)

Used by (4)