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

#include <fastmm/net/kernel_datagram_source.hpp>

Public Member Functions

 KernelDatagramSource ()=default
 
 ~KernelDatagramSource ()=default
 
 KernelDatagramSource (const KernelDatagramSource &)=delete
 
KernelDatagramSource & operator= (const KernelDatagramSource &)=delete
 
 KernelDatagramSource (KernelDatagramSource &&) noexcept=default
 
KernelDatagramSource & operator= (KernelDatagramSource &&) noexcept=default
 
KernelSourceOpen open (const KernelSourceConfig &cfg)
 Closes any previous sockets, then opens one per subscription. On failure nothing stays open.
 
void close () noexcept
 
template<class H >
std::size_t poll (H &&handler) noexcept
 handler(std::span<const std::byte> payload, const RxMeta& meta) noexcept, once per datagram.
 
const DatagramSourceStats & stats () const noexcept
 
std::size_t line_count () const noexcept
 
int fd (std::size_t line) const noexcept
 
bool is_open () const noexcept
 

Constructor & Destructor Documentation

◆ KernelDatagramSource() [1/3]

fastmm::net::KernelDatagramSource::KernelDatagramSource ( )
default

◆ ~KernelDatagramSource()

fastmm::net::KernelDatagramSource::~KernelDatagramSource ( )
default

◆ KernelDatagramSource() [2/3]

fastmm::net::KernelDatagramSource::KernelDatagramSource ( const KernelDatagramSource &  )
delete

◆ KernelDatagramSource() [3/3]

fastmm::net::KernelDatagramSource::KernelDatagramSource ( KernelDatagramSource &&  )
defaultnoexcept

Member Function Documentation

◆ operator=() [1/2]

KernelDatagramSource & fastmm::net::KernelDatagramSource::operator= ( const KernelDatagramSource &  )
delete

◆ operator=() [2/2]

KernelDatagramSource & fastmm::net::KernelDatagramSource::operator= ( KernelDatagramSource &&  )
defaultnoexcept

◆ open()

KernelSourceOpen fastmm::net::KernelDatagramSource::open ( const KernelSourceConfig &  cfg)

Closes any previous sockets, then opens one per subscription. On failure nothing stays open.

◆ close()

void fastmm::net::KernelDatagramSource::close ( )
noexcept

◆ poll()

template<class H >
std::size_t fastmm::net::KernelDatagramSource::poll ( H &&  handler)
inlinenoexcept

handler(std::span<const std::byte> payload, const RxMeta& meta) noexcept, once per datagram.

◆ stats()

const DatagramSourceStats & fastmm::net::KernelDatagramSource::stats ( ) const
inlinenoexcept

◆ line_count()

std::size_t fastmm::net::KernelDatagramSource::line_count ( ) const
inlinenoexcept

◆ fd()

int fastmm::net::KernelDatagramSource::fd ( std::size_t  line) const
inlinenoexcept

◆ is_open()

bool fastmm::net::KernelDatagramSource::is_open ( ) const
inlinenoexcept