SstCursor.next: def of mylsm-lsm-store@0.6.0.1 Import: import mylsm-lsm-store@0.6.0.1/src/scan/SstCursor.bend as SstCursor Lines 406-425 of mylsm-lsm-store@0.6.0.1/src/scan/SstCursor.bend: https://jend.leeeet.dev/read.txt?path=mylsm-lsm-store@0.6.0.1/src/scan/SstCursor.bend&start_line=406&end_line=425 import Base import mylsm-lsm-store@0.6.0.1/src/scan/ByteBlockReader.bend as ByteBlockReader # Returns the next bounded record, range skip, end, or terminal read error. def next(cursor: Cursor) -> IO(Step): match cursor: case Active{inner, bounds}: match inner: case ByteBlockReader.EntryReady{reader, entries}: match entries: case Con{entry, tail}: scan.entry(entry, ByteBlockReader.EntryReady{reader, tail}, bounds) case Nil{}: scan.start(ByteBlockReader.transition_budget(reader), bounds) case ByteBlockReader.EntryEnded{}: IO.pure(Step, End{}) case ByteBlockReader.EntryClosed{}: IO.pure(Step, End{}) case ByteBlockReader.EntryFailed{error}: IO.pure(Step, Error{error}) case Ended{}: IO.pure(Step, End{}) case Closed{}: IO.pure(Step, End{}) case Failed{error}: IO.pure(Step, Error{error}) Uses (9): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO.pure https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.6.0.1/src/scan/ByteBlockReader.bend&name=EntryCursor https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.6.0.1/src/scan/ByteBlockReader.bend&name=transition_budget https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.6.0.1/src/scan/SstCursor.bend&name=Cursor https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.6.0.1/src/scan/SstCursor.bend&name=Step https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.6.0.1/src/scan/SstCursor.bend&name=scan.entry https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.6.0.1/src/scan/SstCursor.bend&name=scan.start