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

Datagram receive interface for multicast market data (ADR-0015, section 1). More...

#include "fastmm/core/time.hpp"
#include <concepts>
#include <cstddef>
#include <cstdint>
#include <span>

Go to the source code of this file.

Classes

struct  fastmm::net::RxMeta
 
struct  fastmm::net::DatagramSourceStats
 
struct  fastmm::net::DatagramHandlerArchetype
 A handler that accepts every datagram: the shape poll() is checked against. More...
 

Namespaces

namespace  fastmm
 
namespace  fastmm::net
 

Concepts

concept  fastmm::net::DatagramSource
 

Detailed Description

Datagram receive interface for multicast market data (ADR-0015, section 1).

A source joins one or more (interface, group, port, source?) subscriptions; the line index is the subscription's position. A unicast "group" is a local address the datagrams are sent to (no join): for networks without multicast. The net thread calls poll(handler), which delivers a batch and returns its size. Payload spans are valid until poll returns; no backend allocates after open.

Backends: KernelDatagramSource (kernel_datagram_source.hpp), XdpDatagramSource (xdp_datagram_source.hpp), DpdkDatagramSource (dpdk_datagram_source.hpp). Descriptors and statistics are backend-specific.