#[non_exhaustive]pub enum Code {
Unspecified,
NoVehicle,
DemandExceedsVehicleCapacity,
CannotBePerformedWithinVehicleDistanceLimit,
CannotBePerformedWithinVehicleDurationLimit,
CannotBePerformedWithinVehicleTravelDurationLimit,
CannotBePerformedWithinVehicleTimeWindows,
VehicleNotAllowed,
UnknownValue(UnknownValue),
}Expand description
Code identifying the reason type. The order here is meaningless. In particular, it gives no indication of whether a given reason will appear before another in the solution, if both apply.
§Working with unknown values
This enum is defined as #[non_exhaustive] because Google Cloud may add
additional enum variants at any time. Adding new variants is not considered
a breaking change. Applications should write their code in anticipation of:
- New values appearing in future releases of the client library, and
- New values received dynamically, without application changes.
Please consult the Working with enums section in the user guide for some guidelines.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Unspecified
This should never be used. If we are unable to understand why a shipment was skipped, we simply return an empty set of reasons.
NoVehicle
There is no vehicle in the model making all shipments infeasible.
DemandExceedsVehicleCapacity
The demand of the shipment exceeds a vehicle’s capacity for some
capacity types, one of which is example_exceeded_capacity_type.
CannotBePerformedWithinVehicleDistanceLimit
The minimum distance necessary to perform this shipment, i.e. from
the vehicle’s start_location to the shipment’s pickup and/or delivery
locations and to the vehicle’s end location exceeds the vehicle’s
route_distance_limit.
Note that for this computation we use the geodesic distances.
CannotBePerformedWithinVehicleDurationLimit
The minimum time necessary to perform this shipment, including travel
time, wait time and service time exceeds the vehicle’s
route_duration_limit.
Note: travel time is computed in the best-case scenario, namely as geodesic distance x 36 m/s (roughly 130 km/hour).
CannotBePerformedWithinVehicleTravelDurationLimit
Same as above but we only compare minimum travel time and the
vehicle’s travel_duration_limit.
CannotBePerformedWithinVehicleTimeWindows
The vehicle cannot perform this shipment in the best-case scenario
(see CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT for time
computation) if it starts at its earliest start time: the total time
would make the vehicle end after its latest end time.
VehicleNotAllowed
The allowed_vehicle_indices field of the shipment is not empty and
this vehicle does not belong to it.
UnknownValue(UnknownValue)
If set, the enum was initialized with an unknown value.
Applications can examine the value using Code::value or Code::name.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Code
impl<'de> Deserialize<'de> for Code
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
impl StructuralPartialEq for Code
Auto Trait Implementations§
impl Freeze for Code
impl RefUnwindSafe for Code
impl Send for Code
impl Sync for Code
impl Unpin for Code
impl UnwindSafe for Code
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.