public ChangeFeedPartitionRangePageAsyncEnumerator( IChangeFeedDataSource changeFeedDataSource, FeedRangeState <ChangeFeedState> feedRangeState, ChangeFeedPaginationOptions changeFeedPaginationOptions, CancellationToken cancellationToken) : base(feedRangeState, cancellationToken) { this.changeFeedDataSource = changeFeedDataSource ?? throw new ArgumentNullException(nameof(changeFeedDataSource)); this.changeFeedPaginationOptions = changeFeedPaginationOptions ?? throw new ArgumentNullException(nameof(changeFeedPaginationOptions)); }
public static CrossPartitionChangeFeedAsyncEnumerator Create( IDocumentContainer documentContainer, CrossFeedRangeState <ChangeFeedState> state, ChangeFeedPaginationOptions changeFeedPaginationOptions, CancellationToken cancellationToken) { changeFeedPaginationOptions ??= ChangeFeedPaginationOptions.Default; if (documentContainer == null) { throw new ArgumentNullException(nameof(documentContainer)); } CrossPartitionRangePageAsyncEnumerator <ChangeFeedPage, ChangeFeedState> crossPartitionEnumerator = new CrossPartitionRangePageAsyncEnumerator <ChangeFeedPage, ChangeFeedState>( documentContainer, CrossPartitionChangeFeedAsyncEnumerator.MakeCreateFunction( documentContainer, changeFeedPaginationOptions, cancellationToken), comparer: default /* this uses a regular queue instead of prioirty queue */,