pub fn last_attempt(&self) -> Option<Instant> {
        match self {
            NewInitial { .. } => None,
            NewGossiped { .. } => None,
            NewAlternate { .. } => None,
            NewLocal { .. } => None,
            // Attempt changes are applied before we start the handshake to the
            // peer address. So the attempt time is a lower bound for the actual
            // handshake time.
            UpdateAttempt { .. } => Some(Instant::now()),
            UpdateResponded { .. } => None,
            UpdateFailed { .. } => None,
        }
    }
/// Return the last attempt for this change, if available.
Return the last attempt for this change, if available.
Return the last attempt for this change if available .
pub fn last_attempt(&self) -> Option<Instant> {
        match self {
            NewInitial { .. } => None,
            NewGossiped { .. } => None,
            NewAlternate { .. } => None,
            NewLocal { .. } => None,
            // Attempt changes are applied before we start the handshake to the
            // peer address. So the attempt time is a lower bound for the actual
            // handshake time.
            UpdateAttempt { .. } => Some(Instant::now()),
            UpdateResponded { .. } => None,
            UpdateFailed { .. } => None,
        }
    }
pub fn last_attempt ( & self ) -> Option < Instant > { match self { NewInitial { .. } => None , NewGossiped { .. } => None , NewAlternate { .. } => None , NewLocal { .. } => None , // Attempt changes are applied before we start the handshake to the // peer address. So the attempt time is a lower bound for the actual // handshake time. UpdateAttempt { .. } => Some ( Instant :: now ( ) ) , UpdateResponded { .. } => None , UpdateFailed { .. } => None , } }
Return the last attempt for this change, if available.
Return the last attempt for this change if available .
&self