def table.walk.decode
mylsm-lsm-store@0.6.0.1 · src/transfer/MigrateIo.bend:204
import mylsm-lsm-store@0.6.0.1/src/transfer/MigrateIo.bend as MigrateIo
import Base
import mylsm-lsm-store@0.6.0.1/src/DbLock.bend as DbLock
import mylsm-lsm-store@0.6.0.1/src/MemTable.bend as MemTable
import mylsm-lsm-store@0.6.0.1/src/Sstable.bend as Sstable
import mylsm-lsm-store@0.6.0.1/src/SstStreamIo.bend as SstStreamIo
204def table.walk.decode(
205 paths: (String & String) & (String & String),
206 lock: DbLock.Lock,
207 release_path: String,
208 levels: List<&2, List<&2, String>>,
209 index: Nat,
210 name: String,
211 names: List<&2, String>,
212 total_bytes: Nat,
213 entries: Nat,
214 records: List<&2, MemTable.Entry>
215) -> IO(LegacyTableWalk):
216 match paths:
217 case ((file_root, read_path), (file_dir, dir)):
218 do IO<LegacyTableWalk>:
219 result : Result<&1, &1, U32 & String, Sstable.Table> <-
220 SstStreamIo.read_table_limited(
221 file_root ++ "/" ++ file_dir ++ "/" ++ name, 67108864n)
222 return LegacyRead{lock, read_path, release_path, levels, index,
223 dir, names, total_bytes, entries, result, records}