Show / Hide Table of Contents

Class OperationsClientImpl

Operations client wrapper implementation, for convenient use.

Inheritance
System.Object
OperationsClient
OperationsClientImpl
Inherited Members
OperationsClient.DefaultEndpoint
OperationsClient.DefaultScopes
OperationsClient.CreateAsync(CancellationToken)
OperationsClient.Create()
OperationsClient.ShutdownDefaultChannelsAsync()
OperationsClient.ListOperations(String, String, String, Nullable<Int32>, CallSettings)
OperationsClient.ListOperationsAsync(String, String, String, Nullable<Int32>, CallSettings)
OperationsClient.GetOperationAsync(GetOperationRequest, CancellationToken)
OperationsClient.GetOperation(String, CallSettings)
OperationsClient.GetOperationAsync(String, CallSettings)
OperationsClient.GetOperationAsync(String, CancellationToken)
OperationsClient.DeleteOperationAsync(DeleteOperationRequest, CancellationToken)
OperationsClient.DeleteOperation(String, CallSettings)
OperationsClient.DeleteOperationAsync(String, CallSettings)
OperationsClient.DeleteOperationAsync(String, CancellationToken)
OperationsClient.CancelOperationAsync(CancelOperationRequest, CancellationToken)
OperationsClient.CancelOperation(String, CallSettings)
OperationsClient.CancelOperationAsync(String, CallSettings)
OperationsClient.CancelOperationAsync(String, CancellationToken)
OperationsClient.WaitOperationAsync(WaitOperationRequest, CancellationToken)
System.Object.ToString()
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Google.LongRunning
Assembly: Google.LongRunning.dll
Syntax
public sealed class OperationsClientImpl : OperationsClient
Remarks

Manages long-running operations with an API service.

When an API method normally takes long time to complete, it can be designed to return [Operation][google.longrunning.Operation] to the client, and the client can use this interface to receive the real response asynchronously by polling the operation resource, or pass the operation resource to another API (such as Google Cloud Pub/Sub API) to receive the response. Any API service that returns long-running operations should implement the Operations interface so developers can have a consistent client experience.

Constructors

OperationsClientImpl(Operations.OperationsClient, OperationsSettings)

Constructs a client wrapper for the Operations service, with the specified gRPC client and settings.

Declaration
public OperationsClientImpl(Operations.OperationsClient grpcClient, OperationsSettings settings)
Parameters
Type Name Description
Operations.OperationsClient grpcClient

The underlying gRPC client.

OperationsSettings settings

The base OperationsSettings used within this client.

Properties

Clock

The clock used for timeouts, retries and polling.

Declaration
public override IClock Clock { get; }
Property Value
Type Description
IClock
Overrides
OperationsClient.Clock

DefaultPollSettings

The poll settings used by default for repeated polling operations. May be null if no defaults have been set.

Declaration
public override PollSettings DefaultPollSettings { get; }
Property Value
Type Description
PollSettings
Overrides
OperationsClient.DefaultPollSettings

GrpcClient

The underlying gRPC Operations client

Declaration
public override Operations.OperationsClient GrpcClient { get; }
Property Value
Type Description
Operations.OperationsClient
Overrides
OperationsClient.GrpcClient

Scheduler

The scheduler used for timeouts, retries and polling.

Declaration
public override IScheduler Scheduler { get; }
Property Value
Type Description
IScheduler
Overrides
OperationsClient.Scheduler

Methods

CancelOperation(CancelOperationRequest, CallSettings)

Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use [Operations.GetOperation][google.longrunning.Operations.GetOperation] or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an [Operation.error][google.longrunning.Operation.error] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to Code.CANCELLED.

Declaration
public override void CancelOperation(CancelOperationRequest request, CallSettings callSettings = null)
Parameters
Type Name Description
CancelOperationRequest request

The request object containing all of the parameters for the API call.

CallSettings callSettings

If not null, applies overrides to this RPC call.

Overrides
OperationsClient.CancelOperation(CancelOperationRequest, CallSettings)

CancelOperationAsync(CancelOperationRequest, CallSettings)

Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED. Clients can use [Operations.GetOperation][google.longrunning.Operations.GetOperation] or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an [Operation.error][google.longrunning.Operation.error] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to Code.CANCELLED.

Declaration
public override Task CancelOperationAsync(CancelOperationRequest request, CallSettings callSettings = null)
Parameters
Type Name Description
CancelOperationRequest request

The request object containing all of the parameters for the API call.

CallSettings callSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
System.Threading.Tasks.Task

A Task containing the RPC response.

Overrides
OperationsClient.CancelOperationAsync(CancelOperationRequest, CallSettings)

DeleteOperation(DeleteOperationRequest, CallSettings)

Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED.

Declaration
public override void DeleteOperation(DeleteOperationRequest request, CallSettings callSettings = null)
Parameters
Type Name Description
DeleteOperationRequest request

The request object containing all of the parameters for the API call.

CallSettings callSettings

If not null, applies overrides to this RPC call.

Overrides
OperationsClient.DeleteOperation(DeleteOperationRequest, CallSettings)

DeleteOperationAsync(DeleteOperationRequest, CallSettings)

Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns google.rpc.Code.UNIMPLEMENTED.

Declaration
public override Task DeleteOperationAsync(DeleteOperationRequest request, CallSettings callSettings = null)
Parameters
Type Name Description
DeleteOperationRequest request

The request object containing all of the parameters for the API call.

CallSettings callSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
System.Threading.Tasks.Task

A Task containing the RPC response.

Overrides
OperationsClient.DeleteOperationAsync(DeleteOperationRequest, CallSettings)

GetEffectiveCallSettingsForGetOperation(CallSettings)

Return the CallSettings that would be used by a call to GetOperation(GetOperationRequest, CallSettings), using the base settings of this client and the specified per-call overrides.

Declaration
protected override CallSettings GetEffectiveCallSettingsForGetOperation(CallSettings callSettings)
Parameters
Type Name Description
CallSettings callSettings

The per-call override, if any.

Returns
Type Description
CallSettings

The effective call settings for a GetOperation RPC.

Overrides
OperationsClient.GetEffectiveCallSettingsForGetOperation(CallSettings)
Remarks

This method is used when polling, to determine the appropriate timeout and cancellation token to use for each call.

GetOperation(GetOperationRequest, CallSettings)

Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.

Declaration
public override Operation GetOperation(GetOperationRequest request, CallSettings callSettings = null)
Parameters
Type Name Description
GetOperationRequest request

The request object containing all of the parameters for the API call.

CallSettings callSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
Operation

The RPC response.

Overrides
OperationsClient.GetOperation(GetOperationRequest, CallSettings)

GetOperationAsync(GetOperationRequest, CallSettings)

Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.

Declaration
public override Task<Operation> GetOperationAsync(GetOperationRequest request, CallSettings callSettings = null)
Parameters
Type Name Description
GetOperationRequest request

The request object containing all of the parameters for the API call.

CallSettings callSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
System.Threading.Tasks.Task<Operation>

A Task containing the RPC response.

Overrides
OperationsClient.GetOperationAsync(GetOperationRequest, CallSettings)

ListOperations(ListOperationsRequest, CallSettings)

Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.

NOTE: the name binding allows API services to override the binding to use different resource name schemes, such as users/*/operations. To override the binding, API services can add a binding such as &quot;/v1/{name=users/*}/operations&quot; to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.

Declaration
public override PagedEnumerable<ListOperationsResponse, Operation> ListOperations(ListOperationsRequest request, CallSettings callSettings = null)
Parameters
Type Name Description
ListOperationsRequest request

The request object containing all of the parameters for the API call.

CallSettings callSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
PagedEnumerable<ListOperationsResponse, Operation>

A pageable sequence of Operation resources.

Overrides
OperationsClient.ListOperations(ListOperationsRequest, CallSettings)

ListOperationsAsync(ListOperationsRequest, CallSettings)

Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.

NOTE: the name binding allows API services to override the binding to use different resource name schemes, such as users/*/operations. To override the binding, API services can add a binding such as &quot;/v1/{name=users/*}/operations&quot; to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.

Declaration
public override PagedAsyncEnumerable<ListOperationsResponse, Operation> ListOperationsAsync(ListOperationsRequest request, CallSettings callSettings = null)
Parameters
Type Name Description
ListOperationsRequest request

The request object containing all of the parameters for the API call.

CallSettings callSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
PagedAsyncEnumerable<ListOperationsResponse, Operation>

A pageable asynchronous sequence of Operation resources.

Overrides
OperationsClient.ListOperationsAsync(ListOperationsRequest, CallSettings)

WaitOperation(WaitOperationRequest, CallSettings)

Waits for the specified long-running operation until it is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns google.rpc.Code.UNIMPLEMENTED. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.

Declaration
public override Operation WaitOperation(WaitOperationRequest request, CallSettings callSettings = null)
Parameters
Type Name Description
WaitOperationRequest request

The request object containing all of the parameters for the API call.

CallSettings callSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
Operation

The RPC response.

Overrides
OperationsClient.WaitOperation(WaitOperationRequest, CallSettings)

WaitOperationAsync(WaitOperationRequest, CallSettings)

Waits for the specified long-running operation until it is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns google.rpc.Code.UNIMPLEMENTED. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.

Declaration
public override Task<Operation> WaitOperationAsync(WaitOperationRequest request, CallSettings callSettings = null)
Parameters
Type Name Description
WaitOperationRequest request

The request object containing all of the parameters for the API call.

CallSettings callSettings

If not null, applies overrides to this RPC call.

Returns
Type Description
System.Threading.Tasks.Task<Operation>

A Task containing the RPC response.

Overrides
OperationsClient.WaitOperationAsync(WaitOperationRequest, CallSettings)
Back to top