6 releases
0.2.3 | Feb 26, 2023 |
---|---|
0.2.2 | Nov 10, 2022 |
0.2.1 | Mar 13, 2020 |
0.2.0 | Oct 27, 2019 |
0.1.0 | Aug 24, 2017 |
#1529 in Parser implementations
29 downloads per month
46KB
1K
SLoC
itchy
ITCH parser library for Rust. Implements the NASDAQ 5.0 spec which can be found here.
It is zero-allocation (thanks nom!) pretty fast, parsing around 20M messages/second on my XPS 9370.
Usage
Add this to your Cargo.toml
:
[dependencies]
itchy = "0.2"
Simple usage 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.
lib.rs
:
itchy - a nom-based parser for the NASDAQ ITCH protocol 5.0
It aims to sensibly handle the whole protocol. It is zero-allocation and pretty fast. It will process several million messages per second on a decent CPU.
Typical usage:
extern crate itchy;
let stream = itchy::MessageStream::from_file("/path/to/file.itch").unwrap();
for msg in stream {
println!("{:?}", msg.unwrap())
}
The protocol specification can be found on the NASDAQ website
Dependencies
~6MB
~116K SLoC