Monero
Public Member Functions | Private Member Functions | Private Attributes | List of all members
epee::net_utils::async_blocked_mode_client Class Reference

#include <net_helper.h>

Inheritance diagram for epee::net_utils::async_blocked_mode_client:
Inheritance graph
[legend]
Collaboration diagram for epee::net_utils::async_blocked_mode_client:
Collaboration graph
[legend]

Public Member Functions

 async_blocked_mode_client ()
 
 ~async_blocked_mode_client ()
 
bool shutdown ()
 
bool send (const void *data, size_t sz)
 
- Public Member Functions inherited from epee::net_utils::blocked_mode_client
 blocked_mode_client ()
 
 ~blocked_mode_client ()
 
void set_ssl (ssl_options_t ssl_options)
 
bool connect (const std::string &addr, int port, std::chrono::milliseconds timeout)
 
try_connect_result_t try_connect (const std::string &addr, const std::string &port, std::chrono::milliseconds timeout)
 
bool connect (const std::string &addr, const std::string &port, std::chrono::milliseconds timeout)
 
void set_connector (std::function< connect_func > connector)
 Change the connection routine (proxy, etc.) More...
 
bool disconnect ()
 
bool send (const boost::string_ref buff, std::chrono::milliseconds timeout)
 
bool send (const void *data, size_t sz)
 
bool is_connected (bool *ssl=NULL)
 
bool recv (std::string &buff, std::chrono::milliseconds timeout)
 
bool recv_n (std::string &buff, int64_t sz, std::chrono::milliseconds timeout)
 
bool shutdown ()
 
boost::asio::io_serviceget_io_service ()
 
boost::asio::ip::tcp::socket & get_socket ()
 
uint64_t get_bytes_sent () const
 
uint64_t get_bytes_received () const
 

Private Member Functions

void check_send_deadline ()
 

Private Attributes

boost::asio::deadline_timer m_send_deadline
 

Additional Inherited Members

- Public Types inherited from epee::net_utils::blocked_mode_client
using connect_func = boost::unique_future< boost::asio::ip::tcp::socket >(const std::string &, const std::string &, boost::asio::steady_timer &)
 
- Protected Member Functions inherited from epee::net_utils::blocked_mode_client
bool write (const void *data, size_t sz, boost::system::error_code &ec)
 
void async_write (const void *data, size_t sz, boost::system::error_code &ec)
 
void async_read (char *buff, size_t sz, boost::asio::detail::transfer_at_least_t transfer_at_least, handler_obj &hndlr)
 
- Protected Attributes inherited from epee::net_utils::blocked_mode_client
boost::asio::io_service m_io_service
 
boost::asio::ssl::context m_ctx
 
std::shared_ptr< boost::asio::ssl::stream< boost::asio::ip::tcp::socket > > m_ssl_socket
 
std::function< connect_funcm_connector
 
ssl_options_t m_ssl_options
 
bool m_initialized
 
bool m_connected
 
boost::asio::steady_timer m_deadline
 
std::atomic< boolm_shutdowned
 
std::atomic< uint64_tm_bytes_sent
 
std::atomic< uint64_tm_bytes_received
 

Constructor & Destructor Documentation

◆ async_blocked_mode_client()

epee::net_utils::async_blocked_mode_client::async_blocked_mode_client ( )
inline

◆ ~async_blocked_mode_client()

epee::net_utils::async_blocked_mode_client::~async_blocked_mode_client ( )
inline

Member Function Documentation

◆ check_send_deadline()

void epee::net_utils::async_blocked_mode_client::check_send_deadline ( )
inlineprivate

◆ send()

bool epee::net_utils::async_blocked_mode_client::send ( const void *  data,
size_t  sz 
)
inline

◆ shutdown()

bool epee::net_utils::async_blocked_mode_client::shutdown ( )
inline

Member Data Documentation

◆ m_send_deadline

boost::asio::deadline_timer epee::net_utils::async_blocked_mode_client::m_send_deadline
private

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