public static class Polling
Helper methods for polling scenarios.
Namespace
Google.Api.GaxAssembly
Google.Api.Gax.dll
Methods
PollRepeatedly<TResponse>(Func<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 |
FuncDateTime 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 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<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 |
FuncDateTimeTask 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 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 |
A task representing the asynchronous operation. The result of the task will be the completed response. |
Type Parameter | |
---|---|
Name | Description |
TResponse |
The response type. |