def mfst_opened

mylsm-lsm-store@0.6.0.1 · src/legacy/ManifestIo.bend:227

import mylsm-lsm-store@0.6.0.1/src/legacy/ManifestIo.bend as ManifestIo
import Base
import mylsm-lsm-store@0.6.0.1/src/Manifest.bend as Manifest
import mylsm-lsm-store@0.6.0.1/src/Fs.bend as Fs

227# Handle mfst opened in the memtable flush.
228def mfst_opened(
229  path: String,
230  result: Result<&1, &1, U32 & String, File>
231) -> IO(Result<&1, &1, U32 & String, Manifest.Manifest>):
232  match result:
233    case Fail{(+code, _)}:
234      mfst_open_error(U32.is_eq(code, 2), code)
235    case Done{file}:
236      do IO<Result<&1, &1, U32 & String, Manifest.Manifest>>:
237        size : Result<&1, &1, U32 & String, Nat> <- Fs.file_size(path)
238        manifest.read.size(file, size)

Uses (14)

Used by (1)