plebble
us::gov::socket::server Struct Referenceabstract

#include <server.h>

Inheritance diagram for us::gov::socket::server:
Collaboration diagram for us::gov::socket::server:

Classes

struct  blacklist
 

Public Types

typedef bgtask b
 
typedef crypto::ec::keys::pub_t pub_t
 

Public Member Functions

 server ()
 
 server (uint16_t port)
 
virtual ~server ()
 
virtual clientcreate_client (int sock)
 
virtual void attach (client *)
 
virtual void attach_noupdate (client *)
 
virtual void detach (client *)
 
virtual void receive_and_process (client *)=0
 
virtual void on_destroy (client &)
 
datagramread_from_client (int sock)
 
int make_socket (uint16_t port)
 
bool banned_throttle (const string &addr)
 
void dump (const string &prefix, ostream &os) const
 
void proc_evil (const vector< pair< uint32_t, string >> &)
 
void run ()
 
void onwakeup ()
 
ko start () override
 
ko wait_ready (const chrono::system_clock::time_point &deadline) const override
 
void stop () override
 
void join () override
 
- Public Member Functions inherited from us::gov::bgtask
 bgtask ()
 
 bgtask (function< void()> run, function< void()> onwakeup)
 
virtual ~bgtask ()
 
void set_run_function (function< void()> r)
 
void wakeup ()
 
bool isup () const
 
bool isdown () const
 
bool resumed () const
 
void run_ ()
 
void reset ()
 
bool reset_wait ()
 
bool reset_resume ()
 
bool is_active () const
 
 bgtask ()
 
 bgtask (callback cb0)
 
void set_callback (callback r)
 
ko wait_ready (Date deadline)
 
boolean reset_wait ()
 
void wakeup ()
 
boolean reset_resume ()
 
boolean isup ()
 
boolean isdown ()
 
boolean resumed ()
 
void reset ()
 
boolean is_active ()
 

Static Public Member Functions

static int set_not_blocking_mode (int sock)
 

Public Attributes

clients_t clients
 
uint16_t port
 
int sock {0}
 
blacklist ban
 
client::queue_t sendq
 

Additional Inherited Members

- Static Public Attributes inherited from us::gov::bgtask
static const char * KO_81021
 
static ko KO_81021 =new ko("KO 81021 Ready status never reached.")
 
- Protected Attributes inherited from us::gov::bgtask
atomic< short > resume {0}
 
thread * th {nullptr}
 
bool active {false}
 
function< void()> run
 
function< void()> onwakeup
 
mutex mx_ready
 
bool ready {false}
 
condition_variable cv_ready
 
AtomicInteger resume =new AtomicInteger(0)
 
Thread th =null
 
boolean active =false
 
callback cb =null
 
ReentrantLock mx_ready = new ReentrantLock()
 
boolean ready =false
 
Condition cv_ready =mx_ready.newCondition()
 

Member Typedef Documentation

◆ b

◆ pub_t

Constructor & Destructor Documentation

◆ server() [1/2]

us::gov::socket::server::server ( )

◆ server() [2/2]

us::gov::socket::server::server ( uint16_t  port)

◆ ~server()

virtual us::gov::socket::server::~server ( )
virtual

Member Function Documentation

◆ attach()

virtual void us::gov::socket::server::attach ( client )
virtual

◆ attach_noupdate()

virtual void us::gov::socket::server::attach_noupdate ( client )
virtual

◆ banned_throttle()

bool us::gov::socket::server::banned_throttle ( const string &  addr)

◆ create_client()

virtual client* us::gov::socket::server::create_client ( int  sock)
virtual

◆ detach()

virtual void us::gov::socket::server::detach ( client )
virtual

◆ dump()

void us::gov::socket::server::dump ( const string &  prefix,
ostream &  os 
) const

◆ join()

void us::gov::socket::server::join ( )
overridevirtual

Reimplemented from us::gov::bgtask.

◆ make_socket()

int us::gov::socket::server::make_socket ( uint16_t  port)

◆ on_destroy()

virtual void us::gov::socket::server::on_destroy ( client )
inlinevirtual

◆ onwakeup()

void us::gov::socket::server::onwakeup ( )

◆ proc_evil()

void us::gov::socket::server::proc_evil ( const vector< pair< uint32_t, string >> &  )

◆ read_from_client()

datagram* us::gov::socket::server::read_from_client ( int  sock)

◆ receive_and_process()

virtual void us::gov::socket::server::receive_and_process ( client )
pure virtual

Implemented in us::gov::socket::daemon.

◆ run()

void us::gov::socket::server::run ( )

Reimplemented from us::gov::bgtask.

◆ set_not_blocking_mode()

static int us::gov::socket::server::set_not_blocking_mode ( int  sock)
static

◆ start()

ko us::gov::socket::server::start ( )
overridevirtual

Reimplemented from us::gov::bgtask.

◆ stop()

void us::gov::socket::server::stop ( )
overridevirtual

Reimplemented from us::gov::bgtask.

◆ wait_ready()

ko us::gov::socket::server::wait_ready ( const chrono::system_clock::time_point &  deadline) const
overridevirtual

Reimplemented from us::gov::bgtask.

Member Data Documentation

◆ ban

blacklist us::gov::socket::server::ban

◆ clients

clients_t us::gov::socket::server::clients

◆ port

uint16_t us::gov::socket::server::port

◆ sendq

client::queue_t us::gov::socket::server::sendq

◆ sock

int us::gov::socket::server::sock {0}

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