def scan_hit

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

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

116# Scan hit for the in-memory table operations.
117def scan_hit(
118  fuel: Nat,
119  +key: String,
120  st: (Bool & Maybe<&2, Maybe<&2, String>>),
121  entries: List<&2, Entry>
122) -> Maybe<&2, Maybe<&2, String>>:
123  match fuel:
124    case 0n:
125      (done, ans) = st
126      ans
127    case 1n+f:
128      (done, ans) = st
129      match entries:
130        case Nil{}:
131          ans
132        case Con{Entry{ekey, val}, t}:
133          scan_hit(f, key, scan_hit_step(done, Keys.eq(ekey, key), val, ans), t)

Uses (10)

Used by (4)