Class Server#

Class Documentation#

class Server#

creates a TCP/IP server for the calib daemon

Public Functions

inline Server()#

class constructor

inline ~Server()#

class deconstructor cleans up on exit

void exit_cleanly(void)#

exit

long configure_calibd()#

read and apply the configuration file

void doit(Network::TcpSocket &sock)#

the workhorse of each thread connetion

void handle_signal(int signo)#

Public Members

int nbport#

non-blocking port

int blkport#

blocking port

int asyncport#

asynchronous message port

std::string asyncgroup#

asynchronous multicast group

int nonblocking_socket#
int blocking_socket#
std::atomic<int> cmd_num#
Common::CorrIdCache corr_cache#

dedup cache for tagged inter-daemon commands

Config config#
Interface interface#

the Interface class connects to the hardware

std::mutex conn_mutex#

mutex to protect against simultaneous access to Accept()

Public Static Functions

static void new_log_day(std::string logpath)#

creates a new logbook each day

static void block_main(Calib::Server &tcs, Network::TcpSocket sock)#

main function for blocking connection thread

static void thread_main(Calib::Server &tcs, Network::TcpSocket sock)#

main function for all non-blocked threads

static void async_main(Calib::Server &tcs, Network::UdpSocket sock)#

asynchronous message sending thread

static inline void signal_handler(int signo)#

Public Static Attributes

static Server *instance#