#[non_exhaustive]pub struct Transition {
pub travel_duration: Option<Duration>,
pub travel_distance_meters: f64,
pub traffic_info_unavailable: bool,
pub delay_duration: Option<Duration>,
pub break_duration: Option<Duration>,
pub wait_duration: Option<Duration>,
pub total_duration: Option<Duration>,
pub start_time: Option<Timestamp>,
pub route_polyline: Option<EncodedPolyline>,
pub vehicle_loads: HashMap<String, VehicleLoad>,
pub loads: Vec<CapacityQuantity>,
/* private fields */
}Expand description
Transition between two events on the route. See the description of ShipmentRoute.
If the vehicle does not have a start_location and/or end_location, the
corresponding travel metrics are 0.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.travel_duration: Option<Duration>Travel duration during this transition.
travel_distance_meters: f64Distance traveled during the transition.
When traffic is requested via
[OptimizeToursRequest.consider_road_traffic]
[google.cloud.optimization.v1.OptimizeToursRequest.consider_road_traffic],
and the traffic info couldn’t be retrieved for a Transition, this
boolean is set to true. This may be temporary (rare hiccup in the
realtime traffic servers) or permanent (no data for this location).
delay_duration: Option<Duration>Sum of the delay durations applied to this transition. If any, the delay
starts exactly delay_duration seconds before the next event (visit or
vehicle end). See
TransitionAttributes.delay.
break_duration: Option<Duration>Sum of the duration of the breaks occurring during this transition, if any. Details about each break’s start time and duration are stored in ShipmentRoute.breaks.
wait_duration: Option<Duration>Time spent waiting during this transition. Wait duration corresponds to idle time and does not include break time. Also note that this wait time may be split into several non-contiguous intervals.
total_duration: Option<Duration>Total duration of the transition, provided for convenience. It is equal to:
- next visit
start_time(orvehicle_end_timeif this is the last transition) - this transition’sstart_time; - if
ShipmentRoute.has_traffic_infeasibilitiesis false, the following additionally holds: `total_duration = travel_duration + delay_duration
- break_duration + wait_duration`.
start_time: Option<Timestamp>Start time of this transition.
route_polyline: Option<EncodedPolyline>The encoded polyline representation of the route followed during the transition. This field is only populated if [populate_transition_polylines] [google.cloud.optimization.v1.OptimizeToursRequest.populate_transition_polylines] is set to true.
vehicle_loads: HashMap<String, VehicleLoad>Vehicle loads during this transition, for each type that either appears in this vehicle’s Vehicle.load_limits, or that have non-zero Shipment.load_demands on some shipment performed on this route.
The loads during the first transition are the starting loads of the
vehicle route. Then, after each visit, the visit’s load_demands are
either added or subtracted to get the next transition’s loads, depending
on whether the visit was a pickup or a delivery.
loads: Vec<CapacityQuantity>Deprecated: Use Transition.vehicle_loads instead.
Implementations§
Source§impl Transition
impl Transition
Sourcepub fn set_travel_duration<T>(self, v: T) -> Self
pub fn set_travel_duration<T>(self, v: T) -> Self
Sets the value of travel_duration.
§Example
use wkt::Duration;
let x = Transition::new().set_travel_duration(Duration::default()/* use setters */);Sourcepub fn set_or_clear_travel_duration<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_travel_duration<T>(self, v: Option<T>) -> Self
Sets or clears the value of travel_duration.
§Example
use wkt::Duration;
let x = Transition::new().set_or_clear_travel_duration(Some(Duration::default()/* use setters */));
let x = Transition::new().set_or_clear_travel_duration(None::<Duration>);Sourcepub fn set_travel_distance_meters<T: Into<f64>>(self, v: T) -> Self
pub fn set_travel_distance_meters<T: Into<f64>>(self, v: T) -> Self
Sets the value of travel_distance_meters.
§Example
let x = Transition::new().set_travel_distance_meters(42.0);Sets the value of traffic_info_unavailable.
§Example
let x = Transition::new().set_traffic_info_unavailable(true);Sourcepub fn set_delay_duration<T>(self, v: T) -> Self
pub fn set_delay_duration<T>(self, v: T) -> Self
Sets the value of delay_duration.
§Example
use wkt::Duration;
let x = Transition::new().set_delay_duration(Duration::default()/* use setters */);Sourcepub fn set_or_clear_delay_duration<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_delay_duration<T>(self, v: Option<T>) -> Self
Sets or clears the value of delay_duration.
§Example
use wkt::Duration;
let x = Transition::new().set_or_clear_delay_duration(Some(Duration::default()/* use setters */));
let x = Transition::new().set_or_clear_delay_duration(None::<Duration>);Sourcepub fn set_break_duration<T>(self, v: T) -> Self
pub fn set_break_duration<T>(self, v: T) -> Self
Sets the value of break_duration.
§Example
use wkt::Duration;
let x = Transition::new().set_break_duration(Duration::default()/* use setters */);Sourcepub fn set_or_clear_break_duration<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_break_duration<T>(self, v: Option<T>) -> Self
Sets or clears the value of break_duration.
§Example
use wkt::Duration;
let x = Transition::new().set_or_clear_break_duration(Some(Duration::default()/* use setters */));
let x = Transition::new().set_or_clear_break_duration(None::<Duration>);Sourcepub fn set_wait_duration<T>(self, v: T) -> Self
pub fn set_wait_duration<T>(self, v: T) -> Self
Sets the value of wait_duration.
§Example
use wkt::Duration;
let x = Transition::new().set_wait_duration(Duration::default()/* use setters */);Sourcepub fn set_or_clear_wait_duration<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_wait_duration<T>(self, v: Option<T>) -> Self
Sets or clears the value of wait_duration.
§Example
use wkt::Duration;
let x = Transition::new().set_or_clear_wait_duration(Some(Duration::default()/* use setters */));
let x = Transition::new().set_or_clear_wait_duration(None::<Duration>);Sourcepub fn set_total_duration<T>(self, v: T) -> Self
pub fn set_total_duration<T>(self, v: T) -> Self
Sets the value of total_duration.
§Example
use wkt::Duration;
let x = Transition::new().set_total_duration(Duration::default()/* use setters */);Sourcepub fn set_or_clear_total_duration<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_total_duration<T>(self, v: Option<T>) -> Self
Sets or clears the value of total_duration.
§Example
use wkt::Duration;
let x = Transition::new().set_or_clear_total_duration(Some(Duration::default()/* use setters */));
let x = Transition::new().set_or_clear_total_duration(None::<Duration>);Sourcepub fn set_start_time<T>(self, v: T) -> Self
pub fn set_start_time<T>(self, v: T) -> Self
Sets the value of start_time.
§Example
use wkt::Timestamp;
let x = Transition::new().set_start_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_start_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_start_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of start_time.
§Example
use wkt::Timestamp;
let x = Transition::new().set_or_clear_start_time(Some(Timestamp::default()/* use setters */));
let x = Transition::new().set_or_clear_start_time(None::<Timestamp>);Sourcepub fn set_route_polyline<T>(self, v: T) -> Selfwhere
T: Into<EncodedPolyline>,
pub fn set_route_polyline<T>(self, v: T) -> Selfwhere
T: Into<EncodedPolyline>,
Sets the value of route_polyline.
§Example
use google_cloud_optimization_v1::model::shipment_route::EncodedPolyline;
let x = Transition::new().set_route_polyline(EncodedPolyline::default()/* use setters */);Sourcepub fn set_or_clear_route_polyline<T>(self, v: Option<T>) -> Selfwhere
T: Into<EncodedPolyline>,
pub fn set_or_clear_route_polyline<T>(self, v: Option<T>) -> Selfwhere
T: Into<EncodedPolyline>,
Sets or clears the value of route_polyline.
§Example
use google_cloud_optimization_v1::model::shipment_route::EncodedPolyline;
let x = Transition::new().set_or_clear_route_polyline(Some(EncodedPolyline::default()/* use setters */));
let x = Transition::new().set_or_clear_route_polyline(None::<EncodedPolyline>);Sourcepub fn set_vehicle_loads<T, K, V>(self, v: T) -> Self
pub fn set_vehicle_loads<T, K, V>(self, v: T) -> Self
Sets the value of vehicle_loads.
§Example
use google_cloud_optimization_v1::model::shipment_route::VehicleLoad;
let x = Transition::new().set_vehicle_loads([
("key0", VehicleLoad::default()/* use setters */),
("key1", VehicleLoad::default()/* use (different) setters */),
]);Trait Implementations§
Source§impl Clone for Transition
impl Clone for Transition
Source§fn clone(&self) -> Transition
fn clone(&self) -> Transition
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for Transition
impl Debug for Transition
Source§impl Default for Transition
impl Default for Transition
Source§fn default() -> Transition
fn default() -> Transition
Source§impl PartialEq for Transition
impl PartialEq for Transition
impl StructuralPartialEq for Transition
Auto Trait Implementations§
impl Freeze for Transition
impl RefUnwindSafe for Transition
impl Send for Transition
impl Sync for Transition
impl Unpin for Transition
impl UnsafeUnpin for Transition
impl UnwindSafe for Transition
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request