Class RouteOptimizationClientImpl
RouteOptimization client wrapper implementation, for convenient use.
Inherited Members
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
GrpcClient
The underlying gRPC RouteOptimization client
Declaration
public override RouteOptimization.RouteOptimizationClient GrpcClient { get; }
Property Value
Type | Description |
---|---|
RouteOptimization.RouteOptimizationClient |
Overrides
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
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
OptimizeTours(OptimizeToursRequest, CallSettings)
Sends an OptimizeToursRequest
containing a ShipmentModel
and returns an
OptimizeToursResponse
containing ShipmentRoute
s, which are a set of
routes to be performed by vehicles minimizing the overall cost.
A ShipmentModel
model consists mainly of Shipment
s that need to be
carried out and Vehicle
s that can be used to transport the Shipment
s.
The ShipmentRoute
s assign Shipment
s to Vehicle
s. More specifically,
they assign a series of Visit
s 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 ShipmentRoute
s to Vehicle
s 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
OptimizeToursAsync(OptimizeToursRequest, CallSettings)
Sends an OptimizeToursRequest
containing a ShipmentModel
and returns an
OptimizeToursResponse
containing ShipmentRoute
s, which are a set of
routes to be performed by vehicles minimizing the overall cost.
A ShipmentModel
model consists mainly of Shipment
s that need to be
carried out and Vehicle
s that can be used to transport the Shipment
s.
The ShipmentRoute
s assign Shipment
s to Vehicle
s. More specifically,
they assign a series of Visit
s 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 ShipmentRoute
s to Vehicle
s 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. |