Crate itchy

Crate itchy 

Source
Expand description

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

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
RetailPriceImprovementIndicator
StockDirectory

Enums§

Body
The message body. Refer to the protocol spec for interpretation.
CrossType
Error
EventCode
FinancialStatus
ImbalanceDirection
InterestFlag
IpoReleaseQualifier
IssueClassification
IssueSubType
LevelBreached
LuldRefPriceTier
MarketCategory
MarketMakerMode
MarketParticipantState
RegShoAction
Side
TradingState

Type Aliases§

ArrayString4
Stack-allocated string of size 4 bytes (re-exported from arrayvec)
ArrayString8
Stack-allocated string of size 8 bytes (re-exported from arrayvec)