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

#include <fastmm/net/connection.hpp>

Classes

struct  Tls
 

Public Attributes

std::string url
 ws:// or wss://host[:port]/path?query
 
struct fastmm::net::ConnectionConfig::Tls tls
 
std::uint32_t stale_ms = 2000
 
std::uint32_t dead_ms = 10'000
 
BackoffConfig backoff {}
 
std::uint64_t max_lifetime_ms = 0
 0 = never roll over
 
std::uint32_t heartbeat_interval_ms = 0
 0 = no client pings
 
std::uint32_t connect_timeout_ms = 10'000
 
SourceAddress source
 Where the connection leaves this host from (net/source_address.hpp); empty: anywhere.
 
bool manual_auth = false
 handler calls auth_done()
 
bool manual_subscribe = false
 handler calls subscribe_done()
 
std::string extra_headers
 "Name: value\\r\\n" block for the upgrade request
 
std::function< std::string()> make_headers
 Called before every upgrade request and used instead of extra_headers when set: headers signed with a fresh nonce (Gemini authenticates the upgrade itself).
 
WsClientConfig ws {.validate_utf8 = false}
 Venue handlers parse text with simdjson, whose first stage rejects invalid UTF-8; the WebSocket-level check would scan every message a second time.
 

Member Data Documentation

◆ url

std::string fastmm::net::ConnectionConfig::url

ws:// or wss://host[:port]/path?query

◆ tls

struct fastmm::net::ConnectionConfig::Tls fastmm::net::ConnectionConfig::tls

◆ stale_ms

std::uint32_t fastmm::net::ConnectionConfig::stale_ms = 2000

◆ dead_ms

std::uint32_t fastmm::net::ConnectionConfig::dead_ms = 10'000

◆ backoff

BackoffConfig fastmm::net::ConnectionConfig::backoff {}

◆ max_lifetime_ms

std::uint64_t fastmm::net::ConnectionConfig::max_lifetime_ms = 0

0 = never roll over

◆ heartbeat_interval_ms

std::uint32_t fastmm::net::ConnectionConfig::heartbeat_interval_ms = 0

0 = no client pings

◆ connect_timeout_ms

std::uint32_t fastmm::net::ConnectionConfig::connect_timeout_ms = 10'000

◆ source

SourceAddress fastmm::net::ConnectionConfig::source

Where the connection leaves this host from (net/source_address.hpp); empty: anywhere.

Only the venue's addresses of a family the source has are tried.

◆ manual_auth

bool fastmm::net::ConnectionConfig::manual_auth = false

handler calls auth_done()

◆ manual_subscribe

bool fastmm::net::ConnectionConfig::manual_subscribe = false

handler calls subscribe_done()

◆ extra_headers

std::string fastmm::net::ConnectionConfig::extra_headers

"Name: value\\r\\n" block for the upgrade request

◆ make_headers

std::function<std::string()> fastmm::net::ConnectionConfig::make_headers

Called before every upgrade request and used instead of extra_headers when set: headers signed with a fresh nonce (Gemini authenticates the upgrade itself).

◆ ws

WsClientConfig fastmm::net::ConnectionConfig::ws {.validate_utf8 = false}

Venue handlers parse text with simdjson, whose first stage rejects invalid UTF-8; the WebSocket-level check would scan every message a second time.