Crate itchy [−] [src]
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
Modules
errors |
Structs
AddOrder | |
ArrayString |
A string with a fixed capacity. |
CrossTrade | |
ImbalanceIndicator | |
IpoQuotingPeriod | |
MarketParticipantPosition | |
Message |
An ITCH protocol message. Refer to the protocol spec for interpretation. |
MessageStream |
Represents an iterable stream of ITCH protocol messages |
NonCrossTrade | |
Price4 |
Opaque type representing a price to four decimal places |
Price8 |
Opaque type representing a price to eight decimal places |
ReplaceOrder | |
StockDirectory | |
d128 |
A 128-bit decimal floating point type. |
Enums
Body |
The message body. Refer to the protocol spec for interpretation. |
CrossType | |
EventCode | |
FinancialStatus | |
ImbalanceDirection | |
IpoReleaseQualifier | |
IssueClassification | |
IssueSubType | |
LevelBreached | |
LuldRefPriceTier | |
MarketCategory | |
MarketMakerMode | |
MarketParticipantState | |
RegShoAction | |
Side | |
TradingState |
Type Definitions
ArrayString4 |
Stack-allocated string of size 4 bytes (re-exported from |
ArrayString8 |
Stack-allocated string of size 8 bytes (re-exported from |