def Bytes.scan_next.result

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

import mylsm-lsm-store@0.6.0.1/mylsm.bend as Mylsm
import Base
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

1587# Advances a byte scan by one matching item, filtered skip, or end marker.
1588def Bytes.scan_next.result(result: ByteRangeCursor.Step) -> Bytes.ScanStep:
1589  match result:
1590    case ByteRangeCursor.RangeItem{ByteMemTable.Entry{key, Some{value}}, next_inner, next_bounds}:
1591      ScanItem{key, value, ByteCursor{next_inner, next_bounds}}
1592    case ByteRangeCursor.RangeItem{ByteMemTable.Entry{_, None{}}, next_inner, next_bounds}:
1593      ScanSkip{ByteCursor{next_inner, next_bounds}}
1594    case ByteRangeCursor.RangeSkip{next_inner, next_bounds}:
1595      ScanSkip{ByteCursor{next_inner, next_bounds}}
1596    case ByteRangeCursor.RangeEnd{next_inner, next_bounds}:
1597      ScanEnd{ByteCursor{next_inner, next_bounds}}

Uses (5)

Used by (1)