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)