def write.result.paths

mylsm-lsm-store@0.6.0.1 · src/coordinator/OwnerGenerationIo.bend:176

import mylsm-lsm-store@0.6.0.1/src/coordinator/OwnerGenerationIo.bend as OwnerGenerationIo
import Base
import mylsm-lsm-store@0.6.0.1/src/Fs.bend as Fs

176def write.result.paths(
177  directories: String & String,
178  generation: U32,
179  result: Result<&1, &1, U32 & String, Unit>
180) -> IO(Result<&1, &1, Error, U32>):
181  match directories:
182    case (temp_directory, retained_directory):
183      match result:
184        case Fail{error}:
185          IO.pure(Result<&1, &1, Error, U32>, Fail{host(error)})
186        case Done{Unit{}}:
187          do IO<Result<&1, &1, Error, U32>>:
188            synced : Result<&1, &1, U32 & String, Unit> <- Fs.fsync(temp_directory ++ "/OWNER.GEN.tmp")
189            write.temporary.synced(retained_directory, generation, synced)

Uses (14)

Used by (1)