|
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
|
Protocol codec concepts (plan 7). More...
#include "fastmm/core/messages.hpp"#include "fastmm/venues/event_sink.hpp"#include "fastmm/venues/feed.hpp"#include "fastmm/venues/order_commands.hpp"#include <concepts>#include <cstddef>#include <cstdint>#include <cstring>#include <span>#include <string_view>#include <type_traits>Go to the source code of this file.
Classes | |
| struct | fastmm::codecs::FrameView |
| One complete application frame carved out of a byte stream. More... | |
Namespaces | |
| namespace | fastmm |
| namespace | fastmm::codecs |
Concepts | |
| concept | fastmm::codecs::Framer |
| Splits a byte stream into frames without copying. Must be re-entrant on partial input. | |
| concept | fastmm::codecs::Decoder |
| Turns one frame into zero or more normalised engine events written to the sink. | |
| concept | fastmm::codecs::Encoder |
| Serialises one outbound command into wire bytes. Returns bytes written; 0 on failure. | |
| concept | fastmm::codecs::SessionLayer |
| Session-level protocol machinery (FIX Logon/Heartbeat/Resend, SoupBinTCP login, MoldUDP gap requests). | |
Typedefs | |
| using | fastmm::codecs::be16_t = detail::EndianField< std::uint16_t, true > |
| using | fastmm::codecs::be32_t = detail::EndianField< std::uint32_t, true > |
| using | fastmm::codecs::be64_t = detail::EndianField< std::uint64_t, true > |
| using | fastmm::codecs::le16_t = detail::EndianField< std::uint16_t, false > |
| using | fastmm::codecs::le32_t = detail::EndianField< std::uint32_t, false > |
| using | fastmm::codecs::le64_t = detail::EndianField< std::uint64_t, false > |
Enumerations | |
| enum class | fastmm::codecs::SessionState : std::uint8_t { fastmm::codecs::Down = 0 , fastmm::codecs::LoggingOn = 1 , fastmm::codecs::Up = 2 , fastmm::codecs::Recovering = 3 } |
Functions | |
| std::string_view | fastmm::codecs::library_name () noexcept |
Protocol codec concepts (plan 7).
Only the shapes are defined here (M3 fills in FIX / ITCH / OUCH / MDP3 under codecs/<proto>/). A binary-protocol venue plugs into the same net stack as the JSON venues:
Connection<Stream, Pipeline<Framer, SessionLayer, Decoder>>
where WsClient is "just" a Framer whose frames are text, and the venue JSON decoders are Decoders. Nothing in this header allocates or is virtual.