Esempio n. 1
0
 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));
 }
Esempio n. 2
0
        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 */,