9 releases
new 0.3.2 | Oct 31, 2024 |
---|---|
0.3.1 | Oct 15, 2024 |
0.2.3 | Feb 26, 2023 |
0.2.2 | Nov 10, 2022 |
0.1.0 | Aug 24, 2017 |
#1177 in Parser implementations
452 downloads per month
48KB
1.5K
SLoC
itchy
ITCH parser library for Rust. Implements the NASDAQ 5.0 spec which can be found here.
It is zero-allocation (thanks nom!) and pretty fast, parsing around 20M messages/second on my not-fast laptop.
Usage
Add this to your Cargo.toml
:
[dependencies]
itchy = "0.3"
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
~1.8–2.7MB
~53K SLoC