type RouteState

mylsm-lsm-store@0.6.0.1 · src/scan/ByteBlockReader.bend:80

import mylsm-lsm-store@0.6.0.1/src/scan/ByteBlockReader.bend as ByteBlockReader
import Base
import mylsm-lsm-store@0.6.0.1/src/SstStreamIo.bend as SstStreamIo
import mylsm-lsm-store@0.6.0.1/src/scan/BlockRoutePolicy.bend as BlockRoutePolicy
import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes

80# Carries each positional read through the separator-search state machine.
81type RouteState is Type:
82  RouteNeed{file: File, state: State, context: RouteContext, key: Bytes.Bytes,
83    search: BlockRoutePolicy.Search}
84  RouteSelect{reader: Reader, block: Nat}
85  RouteRecordRead{pair: File & Result<&1, &1, U32 & String,
86    SstStreamIo.ExactResult>, state: State, context: RouteContext, key: Bytes.Bytes,
87    search: BlockRoutePolicy.Search, mid: Nat}
88  RouteSeparatorNeed{file: File, state: State, context: RouteContext, key: Bytes.Bytes,
89    search: BlockRoutePolicy.Search, mid: Nat, offset: Nat, length: U32,
90    separator_start: Nat}
91  RouteSeparatorRead{pair: File & Result<&1, &1, U32 & String,
92    SstStreamIo.ExactResult>, state: State, context: RouteContext, key: Bytes.Bytes,
93    search: BlockRoutePolicy.Search, mid: Nat}
94  RouteCompare{file: File, state: State, context: RouteContext, key: Bytes.Bytes,
95    search: BlockRoutePolicy.Search, mid: Nat, separator: Bytes.Bytes}
96  RouteFailed{file: File, error: U32 & String}

Uses (12)

Used by (10)