def stats.visible
mylsm-lsm-store@0.6.0.1 · src/ByteDurableDb.bend:3160
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/scan/VisibleStats.bend as VisibleStats
import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes
3160def stats.visible(
3161 entries: List<&1, ByteMemTable.Entry>,
3162 current: VisibleStats.Stats
3163) -> VisibleStats.Stats:
3164 match entries:
3165 case Nil{}: current
3166 case Con{ByteMemTable.Entry{Bytes.Bytes{+len, _}, val}, tail}:
3167 match val:
3168 case None{}: stats.visible(tail, current)
3169 case Some{Bytes.Bytes{+value_len, _}}:
3170 stats.visible(tail, VisibleStats.result(VisibleStats.apply(current,
3171 U32.to_nat(len), None{}, Some{U32.to_nat(value_len)})))