OpenVPN 3 Core Library
Loading...
Searching...
No Matches
openvpn::AsioPolySock::Base Class Referenceabstract

#include <asiopolysock.hpp>

Inheritance diagram for openvpn::AsioPolySock::Base:
[legend]
Collaboration diagram for openvpn::AsioPolySock::Base:
[legend]

Public Types

typedef RCPtr< BasePtr
 
- Public Types inherited from openvpn::RC< thread_unsafe_refcount >
typedef RCPtr< RCPtr
 

Public Member Functions

virtual void async_send (const openvpn_io::const_buffer &buf, Function< void(const openvpn_io::error_code &, const size_t)> &&callback)=0
 
virtual void async_receive (const openvpn_io::mutable_buffer &buf, Function< void(const openvpn_io::error_code &, const size_t)> &&callback)=0
 
virtual std::string remote_endpoint_str () const =0
 
virtual bool remote_ip_port (IP::Addr &addr, unsigned int &port) const =0
 
virtual void non_blocking (const bool state)=0
 
virtual void close ()=0
 
virtual void shutdown (const unsigned int flags)
 
virtual void tcp_nodelay ()
 
virtual void set_cloexec ()
 
virtual openvpn_io::detail::socket_type native_handle ()
 
virtual bool is_open () const =0
 
virtual bool is_local () const =0
 
size_t index () const
 
- 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.
 

Protected Member Functions

 Base (const size_t index)
 

Private Attributes

size_t index_
 

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

Definition at line 47 of file asiopolysock.hpp.

Member Typedef Documentation

◆ Ptr

Definition at line 50 of file asiopolysock.hpp.

Constructor & Destructor Documentation

◆ Base()

openvpn::AsioPolySock::Base::Base ( const size_t  index)
inlineprotected

Definition at line 104 of file asiopolysock.hpp.

Member Function Documentation

◆ async_receive()

virtual void openvpn::AsioPolySock::Base::async_receive ( const openvpn_io::mutable_buffer &  buf,
Function< void(const openvpn_io::error_code &, const size_t)> &&  callback 
)
pure virtual

Implemented in openvpn::AsioPolySock::TCP.

◆ async_send()

virtual void openvpn::AsioPolySock::Base::async_send ( const openvpn_io::const_buffer &  buf,
Function< void(const openvpn_io::error_code &, const size_t)> &&  callback 
)
pure virtual

Implemented in openvpn::AsioPolySock::TCP.

◆ close()

virtual void openvpn::AsioPolySock::Base::close ( )
pure virtual

Implemented in openvpn::AsioPolySock::TCP.

◆ index()

size_t openvpn::AsioPolySock::Base::index ( ) const
inline

Definition at line 98 of file asiopolysock.hpp.

◆ is_local()

virtual bool openvpn::AsioPolySock::Base::is_local ( ) const
pure virtual

Implemented in openvpn::AsioPolySock::TCP.

◆ is_open()

virtual bool openvpn::AsioPolySock::Base::is_open ( ) const
pure virtual

Implemented in openvpn::AsioPolySock::TCP.

◆ native_handle()

virtual openvpn_io::detail::socket_type openvpn::AsioPolySock::Base::native_handle ( )
inlinevirtual

Reimplemented in openvpn::AsioPolySock::TCP.

Definition at line 76 of file asiopolysock.hpp.

◆ non_blocking()

virtual void openvpn::AsioPolySock::Base::non_blocking ( const bool  state)
pure virtual

Implemented in openvpn::AsioPolySock::TCP.

◆ remote_endpoint_str()

virtual std::string openvpn::AsioPolySock::Base::remote_endpoint_str ( ) const
pure virtual

Implemented in openvpn::AsioPolySock::TCP.

◆ remote_ip_port()

virtual bool openvpn::AsioPolySock::Base::remote_ip_port ( IP::Addr addr,
unsigned int &  port 
) const
pure virtual

Implemented in openvpn::AsioPolySock::TCP.

◆ set_cloexec()

virtual void openvpn::AsioPolySock::Base::set_cloexec ( )
inlinevirtual

Reimplemented in openvpn::AsioPolySock::TCP.

Definition at line 72 of file asiopolysock.hpp.

◆ shutdown()

virtual void openvpn::AsioPolySock::Base::shutdown ( const unsigned int  flags)
inlinevirtual

Reimplemented in openvpn::AsioPolySock::TCP.

Definition at line 65 of file asiopolysock.hpp.

◆ tcp_nodelay()

virtual void openvpn::AsioPolySock::Base::tcp_nodelay ( )
inlinevirtual

Reimplemented in openvpn::AsioPolySock::TCP.

Definition at line 69 of file asiopolysock.hpp.

Member Data Documentation

◆ index_

size_t openvpn::AsioPolySock::Base::index_
private

Definition at line 110 of file asiopolysock.hpp.


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