24 #ifndef _NETCOMM_FAWKES_SERVER_THREAD_H_
25 #define _NETCOMM_FAWKES_SERVER_THREAD_H_
27 #include <core/threading/thread.h>
28 #include <core/utils/lock_map.h>
29 #include <netcomm/fawkes/hub.h>
30 #include <netcomm/utils/incoming_connection_handler.h>
37 class ThreadCollector;
39 class FawkesNetworkServerClientThread;
40 class NetworkAcceptorThread;
41 class FawkesNetworkHandler;
42 class FawkesNetworkMessage;
43 class FawkesNetworkMessageQueue;
44 class FawkesNetworkMessageContent;
46 class FawkesNetworkServerThread :
public Thread,
47 public FawkesNetworkHub,
48 public NetworkIncomingConnectionHandler
53 const std::string &listen_ipv4,
54 const std::string &listen_ipv6,
55 unsigned int fawkes_port,
65 virtual void broadcast(
unsigned short int component_id,
66 unsigned short int msg_id,
68 unsigned int payload_size);
69 virtual void broadcast(
unsigned short int component_id,
unsigned short int msg_id);
73 send(
unsigned int to_clid,
unsigned short int component_id,
unsigned short int msg_id);
74 virtual void send(
unsigned int to_clid,
75 unsigned short int component_id,
76 unsigned short int msg_id,
78 unsigned int payload_size);
79 virtual void send(
unsigned int to_clid,
80 unsigned short int component_id,
81 unsigned short int msg_id,
99 unsigned int next_client_id;
100 std::vector<NetworkAcceptorThread *> acceptor_threads;