diff --git a/core/src/unique.rs b/core/src/unique.rs index 0a901573..99d0dcf6 100644 --- a/core/src/unique.rs +++ b/core/src/unique.rs @@ -212,6 +212,18 @@ impl UniqueConnec { UniqueConnecInner::Full { .. } => UniqueConnecState::Full, } } + + /// Returns true if the object has a pending or active connection. Returns false if the object + /// is empty or the connection has errored earlier. + #[inline] + pub fn is_alive(&self) -> bool { + match self.state() { + UniqueConnecState::Empty => false, + UniqueConnecState::Errored => false, + UniqueConnecState::Pending => true, + UniqueConnecState::Full => true, + } + } } impl Clone for UniqueConnec {