FastMM documentation
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
Loading...
Searching...
No Matches
net Directory Reference

Files

 backoff.hpp
 Exponential backoff with jitter for reconnects: delay_n = cap_n * (1 - jitter) + U(0, cap_n * jitter) where cap_n = min(max_ms, base_ms * 2^n).
 
 connection.hpp
 Resilient WebSocket connection: DNS -> TCP -> TLS -> WS upgrade -> auth -> subscribe -> Live, with stale/dead detection, exponential backoff reconnects, and make-before-break rollover ahead of the venue's connection lifetime limit (Binance: 24 h).
 
 crypto.hpp
 Cryptographic primitives needed by the venue connectors: HMAC-SHA256 (REST/WS signing), HMAC-SHA384 (Gemini), SHA-1 (WebSocket accept key), SHA-256, base64 and base64url (own implementation), CSPRNG bytes, Ed25519 (Binance session logon / Ed25519 API keys) and ECDSA P-256 (ES256 JWTs of Coinbase CDP keys).
 
 datagram_source.hpp
 Datagram receive interface for multicast market data (ADR-0015, section 1).
 
 dpdk_datagram_source.hpp
 DPDK datagram source (rx_backend = "dpdk"): one ethdev port, one RX and one TX queue polled from the venue's network thread.
 
 http_client.hpp
 Keep-alive HTTP/1.1 client over any ByteStream: one request in flight per connection plus a small FIFO, response bodies framed by Content-Length / chunked / connection-close, and a per-request reactor timer.
 
 kernel_datagram_source.hpp
 kernel DatagramSource (ADR-0015, section 2): one UDP socket per subscription, bound to the group and port, SO_REUSEADDR, IP_MULTICAST_ALL off, joined any-source or source-specific (a unicast "group" is a local address: bound, not joined); recvmmsg in fixed batches; SO_TIMESTAMPING for kernel and NIC receive times.
 
 reactor.hpp
 Single-threaded event loop with a timer min-heap and a thread-safe mailbox (post/wake via eventfd), over one of two backends chosen at construction:
 
 udp_socket.hpp
 Non-blocking IPv4 UDP socket with RAII fd ownership: multicast membership, batch receive (recvmmsg) and send (sendmmsg), SO_TIMESTAMPING and busy-poll options.
 
 url.hpp
 Minimal URL parsing / query building for venue endpoints.
 
 ws_client.hpp
 RFC 6455 WebSocket client over any ByteStream, driven by a Reactor.
 
 xdp_datagram_source.hpp
 AF_XDP datagram source (ADR-0015, section 3): one XDP socket per (interface, RX queue), each with its own UMEM, fill and RX rings (the completion ring exists because bind requires it).