def write_atomic

mylsm-lsm-store@0.6.0.1 · src/ByteManifestIo.bend:148

import mylsm-lsm-store@0.6.0.1/src/ByteManifestIo.bend as ByteManifestIo
import Base
import mylsm-lsm-store@0.6.0.1/src/ByteManifest.bend as Manifest

148# Publishes a manifest through a synced temporary and atomic rename.
149def write_atomic(
150  +directory: String,
151  value: Manifest.ManifestValue
152) -> IO(Result<&1, &1, U32 & String, Unit>):
153  do IO<Result<&1, &1, U32 & String, Unit>>:
154    opened : Result<&1, &1, U32 & String, File> <- File.open(directory ++ "/MANIFEST.tmp", "w")
155    write.bytes(directory, Manifest.encode(value), opened)

Uses (13)

Used by (2)