OpenVPN 3 Core Library
Loading...
Searching...
No Matches
openvpn::DCOTransport::Client Class Referenceabstract

#include <dcocli.hpp>

Inheritance diagram for openvpn::DCOTransport::Client:
[legend]
Collaboration diagram for openvpn::DCOTransport::Client:
[legend]

Public Member Functions

bool transport_send_queue_empty () override
 
bool transport_has_send_queue () override
 
size_t transport_send_queue_size () override
 
void reset_align_adjust (const size_t align_adjust) override
 
void transport_stop_requeueing () override
 
void server_endpoint_info (std::string &host, std::string &port, std::string &proto, std::string &ip_addr) const override
 
void stop () override
 
void set_disconnect () override
 
bool tun_send (BufferAllocated &buf) override
 
std::string vpn_ip4 () const override
 
std::string vpn_ip6 () const override
 
std::string vpn_gw4 () const override
 
std::string vpn_gw6 () const override
 
int vpn_mtu () const override
 
- Public Member Functions inherited from openvpn::TransportClient
virtual void transport_start ()=0
 
virtual bool transport_send_const (const Buffer &buf)=0
 
virtual bool transport_send (BufferAllocated &buf)=0
 
virtual IP::Addr server_endpoint_addr () const =0
 
virtual unsigned short server_endpoint_port () const
 
virtual openvpn_io::detail::socket_type native_handle ()
 
virtual Protocol transport_protocol () const =0
 
- 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.
 
- Public Member Functions inherited from openvpn::TunClient
virtual void tun_start (const OptionList &, TransportClient &, CryptoDCSettings &)=0
 
virtual std::string tun_name () const =0
 
virtual void adjust_mss (int mss)
 
virtual void apply_push_update (const OptionList &opt, TransportClient &cli)
 Notifies tun client about received PUSH_UPDATE control channel message.
 
virtual std::uint32_t vpn_interface_index () const
 
- Public Member Functions inherited from openvpn::AsyncResolvable< RESOLVER_TYPE >
 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 ()
 

Protected Member Functions

 Client (openvpn_io::io_context &io_context_arg, ClientConfig *config_arg, TransportClientParent *parent_arg)
 
void transport_reparent (TransportClientParent *parent_arg) override
 
virtual void stop_ ()=0
 

Protected Attributes

openvpn_io::io_context & io_context
 
bool halt
 
TunProp::State::Ptr state
 
ClientConfig::Ptr config
 
TransportClientParenttransport_parent
 
TunClientParenttun_parent
 
ActionList::Ptr remove_cmds
 
std::string server_host
 
std::string server_port
 
uint32_t peer_id
 

Private Types

typedef RCPtr< ClientPtr
 

Friends

class ClientConfig
 

Additional Inherited Members

- Public Types inherited from openvpn::TransportClient
typedef RCPtr< TransportClientPtr
 
- Public Types inherited from openvpn::RC< thread_unsafe_refcount >
typedef RCPtr< RCPtr
 
- Public Types inherited from openvpn::TunClient
typedef RCPtr< TunClientPtr
 
- Public Types inherited from openvpn::AsyncResolvable< RESOLVER_TYPE >
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
 
- 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 146 of file dcocli.hpp.

Member Typedef Documentation

◆ Ptr

Definition at line 152 of file dcocli.hpp.

Constructor & Destructor Documentation

◆ Client()

openvpn::DCOTransport::Client::Client ( openvpn_io::io_context &  io_context_arg,
ClientConfig config_arg,
TransportClientParent parent_arg 
)
inlineprotected

Definition at line 247 of file dcocli.hpp.

Member Function Documentation

◆ reset_align_adjust()

void openvpn::DCOTransport::Client::reset_align_adjust ( const size_t  align_adjust)
inlineoverridevirtual

Implements openvpn::TransportClient.

Definition at line 172 of file dcocli.hpp.

◆ server_endpoint_info()

void openvpn::DCOTransport::Client::server_endpoint_info ( std::string &  host,
std::string &  port,
std::string &  proto,
std::string &  ip_addr 
) const
inlineoverridevirtual

Implements openvpn::TransportClient.

Definition at line 180 of file dcocli.hpp.

◆ set_disconnect()

void openvpn::DCOTransport::Client::set_disconnect ( )
inlineoverridevirtual

Implements openvpn::TunClient.

Definition at line 200 of file dcocli.hpp.

◆ stop()

void openvpn::DCOTransport::Client::stop ( )
inlineoverridevirtual

Implements openvpn::TransportClient.

Definition at line 193 of file dcocli.hpp.

◆ stop_()

virtual void openvpn::DCOTransport::Client::stop_ ( )
protectedpure virtual
Here is the caller graph for this function:

◆ transport_has_send_queue()

bool openvpn::DCOTransport::Client::transport_has_send_queue ( )
inlineoverridevirtual

Implements openvpn::TransportClient.

Definition at line 162 of file dcocli.hpp.

◆ transport_reparent()

void openvpn::DCOTransport::Client::transport_reparent ( TransportClientParent parent_arg)
inlineoverrideprotectedvirtual

Implements openvpn::TransportClient.

Definition at line 257 of file dcocli.hpp.

◆ transport_send_queue_empty()

bool openvpn::DCOTransport::Client::transport_send_queue_empty ( )
inlineoverridevirtual

Implements openvpn::TransportClient.

Definition at line 157 of file dcocli.hpp.

◆ transport_send_queue_size()

size_t openvpn::DCOTransport::Client::transport_send_queue_size ( )
inlineoverridevirtual

Implements openvpn::TransportClient.

Definition at line 167 of file dcocli.hpp.

◆ transport_stop_requeueing()

void openvpn::DCOTransport::Client::transport_stop_requeueing ( )
inlineoverridevirtual

Implements openvpn::TransportClient.

Definition at line 176 of file dcocli.hpp.

◆ tun_send()

bool openvpn::DCOTransport::Client::tun_send ( BufferAllocated buf)
inlineoverridevirtual

Implements openvpn::TunClient.

Definition at line 204 of file dcocli.hpp.

◆ vpn_gw4()

std::string openvpn::DCOTransport::Client::vpn_gw4 ( ) const
inlineoverridevirtual

Reimplemented from openvpn::TunClient.

Definition at line 225 of file dcocli.hpp.

◆ vpn_gw6()

std::string openvpn::DCOTransport::Client::vpn_gw6 ( ) const
inlineoverridevirtual

Reimplemented from openvpn::TunClient.

Definition at line 233 of file dcocli.hpp.

◆ vpn_ip4()

std::string openvpn::DCOTransport::Client::vpn_ip4 ( ) const
inlineoverridevirtual

Implements openvpn::TunClient.

Definition at line 209 of file dcocli.hpp.

◆ vpn_ip6()

std::string openvpn::DCOTransport::Client::vpn_ip6 ( ) const
inlineoverridevirtual

Implements openvpn::TunClient.

Definition at line 217 of file dcocli.hpp.

◆ vpn_mtu()

int openvpn::DCOTransport::Client::vpn_mtu ( ) const
inlineoverridevirtual

Implements openvpn::TunClient.

Definition at line 241 of file dcocli.hpp.

Friends And Related Symbol Documentation

◆ ClientConfig

friend class ClientConfig
friend

Definition at line 150 of file dcocli.hpp.

Member Data Documentation

◆ config

ClientConfig::Ptr openvpn::DCOTransport::Client::config
protected

Definition at line 269 of file dcocli.hpp.

◆ halt

bool openvpn::DCOTransport::Client::halt
protected

Definition at line 265 of file dcocli.hpp.

◆ io_context

openvpn_io::io_context& openvpn::DCOTransport::Client::io_context
protected

Definition at line 264 of file dcocli.hpp.

◆ peer_id

uint32_t openvpn::DCOTransport::Client::peer_id
protected

Definition at line 278 of file dcocli.hpp.

◆ remove_cmds

ActionList::Ptr openvpn::DCOTransport::Client::remove_cmds
protected

Definition at line 273 of file dcocli.hpp.

◆ server_host

std::string openvpn::DCOTransport::Client::server_host
protected

Definition at line 275 of file dcocli.hpp.

◆ server_port

std::string openvpn::DCOTransport::Client::server_port
protected

Definition at line 276 of file dcocli.hpp.

◆ state

TunProp::State::Ptr openvpn::DCOTransport::Client::state
protected

Definition at line 267 of file dcocli.hpp.

◆ transport_parent

TransportClientParent* openvpn::DCOTransport::Client::transport_parent
protected

Definition at line 270 of file dcocli.hpp.

◆ tun_parent

TunClientParent* openvpn::DCOTransport::Client::tun_parent
protected

Definition at line 271 of file dcocli.hpp.


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