pub(crate) mod framing;
pub mod mock;
pub mod stdio;
pub mod tcp;
#[cfg(feature = "transport-websocket")]
pub mod websocket;
use std::process::ExitStatus;
use crate::error::LspzError;
#[async_trait::async_trait]
pub trait Transport: Send + Sync {
async fn receive(&mut self) -> Result<Vec<u8>, LspzError>;
async fn send(&mut self, data: &[u8]) -> Result<(), LspzError>;
fn try_wait(&mut self) -> Result<Option<ExitStatus>, LspzError> {
Ok(None)
}
fn as_any_mut(&mut self) -> Option<&mut dyn std::any::Any> {
None
}
}