Go to the documentation of this file.
5 #include <netinet/in.h>
9 #include <sys/socket.h>
10 #include <sys/types.h>
49 struct sockaddr_in
server, client;
53 server.sin_family = AF_INET;
54 server.sin_addr.s_addr = inet_addr(
ip.c_str());
65 perror(
"bind failed");
66 throw std::runtime_error(
"bind failed");
82 std::cout <<
"Queue Full";
Definition: server_thread_pool.h:24
std::vector< std::thread > threads
Definition: server_thread_pool.h:33
int queueCapacity
Definition: server_thread_pool.h:35
virtual void controller(int nsd)=0
int threadCount
Definition: server_thread_pool.h:31
int socketConnection
Definition: server_thread_pool.h:34
std::mutex queueLock
Definition: server_thread_pool.h:26
std::queue< int > connectionQueue
Definition: server_thread_pool.h:25
ServerThreadPool(MultiThreadedServerInterface *server, std::string ip, int port, int threadCount=30, int queueCapacity=20)
Definition: server_thread_pool.h:38
std::string ip
Definition: server_thread_pool.h:30
void stop()
Definition: server_thread_pool.h:97
std::condition_variable c_prod
Definition: server_thread_pool.h:28
void start()
Definition: server_thread_pool.h:46
void * threadHandler(void *_pool)
Definition: server_interface.h:3
void threadHandler()
Definition: server_thread_pool.h:103
int port
Definition: server_thread_pool.h:29
std::condition_variable c_cons
Definition: server_thread_pool.h:27
MultiThreadedServerInterface * server
Definition: server_thread_pool.h:32