pub struct Reader<R>(/* private fields */)
where
R: AsyncRead + Unpin;Expand description
An async alignment reader.
Implementations§
Source§impl<R> Reader<R>
impl<R> Reader<R>
Sourcepub async fn new(reader: R) -> Result<Self>
pub async fn new(reader: R) -> Result<Self>
Creates an async alignment reader.
This attempts to autodetect the compression method and format of the input.
§Examples
use noodles_util::alignment;
use tokio::io;
let reader = alignment::r#async::io::Reader::new(io::empty()).await?;Sourcepub async fn read_header(&mut self) -> Result<Header>
pub async fn read_header(&mut self) -> Result<Header>
Reads the SAM header.
§Examples
use noodles_util::alignment;
use tokio::io;
let mut reader = alignment::r#async::io::Reader::new(io::empty()).await?;
let header = reader.read_header().await?;Sourcepub fn records<'r, 'h: 'r>(
&'r mut self,
header: &'h Header,
) -> impl Stream<Item = Result<Box<dyn Record>>> + 'r
pub fn records<'r, 'h: 'r>( &'r mut self, header: &'h Header, ) -> impl Stream<Item = Result<Box<dyn Record>>> + 'r
Returns an iterator over records starting from the current stream position.
§Examples
use futures::TryStreamExt;
use noodles_util::alignment;
use tokio::io;
let mut reader = alignment::r#async::io::Reader::new(io::empty()).await?;
let header = reader.read_header().await?;
let mut records = reader.records(&header);
while let Some(record) = records.try_next().await? {
// ...
}Auto Trait Implementations§
impl<R> !Freeze for Reader<R>
impl<R> !RefUnwindSafe for Reader<R>
impl<R> Send for Reader<R>where
R: Send,
impl<R> Sync for Reader<R>where
R: Sync,
impl<R> Unpin for Reader<R>
impl<R> UnsafeUnpin for Reader<R>where
R: UnsafeUnpin,
impl<R> !UnwindSafe for Reader<R>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more