Runner.compact: def of bend-kit-runner@0.13.0.1 Import: import bend-kit-runner@0.13.0.1/runner.bend as Runner Lines 1522-1530 of bend-kit-runner@0.13.0.1/runner.bend: https://jend.leeeet.dev/read.txt?path=bend-kit-runner@0.13.0.1/runner.bend&start_line=1522&end_line=1530 import Base import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes import bend-kit-journal@0.3.0.1/journal.bend as J # Writes the state as one Snap record into a new journal, fsyncs it, and renames it over the old one. # A crash leaves one of the two journals, and both replay to this state. After a failure the old # journal stands; when the failure came after the rename, appends stop until the runner is reopened. def compact(~A: Data, ~penc: A -> Bytes.Bytes, r: Runner) -> IO(Ran(A)): Runner{Log{j, path, limit, base}, +s, p, c, ib, fs} = r J.Journal{file, +max, end, +ok} = j do IO: x : Log & Out(Unit) <- compact.if(~A, ~penc, ok, J.Journal{file, max, end, ok}, max, path, limit, base, s) return compact.done(A, x, s, p, c, ib, fs) Uses (13): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO.bind https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO.pure https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Unit https://jend.leeeet.dev/definition.txt?path=bend-kit-bytes@0.3.3.0/bytes.bend&name=Bytes https://jend.leeeet.dev/definition.txt?path=bend-kit-journal@0.3.1.0/journal.bend&name=Journal https://jend.leeeet.dev/definition.txt?path=bend-kit-runner@0.13.0.1/runner.bend&name=Log https://jend.leeeet.dev/definition.txt?path=bend-kit-runner@0.13.0.1/runner.bend&name=Out https://jend.leeeet.dev/definition.txt?path=bend-kit-runner@0.13.0.1/runner.bend&name=Ran https://jend.leeeet.dev/definition.txt?path=bend-kit-runner@0.13.0.1/runner.bend&name=Runner https://jend.leeeet.dev/definition.txt?path=bend-kit-runner@0.13.0.1/runner.bend&name=compact.done https://jend.leeeet.dev/definition.txt?path=bend-kit-runner@0.13.0.1/runner.bend&name=compact.if