#[cfg(feature = "network")]
pub mod http;
#[cfg(feature = "network")]
pub mod websocket;
#[cfg(feature = "network")]
use async_trait::async_trait;
#[cfg(feature = "network")]
use tokio::sync::mpsc;
#[cfg(feature = "network")]
use super::error::AuthError;
#[cfg(feature = "network")]
use super::types::AuthMessage;
#[cfg(feature = "network")]
pub use self::http::SimplifiedHTTPTransport;
#[cfg(feature = "network")]
pub use self::websocket::{WebSocketTransport, WsOptions};
#[cfg(feature = "network")]
#[async_trait]
pub trait Transport: Send + Sync {
async fn send(&self, message: AuthMessage) -> Result<(), AuthError>;
fn subscribe(&self) -> mpsc::Receiver<AuthMessage>;
}