Class Server#
Defined in File flexure_server.h
Class Documentation#
-
class Server#
creates a TCP/IP server for the flexure daemon
Public Functions
-
inline Server()#
class constructor
-
inline ~Server()#
class deconstructor cleans up on exit
-
inline void remove_socket(int id)#
-
void exit_cleanly(void)#
exit
-
long configure_flexured()#
read and apply the configuration file
-
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#
-
std::atomic<int> threads_active#
number of blocking threads that exist
-
Common::CorrIdCache corr_cache#
dedup cache for tagged inter-daemon commands
-
NumberPool id_pool#
creates a number pool used for socket ids
-
std::mutex conn_mutex#
mutex to protect against simultaneous access to Accept()
-
std::mutex sock_block_mutex#
mutex to protect against simultaneous access to Accept()
-
std::mutex socklist_mutex#
mutex to protect against simultaneous access to socklist
Public Static Functions
-
static void new_log_day(std::string logpath)#
creates a new logbook each day
main function for blocking connection thread
main function for all non-blocked threads
-
static void async_main(Flexure::Server &tcs, Network::UdpSocket sock)#
asynchronous message sending thread
-
static inline void signal_handler(int signo)#
-
inline Server()#