src/transfer/PublicationPolicy.bend

mylsm-lsm-store@0.6.0.1 · 17 lines · 3 definitions

1import Base
2
3# Names the visibility boundary reached before a durability failure.
4type Phase is Data:
5  BeforeRename{}
6  AfterRename{}
7
8# Distinguishes a definite failure from an uncertain published result.
9type Failure is Data:
10  KnownFailure{}
11  CommitUnknown{}
12
13# Classifies whether a publication failure leaves destination visibility uncertain.
14def failure(phase: Phase) -> Failure:
15  match phase:
16    case BeforeRename{}: KnownFailure{}
17    case AfterRename{}: CommitUnknown{}