itchy 0.1.1

Nom-based parser library for NASDAQ ITCH protocol
Documentation

itchy

Build Status Crates.io Version

ITCH parser library for Rust. Implements the NASDAQ 5.0 spec which can be found here.

It is based on nom and despite not having been optimized much, it is zero-allocation and pretty fast, benching ~7M messages/second on my laptop (Intel Core m3-6Y30).

Usage

Add this to your Cargo.toml:

[dependencies]
itchy = "0.1"

and this to your crate root:

extern crate itchy;

Simple example:

let stream = itchy::MessageStream::from_file("/path/to/file.itch").unwrap();
for msg in stream {
    println!("{:?}", msg.unwrap())
}

See the API docs for more information.