OpenVPN 3 Core Library
Loading...
Searching...
No Matches
openvpn::WS::ClientSet Class Reference

#include <httpcliset.hpp>

Inheritance diagram for openvpn::WS::ClientSet:
[legend]
Collaboration diagram for openvpn::WS::ClientSet:
[legend]

Classes

class  Client
 
struct  ErrorRecovery
 
class  HostRetry
 
class  HTTPStateContainer
 
class  HTTPStateContainerAutoStop
 
struct  SyncPersistState
 
struct  Transaction
 
class  TransactionSet
 

Public Types

typedef RCPtr< ClientSetPtr
 
typedef WS::Client::HTTPDelegate< ClientHTTPDelegate
 
- Public Types inherited from openvpn::RC< thread_unsafe_refcount >
typedef RCPtr< RCPtr
 

Public Member Functions

 ClientSet (openvpn_io::io_context &io_context_arg)
 
void set_random (RandomAPI::Ptr prng_arg)
 
void new_request (const TransactionSet::Ptr ts)
 
void stop ()
 
void abort (const std::string &message)
 
- 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.
 

Static Public Member Functions

static void new_request_synchronous (const TransactionSet::Ptr ts, Stop *stop=nullptr, RandomAPI *prng=nullptr, const bool sps=false)
 
static void run_synchronous (Function< void(ClientSet::Ptr)> job, Stop *stop=nullptr, RandomAPI *prng=nullptr)
 
- 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.
 

Private Types

typedef unsigned int client_t
 

Private Member Functions

void remove_client_id (const client_t client_id)
 
client_t new_client_id ()
 

Private Attributes

openvpn_io::io_context & io_context
 
bool halt
 
client_t next_id
 
RandomAPI::Ptr prng
 
std::map< client_t, Client::Ptrclients
 

Detailed Description

Definition at line 44 of file httpcliset.hpp.

Member Typedef Documentation

◆ client_t

typedef unsigned int openvpn::WS::ClientSet::client_t
private

Definition at line 624 of file httpcliset.hpp.

◆ HTTPDelegate

◆ Ptr

Definition at line 49 of file httpcliset.hpp.

Constructor & Destructor Documentation

◆ ClientSet()

openvpn::WS::ClientSet::ClientSet ( openvpn_io::io_context &  io_context_arg)
inline

Definition at line 488 of file httpcliset.hpp.

Member Function Documentation

◆ abort()

void openvpn::WS::ClientSet::abort ( const std::string &  message)
inline

Definition at line 617 of file httpcliset.hpp.

◆ new_client_id()

client_t openvpn::WS::ClientSet::new_client_id ( )
inlineprivate

Definition at line 1004 of file httpcliset.hpp.

Here is the caller graph for this function:

◆ new_request()

void openvpn::WS::ClientSet::new_request ( const TransactionSet::Ptr  ts)
inline

Definition at line 500 of file httpcliset.hpp.

◆ new_request_synchronous()

static void openvpn::WS::ClientSet::new_request_synchronous ( const TransactionSet::Ptr  ts,
Stop stop = nullptr,
RandomAPI prng = nullptr,
const bool  sps = false 
)
inlinestatic

Definition at line 508 of file httpcliset.hpp.

Here is the caller graph for this function:

◆ remove_client_id()

void openvpn::WS::ClientSet::remove_client_id ( const client_t  client_id)
inlineprivate

Definition at line 997 of file httpcliset.hpp.

◆ run_synchronous()

static void openvpn::WS::ClientSet::run_synchronous ( Function< void(ClientSet::Ptr)>  job,
Stop stop = nullptr,
RandomAPI prng = nullptr 
)
inlinestatic

Definition at line 579 of file httpcliset.hpp.

◆ set_random()

void openvpn::WS::ClientSet::set_random ( RandomAPI::Ptr  prng_arg)
inline

Definition at line 495 of file httpcliset.hpp.

◆ stop()

void openvpn::WS::ClientSet::stop ( )
inline

Definition at line 605 of file httpcliset.hpp.

Here is the caller graph for this function:

Member Data Documentation

◆ clients

std::map<client_t, Client::Ptr> openvpn::WS::ClientSet::clients
private

Definition at line 1019 of file httpcliset.hpp.

◆ halt

bool openvpn::WS::ClientSet::halt
private

Definition at line 1016 of file httpcliset.hpp.

◆ io_context

openvpn_io::io_context& openvpn::WS::ClientSet::io_context
private

Definition at line 1015 of file httpcliset.hpp.

◆ next_id

client_t openvpn::WS::ClientSet::next_id
private

Definition at line 1017 of file httpcliset.hpp.

◆ prng

RandomAPI::Ptr openvpn::WS::ClientSet::prng
private

Definition at line 1018 of file httpcliset.hpp.


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