Expand description
Adapter-local order book synchronization state for CoinAPI.
BookSyncTracker applies the CoinAPI sequence rule to the shared per-book [BookSync]
lifecycle and converts accepted messages into deltas. A snapshot lists the whole book, so it is
accepted at any sequence; an update is accepted only at the sequence after the last accepted
message. A book’s position is that last sequence.
CoinAPI restarts a pair’s sequence at one whenever it restarts the pair or the connection, and
a managed OrderBook keeps its sequence as a high-water mark across snapshots. Emitted deltas
therefore carry the venue sequence plus a per-book offset, set at each accepted snapshot so the
emitted sequence keeps rising across restarts, unsubscribes, and reconnects. Gap detection uses
the venue sequence.
Conversion happens under the tracker’s lock, so an L3 book’s OrderIndex changes only with
its accepted position. A message that fails conversion leaves the book out of sync, as a gap
does. This module performs state transitions; super::recovery runs the asynchronous
scope changes and retries.
Structs§
- Book
Sync Tracker - Sequence, snapshot, and recovery state of each subscribed book.
Enums§
- Book
Frame - A
bookorbook_l3message routed to its book.