Exemple #1
0
        public async Task <CheckpointData> GetCheckpointDataAsync(string id, CancellationToken token)
        {
            Preconditions.CheckNonWhiteSpace(id, nameof(id));
            Option <CheckpointEntity> checkpointEntity = await this.underlyingStore.Get(id);

            return(checkpointEntity.Match(
                       ce => GetCheckpointData(ce),
                       () => new CheckpointData(Checkpointer.InvalidOffset)));
        }
Exemple #2
0
 internal static CheckpointData GetCheckpointData(CheckpointEntity checkpointEntity)
 {
     return(new CheckpointData(checkpointEntity.Offset,
                               checkpointEntity.LastFailedRevivalTime.HasValue ? Option.Some(checkpointEntity.LastFailedRevivalTime.Value) : Option.None <DateTime>(),
                               checkpointEntity.UnhealthySince.HasValue ? Option.Some(checkpointEntity.UnhealthySince.Value) : Option.None <DateTime>()));
 }