CppServer  1.0.4.0
C++ Server Library
Public Member Functions | Protected Member Functions | List of all members
CppServer::Asio::UDPServer Class Reference

UDP server. More...

#include <udp_server.h>

Inheritance diagram for CppServer::Asio::UDPServer:

Public Member Functions

 UDPServer (const std::shared_ptr< Service > &service, int port, InternetProtocol protocol=InternetProtocol::IPv4)
 Initialize UDP server with a given Asio service and port number. More...
 
 UDPServer (const std::shared_ptr< Service > &service, const std::string &address, int port)
 Initialize UDP server with a given Asio service, server address and port number. More...
 
 UDPServer (const std::shared_ptr< Service > &service, const asio::ip::udp::endpoint &endpoint)
 Initialize UDP server with a given Asio service and endpoint. More...
 
 UDPServer (const UDPServer &)=delete
 
 UDPServer (UDPServer &&)=delete
 
virtual ~UDPServer ()=default
 
UDPServeroperator= (const UDPServer &)=delete
 
UDPServeroperator= (UDPServer &&)=delete
 
const CppCommon::UUID & id () const noexcept
 Get the server Id. More...
 
std::shared_ptr< Service > & service () noexcept
 Get the Asio service. More...
 
std::shared_ptr< asio::io_service > & io_service () noexcept
 Get the Asio IO service. More...
 
asio::io_service::strand & strand () noexcept
 Get the Asio service strand for serialized handler execution. More...
 
asio::ip::udp::endpoint & endpoint () noexcept
 Get the server endpoint. More...
 
asio::ip::udp::endpoint & multicast_endpoint () noexcept
 Get the server multicast endpoint. More...
 
const std::string & address () const noexcept
 Get the server address. More...
 
int port () const noexcept
 Get the server port number. More...
 
uint64_t bytes_pending () const noexcept
 Get the number of bytes pending sent by the server. More...
 
uint64_t bytes_sent () const noexcept
 Get the number of bytes sent by the server. More...
 
uint64_t bytes_received () const noexcept
 Get the number of bytes received by the server. More...
 
uint64_t datagrams_sent () const noexcept
 Get the number datagrams sent by the server. More...
 
uint64_t datagrams_received () const noexcept
 Get the number datagrams received by the server. More...
 
bool option_reuse_address () const noexcept
 Get the option: reuse address. More...
 
bool option_reuse_port () const noexcept
 Get the option: reuse port. More...
 
size_t option_receive_buffer_limit () const noexcept
 Get the option: receive buffer limit. More...
 
size_t option_receive_buffer_size () const
 Get the option: receive buffer size. More...
 
size_t option_send_buffer_limit () const noexcept
 Get the option: send buffer limit. More...
 
size_t option_send_buffer_size () const
 Get the option: send buffer size. More...
 
bool IsStarted () const noexcept
 Is the server started? More...
 
virtual bool Start ()
 Start the server. More...
 
virtual bool Start (const std::string &multicast_address, int multicast_port)
 Start the server with a given multicast address and port number. More...
 
virtual bool Start (const asio::ip::udp::endpoint &multicast_endpoint)
 Start the server with a given multicast endpoint. More...
 
virtual bool Stop ()
 Stop the server. More...
 
virtual bool Restart ()
 Restart the server. More...
 
virtual size_t Multicast (const void *buffer, size_t size)
 Multicast datagram to the prepared mulicast endpoint (synchronous) More...
 
virtual size_t Multicast (std::string_view text)
 Multicast text to the prepared mulicast endpoint (synchronous) More...
 
virtual size_t Multicast (const void *buffer, size_t size, const CppCommon::Timespan &timeout)
 Multicast datagram to the prepared mulicast endpoint with timeout (synchronous) More...
 
virtual size_t Multicast (std::string_view text, const CppCommon::Timespan &timeout)
 Multicast text to the prepared mulicast endpoint with timeout (synchronous) More...
 
virtual bool MulticastAsync (const void *buffer, size_t size)
 Multicast datagram to the prepared mulicast endpoint (asynchronous) More...
 
virtual bool MulticastAsync (std::string_view text)
 Multicast text to the prepared mulicast endpoint (asynchronous) More...
 
virtual size_t Send (const asio::ip::udp::endpoint &endpoint, const void *buffer, size_t size)
 Send datagram into the given endpoint (synchronous) More...
 
virtual size_t Send (const asio::ip::udp::endpoint &endpoint, std::string_view text)
 Send text into the given endpoint (synchronous) More...
 
virtual size_t Send (const asio::ip::udp::endpoint &endpoint, const void *buffer, size_t size, const CppCommon::Timespan &timeout)
 Send datagram into the given endpoint with timeout (synchronous) More...
 
virtual size_t Send (const asio::ip::udp::endpoint &endpoint, std::string_view text, const CppCommon::Timespan &timeout)
 Send text into the given endpoint with timeout (synchronous) More...
 
virtual bool SendAsync (const asio::ip::udp::endpoint &endpoint, const void *buffer, size_t size)
 Send datagram into the given endpoint (asynchronous) More...
 
virtual bool SendAsync (const asio::ip::udp::endpoint &endpoint, std::string_view text)
 Send text into the given endpoint (asynchronous) More...
 
virtual size_t Receive (asio::ip::udp::endpoint &endpoint, void *buffer, size_t size)
 Receive datagram from the given endpoint (synchronous) More...
 
virtual std::string Receive (asio::ip::udp::endpoint &endpoint, size_t size)
 Receive text from the given endpoint (synchronous) More...
 
virtual size_t Receive (asio::ip::udp::endpoint &endpoint, void *buffer, size_t size, const CppCommon::Timespan &timeout)
 Receive datagram from the given endpoint with timeout (synchronous) More...
 
virtual std::string Receive (asio::ip::udp::endpoint &endpoint, size_t size, const CppCommon::Timespan &timeout)
 Receive text from the given endpoint with timeout (synchronous) More...
 
virtual void ReceiveAsync ()
 Receive datagram from the client (asynchronous) More...
 
void SetupReuseAddress (bool enable) noexcept
 Setup option: reuse address. More...
 
void SetupReusePort (bool enable) noexcept
 Setup option: reuse port. More...
 
void SetupReceiveBufferLimit (size_t limit) noexcept
 Setup option: receive buffer limit. More...
 
void SetupReceiveBufferSize (size_t size)
 Setup option: receive buffer size. More...
 
void SetupSendBufferLimit (size_t limit) noexcept
 Setup option: send buffer limit. More...
 
void SetupSendBufferSize (size_t size)
 Setup option: send buffer size. More...
 

Protected Member Functions

virtual void onStarted ()
 Handle server started notification. More...
 
virtual void onStopped ()
 Handle server stopped notification. More...
 
virtual void onReceived (const asio::ip::udp::endpoint &endpoint, const void *buffer, size_t size)
 Handle datagram received notification. More...
 
virtual void onSent (const asio::ip::udp::endpoint &endpoint, size_t sent)
 Handle datagram sent notification. More...
 
virtual void onError (int error, const std::string &category, const std::string &message)
 Handle error notification. More...
 

Detailed Description

UDP server.

UDP server is used to send or multicast datagrams to UDP endpoints.

Thread-safe.

Examples
udp_echo_server.cpp, and udp_multicast_server.cpp.

Definition at line 25 of file udp_server.h.

Constructor & Destructor Documentation

◆ UDPServer() [1/5]

CppServer::Asio::UDPServer::UDPServer ( const std::shared_ptr< Service > &  service,
int  port,
InternetProtocol  protocol = InternetProtocol::IPv4 
)

Initialize UDP server with a given Asio service and port number.

Parameters
service- Asio service
port- Port number
protocol- Internet protocol type (default is IPv4)
Examples
udp_echo_server.cpp, and udp_multicast_server.cpp.

Definition at line 14 of file udp_server.cpp.

◆ UDPServer() [2/5]

CppServer::Asio::UDPServer::UDPServer ( const std::shared_ptr< Service > &  service,
const std::string &  address,
int  port 
)

Initialize UDP server with a given Asio service, server address and port number.

Parameters
service- Asio service
address- Server address
port- Port number

Definition at line 49 of file udp_server.cpp.

◆ UDPServer() [3/5]

CppServer::Asio::UDPServer::UDPServer ( const std::shared_ptr< Service > &  service,
const asio::ip::udp::endpoint &  endpoint 
)

Initialize UDP server with a given Asio service and endpoint.

Parameters
service- Asio service
endpoint- Server UDP endpoint

Definition at line 77 of file udp_server.cpp.

◆ UDPServer() [4/5]

CppServer::Asio::UDPServer::UDPServer ( const UDPServer )
delete

◆ UDPServer() [5/5]

CppServer::Asio::UDPServer::UDPServer ( UDPServer &&  )
delete

◆ ~UDPServer()

virtual CppServer::Asio::UDPServer::~UDPServer ( )
virtualdefault

Member Function Documentation

◆ address()

const std::string& CppServer::Asio::UDPServer::address ( ) const
inlinenoexcept

Get the server address.

Definition at line 70 of file udp_server.h.

◆ bytes_pending()

uint64_t CppServer::Asio::UDPServer::bytes_pending ( ) const
inlinenoexcept

Get the number of bytes pending sent by the server.

Definition at line 75 of file udp_server.h.

◆ bytes_received()

uint64_t CppServer::Asio::UDPServer::bytes_received ( ) const
inlinenoexcept

Get the number of bytes received by the server.

Definition at line 79 of file udp_server.h.

◆ bytes_sent()

uint64_t CppServer::Asio::UDPServer::bytes_sent ( ) const
inlinenoexcept

Get the number of bytes sent by the server.

Definition at line 77 of file udp_server.h.

◆ datagrams_received()

uint64_t CppServer::Asio::UDPServer::datagrams_received ( ) const
inlinenoexcept

Get the number datagrams received by the server.

Definition at line 83 of file udp_server.h.

◆ datagrams_sent()

uint64_t CppServer::Asio::UDPServer::datagrams_sent ( ) const
inlinenoexcept

Get the number datagrams sent by the server.

Definition at line 81 of file udp_server.h.

◆ endpoint()

asio::ip::udp::endpoint& CppServer::Asio::UDPServer::endpoint ( )
inlinenoexcept

Get the server endpoint.

Definition at line 65 of file udp_server.h.

◆ id()

const CppCommon::UUID& CppServer::Asio::UDPServer::id ( ) const
inlinenoexcept

Get the server Id.

Definition at line 56 of file udp_server.h.

◆ io_service()

std::shared_ptr<asio::io_service>& CppServer::Asio::UDPServer::io_service ( )
inlinenoexcept

Get the Asio IO service.

Definition at line 61 of file udp_server.h.

◆ IsStarted()

bool CppServer::Asio::UDPServer::IsStarted ( ) const
inlinenoexcept

Is the server started?

Definition at line 99 of file udp_server.h.

◆ Multicast() [1/4]

size_t CppServer::Asio::UDPServer::Multicast ( const void *  buffer,
size_t  size 
)
virtual

Multicast datagram to the prepared mulicast endpoint (synchronous)

Parameters
buffer- Datagram buffer to multicast
size- Datagram buffer size
Returns
Size of multicasted datagram

Definition at line 237 of file udp_server.cpp.

◆ Multicast() [2/4]

size_t CppServer::Asio::UDPServer::Multicast ( const void *  buffer,
size_t  size,
const CppCommon::Timespan &  timeout 
)
virtual

Multicast datagram to the prepared mulicast endpoint with timeout (synchronous)

Parameters
buffer- Datagram buffer to multicast
size- Datagram buffer size
timeout- Timeout
Returns
Size of multicasted datagram

Definition at line 243 of file udp_server.cpp.

◆ Multicast() [3/4]

virtual size_t CppServer::Asio::UDPServer::Multicast ( std::string_view  text)
inlinevirtual

Multicast text to the prepared mulicast endpoint (synchronous)

Parameters
text- Text to multicast
Returns
Size of multicasted datagram

Definition at line 144 of file udp_server.h.

◆ Multicast() [4/4]

virtual size_t CppServer::Asio::UDPServer::Multicast ( std::string_view  text,
const CppCommon::Timespan &  timeout 
)
inlinevirtual

Multicast text to the prepared mulicast endpoint with timeout (synchronous)

Parameters
text- Text to multicast
timeout- Timeout
Returns
Size of multicasted datagram

Definition at line 160 of file udp_server.h.

◆ multicast_endpoint()

asio::ip::udp::endpoint& CppServer::Asio::UDPServer::multicast_endpoint ( )
inlinenoexcept

Get the server multicast endpoint.

Definition at line 67 of file udp_server.h.

◆ MulticastAsync() [1/2]

bool CppServer::Asio::UDPServer::MulticastAsync ( const void *  buffer,
size_t  size 
)
virtual

Multicast datagram to the prepared mulicast endpoint (asynchronous)

Parameters
buffer- Datagram buffer to multicast
size- Datagram buffer size
Returns
'true' if the datagram was successfully multicasted, 'false' if the datagram was not multicasted

Definition at line 249 of file udp_server.cpp.

◆ MulticastAsync() [2/2]

virtual bool CppServer::Asio::UDPServer::MulticastAsync ( std::string_view  text)
inlinevirtual

Multicast text to the prepared mulicast endpoint (asynchronous)

Parameters
text- Text to multicast
Returns
'true' if the text was successfully multicasted, 'false' if the text was not multicasted

Definition at line 174 of file udp_server.h.

◆ onError()

virtual void CppServer::Asio::UDPServer::onError ( int  error,
const std::string &  category,
const std::string &  message 
)
inlineprotectedvirtual

Handle error notification.

Parameters
error- Error code
category- Error category
message- Error message
Examples
udp_echo_server.cpp, and udp_multicast_server.cpp.

Definition at line 342 of file udp_server.h.

◆ onReceived()

virtual void CppServer::Asio::UDPServer::onReceived ( const asio::ip::udp::endpoint &  endpoint,
const void *  buffer,
size_t  size 
)
inlineprotectedvirtual

Handle datagram received notification.

Notification is called when another datagram was received from some endpoint.

Parameters
endpoint- Received endpoint
buffer- Received datagram buffer
size- Received datagram buffer size
Examples
udp_echo_server.cpp.

Definition at line 323 of file udp_server.h.

◆ onSent()

virtual void CppServer::Asio::UDPServer::onSent ( const asio::ip::udp::endpoint &  endpoint,
size_t  sent 
)
inlineprotectedvirtual

Handle datagram sent notification.

Notification is called when a datagram was sent to the client.

This handler could be used to send another datagram to the client for instance when the pending size is zero.

Parameters
endpoint- Endpoint of sent datagram
sent- Size of sent datagram buffer
Examples
udp_echo_server.cpp.

Definition at line 334 of file udp_server.h.

◆ onStarted()

virtual void CppServer::Asio::UDPServer::onStarted ( )
inlineprotectedvirtual

Handle server started notification.

Examples
udp_echo_server.cpp.

Definition at line 310 of file udp_server.h.

◆ onStopped()

virtual void CppServer::Asio::UDPServer::onStopped ( )
inlineprotectedvirtual

Handle server stopped notification.

Definition at line 312 of file udp_server.h.

◆ operator=() [1/2]

UDPServer& CppServer::Asio::UDPServer::operator= ( const UDPServer )
delete

◆ operator=() [2/2]

UDPServer& CppServer::Asio::UDPServer::operator= ( UDPServer &&  )
delete

◆ option_receive_buffer_limit()

size_t CppServer::Asio::UDPServer::option_receive_buffer_limit ( ) const
inlinenoexcept

Get the option: receive buffer limit.

Definition at line 90 of file udp_server.h.

◆ option_receive_buffer_size()

size_t CppServer::Asio::UDPServer::option_receive_buffer_size ( ) const

Get the option: receive buffer size.

Definition at line 101 of file udp_server.cpp.

◆ option_reuse_address()

bool CppServer::Asio::UDPServer::option_reuse_address ( ) const
inlinenoexcept

Get the option: reuse address.

Definition at line 86 of file udp_server.h.

◆ option_reuse_port()

bool CppServer::Asio::UDPServer::option_reuse_port ( ) const
inlinenoexcept

Get the option: reuse port.

Definition at line 88 of file udp_server.h.

◆ option_send_buffer_limit()

size_t CppServer::Asio::UDPServer::option_send_buffer_limit ( ) const
inlinenoexcept

Get the option: send buffer limit.

Definition at line 94 of file udp_server.h.

◆ option_send_buffer_size()

size_t CppServer::Asio::UDPServer::option_send_buffer_size ( ) const

Get the option: send buffer size.

Definition at line 108 of file udp_server.cpp.

◆ port()

int CppServer::Asio::UDPServer::port ( ) const
inlinenoexcept

Get the server port number.

Definition at line 72 of file udp_server.h.

◆ Receive() [1/4]

std::string CppServer::Asio::UDPServer::Receive ( asio::ip::udp::endpoint &  endpoint,
size_t  size 
)
virtual

Receive text from the given endpoint (synchronous)

Parameters
endpoint- Endpoint to receive from
size- Text size to receive
Returns
Received text

Definition at line 459 of file udp_server.cpp.

◆ Receive() [2/4]

std::string CppServer::Asio::UDPServer::Receive ( asio::ip::udp::endpoint &  endpoint,
size_t  size,
const CppCommon::Timespan &  timeout 
)
virtual

Receive text from the given endpoint with timeout (synchronous)

Parameters
endpoint- Endpoint to receive from
size- Text size to receive
timeout- Timeout
Returns
Received text

Definition at line 523 of file udp_server.cpp.

◆ Receive() [3/4]

size_t CppServer::Asio::UDPServer::Receive ( asio::ip::udp::endpoint &  endpoint,
void *  buffer,
size_t  size 
)
virtual

Receive datagram from the given endpoint (synchronous)

Parameters
endpoint- Endpoint to receive from
buffer- Datagram buffer to receive
size- Datagram buffer size to receive
Returns
Size of received datagram

Definition at line 428 of file udp_server.cpp.

◆ Receive() [4/4]

size_t CppServer::Asio::UDPServer::Receive ( asio::ip::udp::endpoint &  endpoint,
void *  buffer,
size_t  size,
const CppCommon::Timespan &  timeout 
)
virtual

Receive datagram from the given endpoint with timeout (synchronous)

Parameters
endpoint- Endpoint to receive from
buffer- Datagram buffer to receive
size- Datagram buffer size to receive
timeout- Timeout
Returns
Size of received datagram

Definition at line 466 of file udp_server.cpp.

◆ ReceiveAsync()

void CppServer::Asio::UDPServer::ReceiveAsync ( )
virtual

Receive datagram from the client (asynchronous)

Examples
udp_echo_server.cpp.

Definition at line 530 of file udp_server.cpp.

◆ Restart()

bool CppServer::Asio::UDPServer::Restart ( )
virtual

Restart the server.

Returns
'true' if the server was successfully restarted, 'false' if the server failed to restart

Definition at line 226 of file udp_server.cpp.

◆ Send() [1/4]

size_t CppServer::Asio::UDPServer::Send ( const asio::ip::udp::endpoint &  endpoint,
const void *  buffer,
size_t  size 
)
virtual

Send datagram into the given endpoint (synchronous)

Parameters
endpoint- Endpoint to send
buffer- Datagram buffer to send
size- Datagram buffer size
Returns
Size of sent datagram

Definition at line 255 of file udp_server.cpp.

◆ Send() [2/4]

size_t CppServer::Asio::UDPServer::Send ( const asio::ip::udp::endpoint &  endpoint,
const void *  buffer,
size_t  size,
const CppCommon::Timespan &  timeout 
)
virtual

Send datagram into the given endpoint with timeout (synchronous)

Parameters
endpoint- Endpoint to send
buffer- Datagram buffer to send
size- Datagram buffer size
timeout- Timeout
Returns
Size of sent datagram

Definition at line 288 of file udp_server.cpp.

◆ Send() [3/4]

virtual size_t CppServer::Asio::UDPServer::Send ( const asio::ip::udp::endpoint &  endpoint,
std::string_view  text 
)
inlinevirtual

Send text into the given endpoint (synchronous)

Parameters
endpoint- Endpoint to send
text- Text to send
Returns
Size of sent datagram

Definition at line 190 of file udp_server.h.

◆ Send() [4/4]

virtual size_t CppServer::Asio::UDPServer::Send ( const asio::ip::udp::endpoint &  endpoint,
std::string_view  text,
const CppCommon::Timespan &  timeout 
)
inlinevirtual

Send text into the given endpoint with timeout (synchronous)

Parameters
endpoint- Endpoint to send
text- Text to send
timeout- Timeout
Returns
Size of sent datagram

Definition at line 208 of file udp_server.h.

◆ SendAsync() [1/2]

bool CppServer::Asio::UDPServer::SendAsync ( const asio::ip::udp::endpoint &  endpoint,
const void *  buffer,
size_t  size 
)
virtual

Send datagram into the given endpoint (asynchronous)

Parameters
endpoint- Endpoint to send
buffer- Datagram buffer to send
size- Datagram buffer size
Returns
'true' if the datagram was successfully sent, 'false' if the datagram was not sent
Examples
udp_echo_server.cpp.

Definition at line 349 of file udp_server.cpp.

◆ SendAsync() [2/2]

virtual bool CppServer::Asio::UDPServer::SendAsync ( const asio::ip::udp::endpoint &  endpoint,
std::string_view  text 
)
inlinevirtual

Send text into the given endpoint (asynchronous)

Parameters
endpoint- Endpoint to send
text- Text to send
Returns
'true' if the text was successfully sent, 'false' if the text was not sent

Definition at line 224 of file udp_server.h.

◆ service()

std::shared_ptr<Service>& CppServer::Asio::UDPServer::service ( )
inlinenoexcept

Get the Asio service.

Definition at line 59 of file udp_server.h.

◆ SetupReceiveBufferLimit()

void CppServer::Asio::UDPServer::SetupReceiveBufferLimit ( size_t  limit)
inlinenoexcept

Setup option: receive buffer limit.

The receive operation will fail if the receive buffer limit is met. Default is unlimited.

Parameters
limit- Receive buffer limit

Definition at line 284 of file udp_server.h.

◆ SetupReceiveBufferSize()

void CppServer::Asio::UDPServer::SetupReceiveBufferSize ( size_t  size)

Setup option: receive buffer size.

This option will setup SO_RCVBUF if the OS support this feature.

Parameters
size- Receive buffer size

Definition at line 115 of file udp_server.cpp.

◆ SetupReuseAddress()

void CppServer::Asio::UDPServer::SetupReuseAddress ( bool  enable)
inlinenoexcept

Setup option: reuse address.

This option will enable/disable SO_REUSEADDR if the OS support this feature.

Parameters
enable- Enable/disable option

Definition at line 269 of file udp_server.h.

◆ SetupReusePort()

void CppServer::Asio::UDPServer::SetupReusePort ( bool  enable)
inlinenoexcept

Setup option: reuse port.

This option will enable/disable SO_REUSEPORT if the OS support this feature.

Parameters
enable- Enable/disable option

Definition at line 276 of file udp_server.h.

◆ SetupSendBufferLimit()

void CppServer::Asio::UDPServer::SetupSendBufferLimit ( size_t  limit)
inlinenoexcept

Setup option: send buffer limit.

The send operation will fail if the send buffer limit is met. Default is unlimited.

Parameters
limit- Send buffer limit

Definition at line 299 of file udp_server.h.

◆ SetupSendBufferSize()

void CppServer::Asio::UDPServer::SetupSendBufferSize ( size_t  size)

Setup option: send buffer size.

This option will setup SO_SNDBUF if the OS support this feature.

Parameters
size- Send buffer size

Definition at line 121 of file udp_server.cpp.

◆ Start() [1/3]

bool CppServer::Asio::UDPServer::Start ( )
virtual

Start the server.

Returns
'true' if the server was successfully started, 'false' if the server failed to start

Definition at line 127 of file udp_server.cpp.

◆ Start() [2/3]

bool CppServer::Asio::UDPServer::Start ( const asio::ip::udp::endpoint &  multicast_endpoint)
virtual

Start the server with a given multicast endpoint.

Parameters
multicast_endpoint- Multicast UDP endpoint
Returns
'true' if the server was successfully started, 'false' if the server failed to start

Definition at line 183 of file udp_server.cpp.

◆ Start() [3/3]

bool CppServer::Asio::UDPServer::Start ( const std::string &  multicast_address,
int  multicast_port 
)
virtual

Start the server with a given multicast address and port number.

Parameters
multicast_address- Multicast address
multicast_port- Multicast port number
Returns
'true' if the server was successfully started, 'false' if the server failed to start

Definition at line 177 of file udp_server.cpp.

◆ Stop()

bool CppServer::Asio::UDPServer::Stop ( )
virtual

Stop the server.

Returns
'true' if the server was successfully stopped, 'false' if the server is already stopped

Definition at line 189 of file udp_server.cpp.

◆ strand()

asio::io_service::strand& CppServer::Asio::UDPServer::strand ( )
inlinenoexcept

Get the Asio service strand for serialized handler execution.

Definition at line 63 of file udp_server.h.


The documentation for this class was generated from the following files: