23#include <flow/log/log_fwd.hpp>
70 static_assert(std::numeric_limits<low_lvl_payload_blob_length_t>::is_integer
71 && (!std::numeric_limits<low_lvl_payload_blob_length_t>::is_signed),
72 "low_lvl_payload_blob_length_t is at least in some cases used as a length type, "
73 "so it must be an unsigned integer of some width.");
80static_assert(
false,
"Native_socket_stream uses AF_LOCAL/SOCK_SEQPACKET and relies on Linux semantics for it; "
81 "this may be available in other OS with alleged spotty support, and we have not tested it "
82 "elsewhere. For now build in Linux only.");
136 = std::numeric_limits<low_lvl_payload_blob_length_t>::max();
Grouping of compile-type config/knobs (such as type aliases, constants) governing some of the behavio...
Native_socket_stream_cfg()=delete
Forbid instantiation, for it is pointless.
static constexpr bool S_STATS_LOG_ENABLED
Whether to periodically log various statistics about Native_socket_stream.
static constexpr flow::log::Sev S_STATS_LOG_SEV
If S_STATS_LOG_ENABLED: the log severity for stats output.
static constexpr size_t S_STATS_HISTO_MSG_CT_BUCKET_SZ
For batch-receiving event-count histogram: the width of each event-count bucket.
static constexpr util::Fine_duration S_STATS_LOG_PERIOD
If S_STATS_LOG_ENABLED: how often to output stats via logs.
std::conditional_t< S_USE_OS_DGRAM_SUPPORT, asio_local_stream_socket::Protocol_pkt_stream, asio_local_stream_socket::Protocol_byte_stream > Protocol
sync_io::Native_socket_stream and derivative(s) shall internally use a boost.asio socket type of this...
uint16_t low_lvl_payload_blob_length_t
The type used to encode the internal meta-blob length/type-indicator for sync_io::Native_socket_strea...
static constexpr low_lvl_payload_blob_length_t S_PING_SENTINEL
For sync_io::Native_socket_stream and derivative(s): Value for the length/type-indicator field in eac...
static constexpr size_t S_MAX_META_BLOB_LENGTH
The maximum length of a blob that can be sent by the protocol internally used by sync_io::Native_sock...
static constexpr bool S_USE_OS_DGRAM_BATCH_SUPPORT
Whether the OS provides, and we shall use for sync_io::Native_socket_stream and derivative(s),...
static constexpr bool S_USE_OS_DGRAM_SUPPORT
Whether the OS provides, and we shall use for sync_io::Native_socket_stream and derivative(s),...
local_ns::seq_packet_protocol Protocol_pkt_stream
Short-hand for boost.asio Unix domain stream-socket – with built-in message boundary preservation – p...
local_ns::stream_protocol Protocol_byte_stream
Short-hand for boost.asio Unix domain stream-socket – without built-in message boundary preservation ...
Flow-IPC module providing transmission of structured messages and/or low-level blobs (and more) betwe...
flow::Fine_duration Fine_duration
Short-hand for Flow's Fine_duration.