def Bytes.scan.from.snapshot

mylsm-lsm-store@0.6.0.1 · mylsm.bend:793

import mylsm-lsm-store@0.6.0.1/mylsm.bend as Mylsm
import Base
import bend-kit-bytes@0.3.2.0/bytes.bend as PackedBytes
import mylsm-lsm-store@0.6.0.1/src/ByteDurableDb.bend as RawByteDb
import mylsm-lsm-store@0.6.0.1/src/ByteMemTable.bend as ByteMemTable
import mylsm-lsm-store@0.6.0.1/src/scan/RangeCursor.bend as ByteRangeCursor

793def Bytes.scan.from.snapshot(
794  lower_pair: Maybe<&1, PackedBytes.Bytes> & Maybe<&1, PackedBytes.Bytes>,
795  upper: Maybe<&1, PackedBytes.Bytes>,
796  prefix: Maybe<&1, PackedBytes.Bytes>,
797  snapshot: RawByteDb.Handle & List<&1, ByteMemTable.Entry>
798) -> Bytes.Handle & Bytes.Cursor:
799  match lower_pair:
800    case (lower, seek_lower):
801      match snapshot:
802        case (next_raw, entries):
803          (ByteHandle{next_raw}, ByteCursor{
804            ByteRangeCursor.open(ByteRangeCursor.seek(entries, seek_lower)),
805            ByteRangeCursor.Bounds{lower, upper, prefix}})

Uses (12)

Used by (1)