def source.step
mylsm-lsm-store@0.6.0.1 · src/transfer/BackupCursorIo.bend:182
import mylsm-lsm-store@0.6.0.1/src/transfer/BackupCursorIo.bend as BackupCursorIo
import Base
import mylsm-lsm-store@0.6.0.1/src/scan/VisibleCursor.bend as VisibleCursor
import mylsm-lsm-store@0.6.0.1/src/transfer/BackupCursor.bend as BackupCursor
182def source.step(stream: BackupCursor.Stream) -> IO(BackupCursor.Step):
183 match stream:
184 case BackupCursor.Stream{BackupCursor.CursorBlocks{}, Some{cursor}, pending,
185 pending_count, seen, expected, entry_count, block_count, block_index}:
186 metadata : BackupCursor.Stream = BackupCursor.Stream{BackupCursor.CursorBlocks{}, None{},
187 pending, pending_count, seen, expected, entry_count, block_count,
188 block_index}
189 do IO<BackupCursor.Step>:
190 next : VisibleCursor.Step <- VisibleCursor.next(cursor)
191 return BackupCursor.advance(metadata, next)
192 case _:
193 IO.pure(BackupCursor.Step, BackupCursor.advance(stream, VisibleCursor.End{}))