def scan.entry.upper.result

mylsm-lsm-store@0.6.0.1 · src/scan/SstCursor.bend:113

import mylsm-lsm-store@0.6.0.1/src/scan/SstCursor.bend as SstCursor
import Base
import mylsm-lsm-store@0.6.0.1/src/scan/ByteBlockReader.bend as ByteBlockReader
import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes

113def scan.entry.upper.result(
114  reached: Bool,
115  key: Bytes.Bytes,
116  value: Maybe<&1, Bytes.Bytes>,
117  cursor: ByteBlockReader.EntryCursor,
118  lower: Maybe<&1, Bytes.Bytes>,
119  prefix: Maybe<&1, Bytes.Bytes>,
120  retained: Bounds,
121  upper_checked: Maybe<&1, Bytes.Bytes>,
122  key_copies: Bytes.Bytes & Bytes.Bytes
123) -> IO(Step):
124  match reached:
125    case True{}:
126      do IO<Step>:
127        closed : Result<&1, &1, U32 & String, Unit> <-
128          ByteBlockReader.entry.close(cursor)
129        return scan.entry.upper.closed(closed)
130    case False{}:
131      scan.entry.checked(key, value, cursor,
132        (Bounds{lower, upper_checked, prefix}, retained), key_copies)

Uses (18)

Used by (1)