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)