Exemple #1
0
 public override void Visit(ChangeFeedStartFromTime startFromTime)
 {
     // Our current public contract for ChangeFeedProcessor uses DateTime.MinValue.ToUniversalTime as beginning.
     // We need to add a special case here, otherwise it would send it as normal StartTime.
     // The problem is Multi master accounts do not support StartTime header on ReadFeed, and thus,
     // it would break multi master Change Feed Processor users using Start From Beginning semantics.
     // It's also an optimization, since the backend won't have to binary search for the value.
     if (startFromTime.StartTime != ChangeFeedStartFromRequestOptionPopulator.StartFromBeginningTime)
     {
         this.requestMessage.Headers.Add(
             HttpConstants.HttpHeaders.IfModifiedSince,
             startFromTime.StartTime.ToString("r", CultureInfo.InvariantCulture));
     }
 }
Exemple #2
0
 public override TryCatch <ChangeFeedCrossFeedRangeState> Visit(ChangeFeedStartFromTime startFromTime)
 {
     return(TryCatch <ChangeFeedCrossFeedRangeState> .FromResult(
                ChangeFeedCrossFeedRangeState.CreateFromTime(startFromTime.StartTime, startFromTime.FeedRange)));
 }
Exemple #3
0
 public abstract Task <TResult> VisitAsync(
     ChangeFeedStartFromTime startFromTime,
     TInput input,
     CancellationToken cancellationToken);
 public override FeedRange Visit(ChangeFeedStartFromTime startFromTime) => startFromTime.FeedRange;
 public override FeedRange Visit(ChangeFeedStartFromTime startFromTime)
 {
     return(startFromTime.FeedRange);
 }