|
ITCHCPP 1.6.1
High-Performance NASDAQ TotalView-ITCH 5.0 Parser & Market-Data Platform
|
Decodes MoldUDP64 datagrams and forwards the contained ITCH messages. More...
#include <moldudp64.hpp>
Public Member Functions | |
| MoldUdp64Decoder (MessageCallback callback) | |
Constructs a decoder that calls callback for each ITCH message. | |
| auto | decode_packet (std::span< const std::byte > packet) -> std::optional< MoldUdp64Header > |
| Decodes a single MoldUDP64 datagram. | |
| auto | tracker () noexcept -> SequenceTracker & |
| The embedded sequence tracker (install gap callbacks here). | |
| auto | tracker () const noexcept -> const SequenceTracker & |
| The embedded sequence tracker (install gap callbacks here). | |
| auto | packets_decoded () const noexcept -> std::uint64_t |
Total number of datagrams passed to decode_packet. | |
| auto | messages_decoded () const noexcept -> std::uint64_t |
| Total number of ITCH messages decoded from all datagrams. | |
Static Public Attributes | |
| static constexpr std::size_t | HEADER_SIZE = 20 |
| The on-wire size of the MoldUDP64 packet header, in bytes. | |
Decodes MoldUDP64 datagrams and forwards the contained ITCH messages.
One instance decodes a stream of datagrams from one or more sessions: call decode_packet once per UDP payload. Each well-formed data packet's message blocks are handed to an internal Parser, which invokes the supplied MessageCallback for every decoded ITCH message. Per-packet sequence numbers are fed to an embedded SequenceTracker so gaps in the multicast stream are surfaced to the caller.
Definition at line 71 of file moldudp64.hpp.
|
explicit |
Constructs a decoder that calls callback for each ITCH message.
| callback | Invoked with each ITCH message decoded from a data packet's message blocks. |
Definition at line 21 of file moldudp64.cpp.
| auto itch::transport::MoldUdp64Decoder::decode_packet | ( | std::span< const std::byte > | packet | ) | -> std::optional<MoldUdp64Header> |
Decodes a single MoldUDP64 datagram.
| packet | The full UDP payload (header plus message blocks). |
std::nullopt if the datagram is too short to contain a valid header. Definition at line 23 of file moldudp64.cpp.
|
inlinenoexcept |
The embedded sequence tracker (install gap callbacks here).
SequenceTracker. Definition at line 90 of file moldudp64.hpp.
|
inlinenoexcept |
The embedded sequence tracker (install gap callbacks here).
SequenceTracker. Definition at line 93 of file moldudp64.hpp.
|
inlinenoexcept |
Total number of datagrams passed to decode_packet.
Definition at line 97 of file moldudp64.hpp.
|
inlinenoexcept |
Total number of ITCH messages decoded from all datagrams.
Definition at line 103 of file moldudp64.hpp.
Referenced by itch::transport::PcapReader::messages_decoded().
|
staticconstexpr |
The on-wire size of the MoldUDP64 packet header, in bytes.
Definition at line 74 of file moldudp64.hpp.