OpenVPN 3 Core Library
Loading...
Searching...
No Matches
openvpn::AsyncResolvable< RESOLVER_TYPE > Class Template Referenceabstract

#include <asio.hpp>

Inheritance diagram for openvpn::AsyncResolvable< RESOLVER_TYPE >:
[legend]
Collaboration diagram for openvpn::AsyncResolvable< RESOLVER_TYPE >:
[legend]

Classes

class  ResolveThread
 

Public Types

using resolver_type = RESOLVER_TYPE
 
using results_type = typename RESOLVER_TYPE::results_type
 
using resolver_type = RESOLVER_TYPE
 
using results_type = typename RESOLVER_TYPE::results_type
 
- Public Types inherited from openvpn::RC< thread_unsafe_refcount >
typedef RCPtr< RCPtr
 

Public Member Functions

 AsyncResolvable (openvpn_io::io_context &io_context_arg)
 
virtual ~AsyncResolvable ()
 
virtual void resolve_callback (const openvpn_io::error_code &error, results_type results)=0
 
virtual void async_resolve_name (const std::string &host, const std::string &port)
 
void async_resolve_lock ()
 
void async_resolve_cancel ()
 
 AsyncResolvable (openvpn_io::io_context &io_context_arg)
 
virtual void resolve_callback (const openvpn_io::error_code &error, results_type results)=0
 
virtual void async_resolve_name (const std::string &host, const std::string &port)
 
void async_resolve_lock ()
 
void async_resolve_cancel ()
 
- Public Member Functions inherited from openvpn::RC< thread_unsafe_refcount >
 RC () noexcept=default
 
 RC (const RC &)=delete
 
virtual ~RC ()=default
 
RCoperator= (const RC &)=delete
 
olong use_count () const noexcept
 Delegates call to RCImpl and returns the result.
 

Private Types

typedef RCPtr< AsyncResolvablePtr
 
typedef RCPtr< AsyncResolvablePtr
 

Private Attributes

openvpn_io::io_context & io_context
 
std::unique_ptr< AsioWorkasio_work
 
ResolveThread::Ptr resolve_thread
 
RESOLVER_TYPE resolver
 

Additional Inherited Members

- Static Public Member Functions inherited from openvpn::RC< thread_unsafe_refcount >
static constexpr bool is_thread_safe ()
 Delegates call to RCImpl and returns the result.
 

Detailed Description

template<typename RESOLVER_TYPE>
class openvpn::AsyncResolvable< RESOLVER_TYPE >

Definition at line 25 of file asio.hpp.

Member Typedef Documentation

◆ Ptr [1/2]

template<typename RESOLVER_TYPE >
typedef RCPtr<AsyncResolvable> openvpn::AsyncResolvable< RESOLVER_TYPE >::Ptr
private

Definition at line 28 of file asio.hpp.

◆ Ptr [2/2]

template<typename RESOLVER_TYPE >
typedef RCPtr<AsyncResolvable> openvpn::AsyncResolvable< RESOLVER_TYPE >::Ptr
private

Definition at line 25 of file generic.hpp.

◆ resolver_type [1/2]

template<typename RESOLVER_TYPE >
using openvpn::AsyncResolvable< RESOLVER_TYPE >::resolver_type = RESOLVER_TYPE

Definition at line 96 of file asio.hpp.

◆ resolver_type [2/2]

template<typename RESOLVER_TYPE >
using openvpn::AsyncResolvable< RESOLVER_TYPE >::resolver_type = RESOLVER_TYPE

Definition at line 31 of file generic.hpp.

◆ results_type [1/2]

template<typename RESOLVER_TYPE >
using openvpn::AsyncResolvable< RESOLVER_TYPE >::results_type = typename RESOLVER_TYPE::results_type

Definition at line 97 of file asio.hpp.

◆ results_type [2/2]

template<typename RESOLVER_TYPE >
using openvpn::AsyncResolvable< RESOLVER_TYPE >::results_type = typename RESOLVER_TYPE::results_type

Definition at line 32 of file generic.hpp.

Constructor & Destructor Documentation

◆ AsyncResolvable() [1/2]

template<typename RESOLVER_TYPE >
openvpn::AsyncResolvable< RESOLVER_TYPE >::AsyncResolvable ( openvpn_io::io_context &  io_context_arg)
inline

Definition at line 99 of file asio.hpp.

◆ ~AsyncResolvable()

template<typename RESOLVER_TYPE >
virtual openvpn::AsyncResolvable< RESOLVER_TYPE >::~AsyncResolvable ( )
inlinevirtual

Definition at line 104 of file asio.hpp.

◆ AsyncResolvable() [2/2]

template<typename RESOLVER_TYPE >
openvpn::AsyncResolvable< RESOLVER_TYPE >::AsyncResolvable ( openvpn_io::io_context &  io_context_arg)
inline

Definition at line 34 of file generic.hpp.

Member Function Documentation

◆ async_resolve_cancel() [1/2]

template<typename RESOLVER_TYPE >
void openvpn::AsyncResolvable< RESOLVER_TYPE >::async_resolve_cancel ( )
inline

Definition at line 142 of file asio.hpp.

Here is the caller graph for this function:

◆ async_resolve_cancel() [2/2]

template<typename RESOLVER_TYPE >
void openvpn::AsyncResolvable< RESOLVER_TYPE >::async_resolve_cancel ( )
inline

Definition at line 65 of file generic.hpp.

◆ async_resolve_lock() [1/2]

template<typename RESOLVER_TYPE >
void openvpn::AsyncResolvable< RESOLVER_TYPE >::async_resolve_lock ( )
inline

Definition at line 134 of file asio.hpp.

Here is the caller graph for this function:

◆ async_resolve_lock() [2/2]

template<typename RESOLVER_TYPE >
void openvpn::AsyncResolvable< RESOLVER_TYPE >::async_resolve_lock ( )
inline

Definition at line 61 of file generic.hpp.

◆ async_resolve_name() [1/2]

template<typename RESOLVER_TYPE >
virtual void openvpn::AsyncResolvable< RESOLVER_TYPE >::async_resolve_name ( const std::string &  host,
const std::string &  port 
)
inlinevirtual

Definition at line 125 of file asio.hpp.

Here is the caller graph for this function:

◆ async_resolve_name() [2/2]

template<typename RESOLVER_TYPE >
virtual void openvpn::AsyncResolvable< RESOLVER_TYPE >::async_resolve_name ( const std::string &  host,
const std::string &  port 
)
inlinevirtual

Definition at line 50 of file generic.hpp.

◆ resolve_callback() [1/2]

template<typename RESOLVER_TYPE >
virtual void openvpn::AsyncResolvable< RESOLVER_TYPE >::resolve_callback ( const openvpn_io::error_code &  error,
results_type  results 
)
pure virtual

◆ resolve_callback() [2/2]

template<typename RESOLVER_TYPE >
virtual void openvpn::AsyncResolvable< RESOLVER_TYPE >::resolve_callback ( const openvpn_io::error_code &  error,
results_type  results 
)
pure virtual

Member Data Documentation

◆ asio_work

template<typename RESOLVER_TYPE >
std::unique_ptr<AsioWork> openvpn::AsyncResolvable< RESOLVER_TYPE >::asio_work
private

Definition at line 92 of file asio.hpp.

◆ io_context

template<typename RESOLVER_TYPE >
openvpn_io::io_context & openvpn::AsyncResolvable< RESOLVER_TYPE >::io_context
private

Definition at line 91 of file asio.hpp.

◆ resolve_thread

template<typename RESOLVER_TYPE >
ResolveThread::Ptr openvpn::AsyncResolvable< RESOLVER_TYPE >::resolve_thread
private

Definition at line 93 of file asio.hpp.

◆ resolver

template<typename RESOLVER_TYPE >
RESOLVER_TYPE openvpn::AsyncResolvable< RESOLVER_TYPE >::resolver
private

Definition at line 28 of file generic.hpp.


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