unilink  0.4.3
A simple C++ library for unified async communication
unilink::wrapper::Udp::Impl Struct Reference

Public Member Functions

 Impl (const config::UdpConfig &config)
 
 Impl (const config::UdpConfig &config, std::shared_ptr< boost::asio::io_context > ioc)
 
 Impl (std::shared_ptr< interface::Channel > ch)
 
 ~Impl ()
 
std::future< bool > start ()
 
void stop ()
 
void setup_internal_handlers ()
 

Public Attributes

config::UdpConfig cfg
 
std::shared_ptr< interface::Channelchannel
 
std::shared_ptr< boost::asio::io_context > external_ioc
 
bool use_external_context {false}
 
bool manage_external_context {false}
 
std::thread external_thread
 
std::promise< bool > start_promise_
 
bool start_promise_fulfilled_ {false}
 
MessageHandler data_handler {nullptr}
 
ConnectionHandler connect_handler {nullptr}
 
ConnectionHandler disconnect_handler {nullptr}
 
ErrorHandler error_handler {nullptr}
 
bool auto_manage {false}
 
bool started {false}
 

Detailed Description

Definition at line 37 of file udp.cc.

Constructor & Destructor Documentation

◆ Impl() [1/3]

unilink::wrapper::Udp::Impl::Impl ( const config::UdpConfig config)
inlineexplicit

Definition at line 58 of file udp.cc.

◆ Impl() [2/3]

unilink::wrapper::Udp::Impl::Impl ( const config::UdpConfig config,
std::shared_ptr< boost::asio::io_context >  ioc 
)
inline

Definition at line 59 of file udp.cc.

◆ Impl() [3/3]

unilink::wrapper::Udp::Impl::Impl ( std::shared_ptr< interface::Channel ch)
inlineexplicit

Definition at line 61 of file udp.cc.

◆ ~Impl()

unilink::wrapper::Udp::Impl::~Impl ( )
inline

Definition at line 63 of file udp.cc.

Member Function Documentation

◆ setup_internal_handlers()

void unilink::wrapper::Udp::Impl::setup_internal_handlers ( )
inline

Definition at line 122 of file udp.cc.

◆ start()

std::future<bool> unilink::wrapper::Udp::Impl::start ( )
inline

Definition at line 70 of file udp.cc.

◆ stop()

void unilink::wrapper::Udp::Impl::stop ( )
inline

Definition at line 97 of file udp.cc.

Member Data Documentation

◆ auto_manage

bool unilink::wrapper::Udp::Impl::auto_manage {false}

Definition at line 55 of file udp.cc.

◆ cfg

config::UdpConfig unilink::wrapper::Udp::Impl::cfg

Definition at line 38 of file udp.cc.

◆ channel

std::shared_ptr<interface::Channel> unilink::wrapper::Udp::Impl::channel

Definition at line 39 of file udp.cc.

◆ connect_handler

ConnectionHandler unilink::wrapper::Udp::Impl::connect_handler {nullptr}

Definition at line 51 of file udp.cc.

◆ data_handler

MessageHandler unilink::wrapper::Udp::Impl::data_handler {nullptr}

Definition at line 50 of file udp.cc.

◆ disconnect_handler

ConnectionHandler unilink::wrapper::Udp::Impl::disconnect_handler {nullptr}

Definition at line 52 of file udp.cc.

◆ error_handler

ErrorHandler unilink::wrapper::Udp::Impl::error_handler {nullptr}

Definition at line 53 of file udp.cc.

◆ external_ioc

std::shared_ptr<boost::asio::io_context> unilink::wrapper::Udp::Impl::external_ioc

Definition at line 40 of file udp.cc.

◆ external_thread

std::thread unilink::wrapper::Udp::Impl::external_thread

Definition at line 43 of file udp.cc.

◆ manage_external_context

bool unilink::wrapper::Udp::Impl::manage_external_context {false}

Definition at line 42 of file udp.cc.

◆ start_promise_

std::promise<bool> unilink::wrapper::Udp::Impl::start_promise_

Definition at line 46 of file udp.cc.

◆ start_promise_fulfilled_

bool unilink::wrapper::Udp::Impl::start_promise_fulfilled_ {false}

Definition at line 47 of file udp.cc.

◆ started

bool unilink::wrapper::Udp::Impl::started {false}

Definition at line 56 of file udp.cc.

◆ use_external_context

bool unilink::wrapper::Udp::Impl::use_external_context {false}

Definition at line 41 of file udp.cc.


The documentation for this struct was generated from the following file: