public Task <TryCatch <ChangeFeedPage> > MonadicChangeFeedAsync( FeedRangeState <ChangeFeedState> state, ChangeFeedPaginationOptions changeFeedPaginationOptions, ITrace trace, CancellationToken cancellationToken) => this.monadicDocumentContainer.MonadicChangeFeedAsync( state, changeFeedPaginationOptions, trace, cancellationToken);
public ChangeFeedCrossFeedRangeAsyncEnumerable( IDocumentContainer documentContainer, ChangeFeedCrossFeedRangeState state, ChangeFeedPaginationOptions changeFeedPaginationOptions, JsonSerializationFormatOptions jsonSerializationFormatOptions = null) { this.documentContainer = documentContainer ?? throw new ArgumentNullException(nameof(documentContainer)); this.changeFeedPaginationOptions = changeFeedPaginationOptions ?? ChangeFeedPaginationOptions.Default; this.state = state; this.jsonSerializationFormatOptions = jsonSerializationFormatOptions; }
public Task <ChangeFeedPage> ChangeFeedAsync( FeedRangeState <ChangeFeedState> feedRangeState, ChangeFeedPaginationOptions changeFeedPaginationOptions, ITrace trace, CancellationToken cancellationToken) => TryCatch <ChangeFeedPage> .UnsafeGetResultAsync( this.MonadicChangeFeedAsync( feedRangeState, changeFeedPaginationOptions, trace, cancellationToken), cancellationToken);
public override IAsyncEnumerable <TryCatch <ChangeFeed.ChangeFeedPage> > GetChangeFeedAsyncEnumerable( ChangeFeedCrossFeedRangeState state, ChangeFeedMode changeFeedMode, ChangeFeedRequestOptions changeFeedRequestOptions = default) { NetworkAttachedDocumentContainer networkAttachedDocumentContainer = new NetworkAttachedDocumentContainer( this, this.queryClient, changeFeedRequestOptions: changeFeedRequestOptions); DocumentContainer documentContainer = new DocumentContainer(networkAttachedDocumentContainer); Dictionary <string, string> additionalHeaders; if ((changeFeedRequestOptions?.Properties != null) && changeFeedRequestOptions.Properties.Any()) { Dictionary <string, object> additionalNonStringHeaders = new Dictionary <string, object>(); additionalHeaders = new Dictionary <string, string>(); foreach (KeyValuePair <string, object> keyValuePair in changeFeedRequestOptions.Properties) { if (keyValuePair.Value is string stringValue) { additionalHeaders[keyValuePair.Key] = stringValue; } else { additionalNonStringHeaders[keyValuePair.Key] = keyValuePair.Value; } } changeFeedRequestOptions.Properties = additionalNonStringHeaders; } else { additionalHeaders = null; } ChangeFeedPaginationOptions changeFeedPaginationOptions = new ChangeFeedPaginationOptions( changeFeedMode, changeFeedRequestOptions?.PageSizeHint, changeFeedRequestOptions?.JsonSerializationFormatOptions?.JsonSerializationFormat, additionalHeaders); return(new ChangeFeedCrossFeedRangeAsyncEnumerable( documentContainer, state, changeFeedPaginationOptions, changeFeedRequestOptions?.JsonSerializationFormatOptions)); }