def get.length.sst

mylsm-lsm-store@0.6.0.1 · src/ByteDurableDb.bend:1424

import mylsm-lsm-store@0.6.0.1/src/ByteDurableDb.bend as ByteDurableDb
import Base
import mylsm-lsm-store@0.6.0.1/src/ByteMemTable.bend as ByteMemTable
import mylsm-lsm-store@0.6.0.1/src/ByteWal.bend as ByteWal
import mylsm-lsm-store@0.6.0.1/src/DbLock.bend as DbLock
import mylsm-lsm-store@0.6.0.1/src/scan/SstCursor.bend as SstCursor
import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes

1424def get.length.sst(
1425  paths: String & String,
1426  lock: DbLock.Lock,
1427  table: ByteMemTable.Table,
1428  key: Bytes.Bytes
1429) -> IO(Handle & Result<&1, &1, Error, Maybe<&1, U32>>):
1430  match paths:
1431    case (sst_path, db_path):
1432      do IO<Handle & Result<&1, &1, Error, Maybe<&1, U32>>>:
1433        measured : Result<&1, &1, U32 & String, ByteWal.ValueMetadata> <-
1434          SstCursor.measure_key(sst_path, key)
1435        return get.length.sst.result(db_path, lock, table, measured)

Uses (17)

Used by (1)