Struct traffic_signal_data::Plan[][src]

pub struct Plan {
    pub start_time_seconds: usize,
    pub stages: Vec<Stage>,
    pub offset_seconds: usize,
}

A plan describes how a traffic signal is configured during some period of time. Multiple plans allow a single intersection to behave differently in the middle of the night with low traffic, compared to the middle of rush hour.

Fields

start_time_seconds: usize

This plan takes effect at this local time, measured in seconds after midnight. The plan lasts until the next plan in the listed sequence starts, or ends at midnight if it's the last plan.

stages: Vec<Stage>

The traffic signal repeatedly cycles through these stages. During each stage, only some turns are protected and permitted through the intersection.

offset_seconds: usize

Relative to a central clock, delay the first stage by this many seconds.

Trait Implementations

impl Clone for Plan[src]

impl Debug for Plan[src]

impl<'de> Deserialize<'de> for Plan[src]

impl PartialEq<Plan> for Plan[src]

impl Serialize for Plan[src]

impl StructuralPartialEq for Plan[src]

Auto Trait Implementations

impl RefUnwindSafe for Plan[src]

impl Send for Plan[src]

impl Sync for Plan[src]

impl Unpin for Plan[src]

impl UnwindSafe for Plan[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.