public static class Polling
Helper methods for polling scenarios.
Namespace
Google.Api.GaxAssembly
Google.Api.Gax.dll
Methods
PollRepeatedly<TResponse>(Func<Nullable<DateTime>, TResponse>, Predicate<TResponse>, IClock, IScheduler, PollSettings, CancellationToken)
public static TResponse PollRepeatedly<TResponse>(Func<DateTime?, TResponse> pollAction, Predicate<TResponse> completionPredicate, IClock clock, IScheduler scheduler, PollSettings pollSettings, CancellationToken cancellationToken)
Repeatedly calls the specified polling action, delaying between calls, until a given condition is met in the response.
Parameters | |
---|---|
Name | Description |
pollAction | Func<Nullable<DateTime>, TResponse> The poll action, typically performing an RPC. The value passed to the action is the overall deadline, so that the RPC settings can be adjusted accordingly. A null value indicates no deadline. |
completionPredicate | Predicate<TResponse> The test for whether to return the response ( |
clock | IClock The clock to use for determining deadlines. Must not be null. |
scheduler | IScheduler The scheduler to use for delaying between calls. Must not be null. |
pollSettings | PollSettings The poll settings, controlling timeouts, call settings and delays. |
cancellationToken | CancellationToken The cancellation token used to cancel delays, if any. |
Returns | |
---|---|
Type | Description |
TResponse | The completed response. |
Type Parameter | |
---|---|
Name | Description |
TResponse | The response type. |
Exceptions | |
---|---|
Type | Description |
TimeoutException | The timeout specified in the poll settings expired. |
PollRepeatedlyAsync<TResponse>(Func<Nullable<DateTime>, Task<TResponse>>, Predicate<TResponse>, IClock, IScheduler, PollSettings, CancellationToken)
public static Task<TResponse> PollRepeatedlyAsync<TResponse>(Func<DateTime?, Task<TResponse>> pollAction, Predicate<TResponse> completionPredicate, IClock clock, IScheduler scheduler, PollSettings pollSettings, CancellationToken cancellationToken)
Asynchronously repeatedly calls the specified polling action, delaying between calls, until a given condition is met in the response.
Parameters | |
---|---|
Name | Description |
pollAction | Func<Nullable<DateTime>, Task<TResponse>> The poll action, typically performing an RPC. The value passed to the action is the overall deadline, so that the RPC settings can be adjusted accordingly. A null value indicates no deadline. |
completionPredicate | Predicate<TResponse> The test for whether to return the response ( |
clock | IClock The clock to use for determining deadlines. Must not be null. |
scheduler | IScheduler The scheduler to use for delaying between calls. Must not be null. |
pollSettings | PollSettings The poll settings, controlling timeouts, call settings and delays. |
cancellationToken | CancellationToken The cancellation token used to cancel delays, if any. |
Returns | |
---|---|
Type | Description |
Task<TResponse> | A task representing the asynchronous operation. The result of the task will be the completed response. |
Type Parameter | |
---|---|
Name | Description |
TResponse | The response type. |