Show / Hide Table of Contents

Class RouteOptimizationClientImpl

RouteOptimization client wrapper implementation, for convenient use.

Inheritance
object
RouteOptimizationClient
RouteOptimizationClientImpl
Inherited Members
RouteOptimizationClient.DefaultEndpoint
RouteOptimizationClient.DefaultScopes
RouteOptimizationClient.ServiceMetadata
RouteOptimizationClient.CreateAsync(CancellationToken)
RouteOptimizationClient.Create()
RouteOptimizationClient.ShutdownDefaultChannelsAsync()
RouteOptimizationClient.OptimizeToursAsync(OptimizeToursRequest, CancellationToken)
RouteOptimizationClient.BatchOptimizeToursAsync(BatchOptimizeToursRequest, CancellationToken)
RouteOptimizationClient.PollOnceBatchOptimizeTours(string, CallSettings)
RouteOptimizationClient.PollOnceBatchOptimizeToursAsync(string, CallSettings)
object.GetHashCode()
object.GetType()
object.ToString()
Namespace: Google.Maps.RouteOptimization.V1
Assembly: Google.Maps.RouteOptimization.V1.dll
Syntax
public sealed class RouteOptimizationClientImpl : RouteOptimizationClient
Remarks

A service for optimizing vehicle tours.

Validity of certain types of fields:

  • google.protobuf.Timestamp
  • Times are in Unix time: seconds since 1970-01-01T00:00:00+00:00.
  • seconds must be in [0, 253402300799], i.e. in [1970-01-01T00:00:00+00:00, 9999-12-31T23:59:59+00:00].
  • nanos must be unset or set to 0.
  • google.protobuf.Duration
  • seconds must be in [0, 253402300799], i.e. in [1970-01-01T00:00:00+00:00, 9999-12-31T23:59:59+00:00].
  • nanos must be unset or set to 0.
  • google.type.LatLng
  • latitude must be in [-90.0, 90.0].
  • longitude must be in [-180.0, 180.0].
  • at least one of latitude and longitude must be non-zero.

Constructors

RouteOptimizationClientImpl(RouteOptimizationClient, RouteOptimizationSettings, ILogger)

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

Declaration
public RouteOptimizationClientImpl(RouteOptimization.RouteOptimizationClient grpcClient, RouteOptimizationSettings settings, ILogger logger)
Parameters
Type Name Description
RouteOptimization.RouteOptimizationClient grpcClient

The underlying gRPC client.

RouteOptimizationSettings settings

The base RouteOptimizationSettings used within this client.

ILogger logger

Optional ILogger to use within this client.

Properties

BatchOptimizeToursOperationsClient

The long-running operations client for BatchOptimizeTours.

Declaration
public override OperationsClient BatchOptimizeToursOperationsClient { get; }
Property Value
Type Description
OperationsClient
Overrides
RouteOptimizationClient.BatchOptimizeToursOperationsClient

GrpcClient

The underlying gRPC RouteOptimization client

Declaration
public override RouteOptimization.RouteOptimizationClient GrpcClient { get; }
Property Value
Type Description
RouteOptimization.RouteOptimizationClient
Overrides
RouteOptimizationClient.GrpcClient

Methods

BatchOptimizeTours(BatchOptimizeToursRequest, CallSettings)

Optimizes vehicle tours for one or more OptimizeToursRequest messages as a batch.

This method is a Long Running Operation (LRO). The inputs for optimization (OptimizeToursRequest messages) and outputs (OptimizeToursResponse messages) are read from and written to Cloud Storage in user-specified format. Like the OptimizeTours method, each OptimizeToursRequest contains a ShipmentModel and returns an OptimizeToursResponse containing ShipmentRoute fields, which are a set of routes to be performed by vehicles minimizing the overall cost.

The user can poll operations.get to check the status of the LRO:

If the LRO done field is false, then at least one request is still being processed. Other requests may have completed successfully and their results are available in Cloud Storage.

If the LRO's done field is true, then all requests have been processed. Any successfully processed requests will have their results available in Cloud Storage. Any requests that failed will not have their results available in Cloud Storage. If the LRO's error field is set, then it contains the error from one of the failed requests.

Declaration
public override Operation<BatchOptimizeToursResponse, BatchOptimizeToursMetadata> BatchOptimizeTours(BatchOptimizeToursRequest request, CallSettings callSettings = null)
Parameters
Type Name Description
BatchOptimizeToursRequest 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<BatchOptimizeToursResponse, BatchOptimizeToursMetadata>

The RPC response.

Overrides
RouteOptimizationClient.BatchOptimizeTours(BatchOptimizeToursRequest, CallSettings)

BatchOptimizeToursAsync(BatchOptimizeToursRequest, CallSettings)

Optimizes vehicle tours for one or more OptimizeToursRequest messages as a batch.

This method is a Long Running Operation (LRO). The inputs for optimization (OptimizeToursRequest messages) and outputs (OptimizeToursResponse messages) are read from and written to Cloud Storage in user-specified format. Like the OptimizeTours method, each OptimizeToursRequest contains a ShipmentModel and returns an OptimizeToursResponse containing ShipmentRoute fields, which are a set of routes to be performed by vehicles minimizing the overall cost.

The user can poll operations.get to check the status of the LRO:

If the LRO done field is false, then at least one request is still being processed. Other requests may have completed successfully and their results are available in Cloud Storage.

If the LRO's done field is true, then all requests have been processed. Any successfully processed requests will have their results available in Cloud Storage. Any requests that failed will not have their results available in Cloud Storage. If the LRO's error field is set, then it contains the error from one of the failed requests.

Declaration
public override Task<Operation<BatchOptimizeToursResponse, BatchOptimizeToursMetadata>> BatchOptimizeToursAsync(BatchOptimizeToursRequest request, CallSettings callSettings = null)
Parameters
Type Name Description
BatchOptimizeToursRequest 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
Task<Operation<BatchOptimizeToursResponse, BatchOptimizeToursMetadata>>

A Task containing the RPC response.

Overrides
RouteOptimizationClient.BatchOptimizeToursAsync(BatchOptimizeToursRequest, CallSettings)

OptimizeTours(OptimizeToursRequest, CallSettings)

Sends an OptimizeToursRequest containing a ShipmentModel and returns an OptimizeToursResponse containing ShipmentRoutes, which are a set of routes to be performed by vehicles minimizing the overall cost.

A ShipmentModel model consists mainly of Shipments that need to be carried out and Vehicles that can be used to transport the Shipments. The ShipmentRoutes assign Shipments to Vehicles. More specifically, they assign a series of Visits to each vehicle, where a Visit corresponds to a VisitRequest, which is a pickup or delivery for a Shipment.

The goal is to provide an assignment of ShipmentRoutes to Vehicles that minimizes the total cost where cost has many components defined in the ShipmentModel.

Declaration
public override OptimizeToursResponse OptimizeTours(OptimizeToursRequest request, CallSettings callSettings = null)
Parameters
Type Name Description
OptimizeToursRequest 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
OptimizeToursResponse

The RPC response.

Overrides
RouteOptimizationClient.OptimizeTours(OptimizeToursRequest, CallSettings)

OptimizeToursAsync(OptimizeToursRequest, CallSettings)

Sends an OptimizeToursRequest containing a ShipmentModel and returns an OptimizeToursResponse containing ShipmentRoutes, which are a set of routes to be performed by vehicles minimizing the overall cost.

A ShipmentModel model consists mainly of Shipments that need to be carried out and Vehicles that can be used to transport the Shipments. The ShipmentRoutes assign Shipments to Vehicles. More specifically, they assign a series of Visits to each vehicle, where a Visit corresponds to a VisitRequest, which is a pickup or delivery for a Shipment.

The goal is to provide an assignment of ShipmentRoutes to Vehicles that minimizes the total cost where cost has many components defined in the ShipmentModel.

Declaration
public override Task<OptimizeToursResponse> OptimizeToursAsync(OptimizeToursRequest request, CallSettings callSettings = null)
Parameters
Type Name Description
OptimizeToursRequest 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
Task<OptimizeToursResponse>

A Task containing the RPC response.

Overrides
RouteOptimizationClient.OptimizeToursAsync(OptimizeToursRequest, CallSettings)
In this article
Back to top Generated by DocFX