o5m-stream

Crates.ioo5m-stream
lib.rso5m-stream
version2.0.0
sourcesrc
created_at2021-04-09 09:07:27.900853
updated_at2021-06-24 22:50:37.747902
descriptionstreaming async o5m decoder
homepagehttps://github.com/peermaps/o5m-stream.rs
repositoryhttps://github.com/peermaps/o5m-stream.rs
max_upload_size
id381202
size45,892
James Halliday (substack)

documentation

README

o5m-stream

streaming async o5m decoder

example

use async_std::{prelude::*,fs::File,io};

type Error = Box<dyn std::error::Error+Send+Sync>;
type R = Box<dyn io::Read+Send+Unpin>;

#[async_std::main]
async fn main() -> Result<(),Error> {
  let args = std::env::args().collect::<Vec<String>>();
  let infile: R = match args.get(1).unwrap_or(&"-".into()).as_str() {
    "-" => Box::new(io::stdin()),
    x => Box::new(File::open(x).await?),
  };
  let mut stream = o5m_stream::decode(infile);
  while let Some(result) = stream.next().await {
    let r = result?;
    println!["{:?}", r];
  }
  Ok(())
}

license

bsd

Commit count: 24

cargo fmt