Crate o5m_stream

Crate o5m_stream 

Source
Expand description

§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

Modules§

parse

Structs§

BBox
Info
Node
NodeData
Relation
RelationData
RelationMember
Timestamp
Way
WayData

Enums§

Dataset
DatasetType
DecodeError
ElementType

Traits§

Element

Functions§

decode
Transform the given binary stream reader into an stream of fallible Dataset items.

Type Aliases§

DecodeItem
DecodeStream
Tags