pub mod action;
pub mod batch_prepare;
pub mod connection;
pub mod extended;
pub mod simple_query;
pub use action::{Action, AsyncMessage};
pub use connection::ConnectionStateMachine;
pub use extended::ExtendedQueryStateMachine;
pub use simple_query::SimpleQueryStateMachine;
use crate::buffer_set::BufferSet;
use crate::error::Result;
use crate::protocol::types::TransactionStatus;
pub trait StateMachine {
fn step(&mut self, buffer_set: &mut BufferSet) -> Result<Action>;
fn transaction_status(&self) -> TransactionStatus;
}