fn earliest_unit_time(&self, state: &State<C>) -> Timestamp {
        self.latest_unit(state)
            .map_or(state.params().start_timestamp(), |unit| {
                unit.previous().map_or(unit.timestamp, |vh2| {
                    let unit2 = state.unit(vh2);
                    unit.timestamp.max(unit2.round_id() + unit2.round_len())
                })
            })
    }
/// Returns the earliest timestamp where we can cast our next unit: It can't be earlier than
/// our previous unit, and it can't be the third unit in a single round.
Returns the earliest timestamp where we can cast our next unit: It can't be earlier than
our previous unit, and it can't be the third unit in a single round.
Returns the earliest timestamp where we can cast our next unit : It can ' t be earlier than our previous unit and it can ' t be the third unit in a single round .
fn earliest_unit_time(&self, state: &State<C>) -> Timestamp {
        self.latest_unit(state)
            .map_or(state.params().start_timestamp(), |unit| {
                unit.previous().map_or(unit.timestamp, |vh2| {
                    let unit2 = state.unit(vh2);
                    unit.timestamp.max(unit2.round_id() + unit2.round_len())
                })
            })
    }
fn earliest_unit_time ( & self , state : & State < C > ) -> Timestamp { self . latest_unit ( state ) . map_or ( state . params ( ) . start_timestamp ( ) , | unit | { unit . previous ( ) . map_or ( unit . timestamp , | vh2 | { let unit2 = state . unit ( vh2 ) ; unit . timestamp . max ( unit2 . round_id ( ) + unit2 . round_len ( ) ) } ) } ) }
Returns the earliest timestamp where we can cast our next unit: It can't be earlier than
our previous unit, and it can't be the third unit in a single round.
Returns the earliest timestamp where we can cast our next unit : It can ' t be earlier than our previous unit and it can ' t be the third unit in a single round .
&self
state
&State<C>
&self
state
&State<C>