def migration.destination.checked

mylsm-lsm-store@0.6.0.1 · src/transfer/MigrateRunIo.bend:173

import mylsm-lsm-store@0.6.0.1/src/transfer/MigrateRunIo.bend as MigrateRunIo
import Base
import mylsm-lsm-store@0.6.0.1/src/transfer/FormatInspect.bend as FormatInspect
import mylsm-lsm-store@0.6.0.1/src/transfer/Migrate.bend as Migrate
import mylsm-lsm-store@0.6.0.1/src/transfer/MigrateIo.bend as MigrateIo

173def migration.destination.checked(
174  source: String,
175  destination: String,
176  bundle: String,
177  inspection: FormatInspect.Inspection,
178  result: Result<&1, &1, U32 & String, Bool>
179) -> IO(Result<&1, &1, Error, Unit>):
180  match result:
181    case Fail{(code, message)}:
182      IO.pure(Result<&1, &1, Error, Unit>, Fail{Host{code, message}})
183    case Done{True{}}:
184      IO.pure(Result<&1, &1, Error, Unit>,
185        Fail{Rejected{Migrate.DestinationExists{}}})
186    case Done{False{}}:
187      do IO<Result<&1, &1, Error, Unit>>:
188        snapshot : Result<&1, &1, MigrateIo.Error, MigrateIo.SourceSnapshot> <-
189          MigrateIo.read_legacy_source(source)
190        migration.snapshot(inspection, destination, bundle, snapshot)

Uses (17)

Used by (1)