def scan.exhausted

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

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

202def scan.exhausted(state: ScanState) -> IO(Step):
203  match state:
204    case ScanNeed{reader, _}:
205      do IO<Step>:
206        _closed : Result<&1, &1, U32 & String, Unit> <- ByteBlockReader.close(reader)
207        return Error{(7, "SST cursor exceeded its transition budget")}
208    case ScanRead{result, _}:
209      match result:
210        case Done{ByteBlockReader.Block{reader, _}}:
211          do IO<Step>:
212            _closed : Result<&1, &1, U32 & String, Unit> <-
213              ByteBlockReader.close(reader)
214            return Error{(7, "SST cursor exceeded its transition budget")}
215        case _:
216          IO.pure(Step, Error{(7, "SST cursor exceeded its transition budget")})
217    case ScanBlock{reader, _, _}:
218      do IO<Step>:
219        _closed : Result<&1, &1, U32 & String, Unit> <- ByteBlockReader.close(reader)
220        return Error{(7, "SST cursor exceeded its transition budget")}

Uses (13)

Used by (1)