def publish.synced

mylsm-lsm-store@0.6.0.1 · src/transfer/BackupIo.bend:134

import mylsm-lsm-store@0.6.0.1/src/transfer/BackupIo.bend as BackupIo
import Base
import mylsm-lsm-store@0.6.0.1/src/Fs.bend as Fs

134def publish.synced(
135  +destination: String,
136  +temporary: String,
137  result: Result<&1, &1, U32 & String, Unit>
138) -> IO(Result<&1, &1, Error, Unit>):
139  match result:
140    case Fail{(code, message)}:
141      do IO<Result<&1, &1, Error, Unit>>:
142        cleanup(temporary)
143        return Fail{Io{code, message}}
144    case Done{Unit{}}:
145      do IO<Result<&1, &1, Error, Unit>>:
146        synced : Result<&1, &1, U32 & String, Unit> <- Fs.fsync(path.clone(temporary))
147        publish.directory.synced(destination, temporary, synced)

Uses (14)

Used by (1)