FastMM documentation
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
Loading...
Searching...
No Matches
rest_channel.hpp File Reference

RestChannel: reactor-driven keep-alive HTTP(S) client with lazy (re)connection, for the venue control requests that run on the net thread (depth snapshots, openOrders, listenKey keepalive, order-entry REST fallback). More...

#include "fastmm/net/dns.hpp"
#include "fastmm/net/http_client.hpp"
#include "fastmm/net/reactor.hpp"
#include "fastmm/net/source_address.hpp"
#include "fastmm/net/tls_stream.hpp"
#include "fastmm/net/url.hpp"
#include <cstdint>
#include <memory>
#include <stdexcept>
#include <string>
#include <string_view>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

struct  fastmm::venues::RestChannelConfig
 
class  fastmm::venues::RestChannel
 

Namespaces

namespace  fastmm
 
namespace  fastmm::venues
 

Functions

constexpr std::size_t fastmm::venues::rest_queue_for (std::size_t symbols) noexcept
 Queue room for a connector's REST channel with symbols subscribed: every connector fans some requests out per symbol (cancel-all, the USDⓈ-M countdown, execution and funding replays), and those can overlap, on top of a fixed set (reconciliation, clock, listen key, the dead man's switch, orders falling back to REST).
 
template<class Cfg >
RestChannelConfig fastmm::venues::rest_channel_config (const Cfg &cfg, std::size_t symbols)
 The RestChannelConfig every connector config spells the same way.
 

Detailed Description

RestChannel: reactor-driven keep-alive HTTP(S) client with lazy (re)connection, for the venue control requests that run on the net thread (depth snapshots, openOrders, listenKey keepalive, order-entry REST fallback).

net::HttpClient is single-connection and does not reconnect; this wrapper recreates it on demand and re-resolves the host when a connect fails. Requests are std::function/std::string based: control path only.