mod builder;
mod inner;
use noodles_sam as sam;
use tokio::io::{self, AsyncWrite};
pub use self::builder::Builder;
use self::inner::Inner;
pub struct Writer<W>(Inner<W>)
where
W: AsyncWrite;
impl<W> Writer<W>
where
W: AsyncWrite + Unpin,
{
pub async fn write_header(&mut self, header: &sam::Header) -> io::Result<()> {
self.0.write_header(header).await
}
pub async fn write_record(
&mut self,
header: &sam::Header,
record: &dyn sam::alignment::Record,
) -> io::Result<()> {
self.0.write_record(header, record).await
}
pub async fn shutdown(&mut self, header: &sam::Header) -> io::Result<()> {
self.0.shutdown(header).await
}
}