def write.renamed.paths
mylsm-lsm-store@0.6.0.1 · src/coordinator/OwnerGenerationIo.bend:147
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
147def write.renamed.paths(
148 directories: String & String & String,
149 generation: U32,
150 result: Result<&1, &1, U32 & String, Unit>
151) -> IO(Result<&1, &1, Error, U32>):
152 match directories:
153 case (temp_directory, (final_directory, retained_directory)):
154 match result:
155 case Fail{error}:
156 IO.pure(Result<&1, &1, Error, U32>, Fail{host(error)})
157 case Done{Unit{}}:
158 do IO<Result<&1, &1, Error, U32>>:
159 renamed : Result<&1, &1, U32 & String, Unit> <- Fs.rename(temp_directory ++ "/OWNER.GEN.tmp", final_directory ++ "/OWNER.GEN")
160 write.directory.synced(retained_directory, generation, renamed)