|
Leka
A low-latency C++20 price-time-priority limit order book and matching engine
|
| Nlob | |
| CBookSnapshot | Top-of-book depth plus the counters a viewer needs for context |
| CBookSnapshotLevel | One aggregated price level as seen from outside the engine |
| CCancelOrder | Payload for removing an existing resting order |
| CExecution | Describes one match between an incoming and resting order |
| CMatchingEngine | Matches incoming orders against resting liquidity in an OrderBook |
| CNewOrder | Payload for accepting a new order |
| COrder | Represents a resting or incoming order and its lifecycle state |
| COrderBook | Owns resting limit orders and maintains their book indexes |
| COrderEvent | Type-safe event-first command for the matching engine |
| COrderId | Type-safe identifier for an order; zero is reserved as invalid |
| COrderIdGenerator | Generates monotonically increasing order identifiers |
| COrderIndex | Open-addressed OrderId -> Order* index with average O(1) lookup |
| COrderPool | Provides stable, pooled storage for Order objects |
| CPage | |
| CPrice | Type-safe nonzero price value used for price ordering |
| CPriceLadder | Fixed-range, tick-indexed array of PriceLevel slots for one side of a book |
| CPriceLevel | Maintains FIFO resting orders at one price |
| CQuantity | Type-safe unsigned order quantity; zero represents a filled state |
| CReduceOrder | Payload for shrinking a resting order without losing priority |
| CSequenceNumber | Monotonic engine sequence used for deterministic processing order |
| CSequenceNumberGenerator | Generates process-wide monotonic sequence numbers |
| CSpscEventQueue | Wait-free single-producer/single-consumer queue of OrderEvent |
| CTimestamp | Nanoseconds since the Unix epoch; zero is reserved as invalid |
| Nstd | |
| Chash< lob::OrderId > |