Go to the documentation of this file. 1 #ifndef __SOCKET_LISTENER_H__
2 #define __SOCKET_LISTENER_H__
9 #include <sys/socket.h>
13 #include <condition_variable>
32 std::function<void()> m_cb;
46 std::shared_ptr<
char[]> buffer)
override;
70 int waitForConnection(
int listening);
80 void push_to_queue(std::function<
void()> fn);
82 void handle_client_socket(
int client_socket_fd,
84 std::shared_ptr<
char[]> buf);
87 std::string m_ip_address;
89 std::thread m_loop_thread;
90 std::queue<std::function<void()>> task_queue;
91 std::mutex m_mutex_lock;
92 std::condition_variable pool_condition;
93 std::atomic<bool> accepting_tasks;
94 std::atomic<bool> shutdown_loop;
95 std::atomic<bool> m_loop_switch;
97 std::vector<std::thread> thread_pool;
100 #endif // __SOCKET_LISTENER_H__
void cleanup()
Definition: socket_listener.cpp:204
~SocketListener()
Definition: socket_listener.cpp:40
SocketListener(std::string ipAddress, int port)
Definition: socket_listener.cpp:30
void run()
Definition: socket_listener.cpp:155
MessageHandler(std::function< void()> cb)
Definition: socket_listener.h:27
Definition: send_interface.h:7
Definition: socket_listener.h:25
bool init()
Definition: socket_listener.cpp:63
void MessageHandler(MessageProcessor processor, int client_socket_fd, std::string message)
Definition: types.h:9
MessageHandler createMessageHandler(std::function< void()> cb)
Definition: socket_listener.cpp:42
Definition: socket_listener.h:23
void operator()()
Definition: socket_listener.h:29
virtual void sendMessage(int client_socket_fd, std::shared_ptr< char[]> buffer) override
Definition: socket_listener.cpp:53