//! Shared q IPC transport primitives.

mod asynchronous;
mod error;
mod synchronous;

pub use asynchronous::AsyncPooledTransport;
pub use asynchronous::AsyncTransport;
pub use asynchronous::begin_streaming_frame_over as begin_streaming_frame_over_async;
pub use asynchronous::connect_tcp_transport as connect_tcp_transport_async;
#[cfg(unix)]
pub use asynchronous::connect_unix_transport as connect_unix_transport_async;
pub use asynchronous::read_frame as read_frame_async;
pub use asynchronous::request_frame_over as request_frame_over_async;
pub use asynchronous::request_frame_streaming_over as request_frame_streaming_over_async;
pub use asynchronous::request_value_pipelined_over as request_value_pipelined_over_async;
pub use error::TransportError;
pub use error::TransportResult;
pub use qroissant_core::HEADER_LEN as QIPC_HEADER_LEN;
pub use synchronous::CLIENT_CAPABILITY;
pub use synchronous::SyncConnection;
pub use synchronous::SyncPooledTransport;
pub use synchronous::SyncTransport;
pub use synchronous::begin_streaming_frame_over;
pub use synchronous::connect_tcp_transport;
#[cfg(unix)]
pub use synchronous::connect_unix_transport;
pub use synchronous::credentials_bytes;
pub use synchronous::encode_sync_query;
pub use synchronous::extract_q_error;
pub use synchronous::parse_message_header;
pub use synchronous::perform_handshake;
pub use synchronous::request_frame_over;
pub use synchronous::request_frame_streaming_over;
pub use synchronous::validate_response_frame;
pub use synchronous::validate_response_header;
pub use synchronous::validate_response_header_bytes;
