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)); } }
public override TryCatch <ChangeFeedCrossFeedRangeState> Visit(ChangeFeedStartFromTime startFromTime) { return(TryCatch <ChangeFeedCrossFeedRangeState> .FromResult( ChangeFeedCrossFeedRangeState.CreateFromTime(startFromTime.StartTime, startFromTime.FeedRange))); }
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); }