#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum Status {
Ok,
Bad,
Started,
Made,
AwaitingResponse,
AuthOk,
Setenv,
SslStartup,
Needed,
CheckWritable,
Consume,
#[cfg(feature = "v11")]
GssStartup,
#[cfg(feature = "v11")]
CheckTarget,
#[cfg(feature = "v14")]
CheckStandby,
#[cfg(feature = "v14")]
Allocated,
#[cfg(feature = "v18")]
Authenticating,
}
impl From<pq_sys::ConnStatusType> for Status {
fn from(status: pq_sys::ConnStatusType) -> Self {
match status {
pq_sys::ConnStatusType::CONNECTION_OK => Self::Ok,
pq_sys::ConnStatusType::CONNECTION_BAD => Self::Bad,
pq_sys::ConnStatusType::CONNECTION_STARTED => Self::Started,
pq_sys::ConnStatusType::CONNECTION_MADE => Self::Made,
pq_sys::ConnStatusType::CONNECTION_AWAITING_RESPONSE => Self::AwaitingResponse,
pq_sys::ConnStatusType::CONNECTION_AUTH_OK => Self::AuthOk,
pq_sys::ConnStatusType::CONNECTION_SETENV => Self::Setenv,
pq_sys::ConnStatusType::CONNECTION_SSL_STARTUP => Self::SslStartup,
pq_sys::ConnStatusType::CONNECTION_NEEDED => Self::Needed,
pq_sys::ConnStatusType::CONNECTION_CHECK_WRITABLE => Self::CheckWritable,
pq_sys::ConnStatusType::CONNECTION_CONSUME => Self::Consume,
#[cfg(feature = "v11")]
pq_sys::ConnStatusType::CONNECTION_GSS_STARTUP => Self::GssStartup,
#[cfg(feature = "v11")]
pq_sys::ConnStatusType::CONNECTION_CHECK_TARGET => Self::CheckTarget,
#[cfg(feature = "v14")]
pq_sys::ConnStatusType::CONNECTION_CHECK_STANDBY => Self::CheckStandby,
#[cfg(feature = "v17")]
pq_sys::ConnStatusType::CONNECTION_ALLOCATED => Self::Allocated,
#[cfg(feature = "v18")]
pq_sys::ConnStatusType::CONNECTION_AUTHENTICATING => Self::Authenticating,
#[allow(unreachable_patterns)]
_ => unreachable!(),
}
}
}