use super::new_reader::NewReader;
use super::transaction_status_indicator::TransactionStatusIndicator;
pub struct ReadyForQuery {
pub status: TransactionStatusIndicator,
}
impl Default for ReadyForQuery {
fn default() -> Self {
Self {
status: TransactionStatusIndicator::I,
}
}
}
impl ReadyForQuery {
pub fn decode_internal<Container: super::new_reader::ReaderContext>(
mut reader: NewReader<Container>,
) -> Result<Self, bun_core::Error> {
let length = reader.length()?;
debug_assert!(length >= 4);
let status = reader.int::<u8>()?;
Ok(Self {
status: TransactionStatusIndicator(status),
})
}
pub fn decode<Container: super::new_reader::ReaderContext>(
context: Container,
) -> Result<Self, bun_core::Error> {
Self::decode_internal(NewReader { wrapped: context })
}
}