Argentum Online - Servidor
socket_manager.h
1 #ifndef SOCKET_HANDLER_H
2 #define SOCKET_HANDLER_H
3 
4 #include <utility>
5 
6 #include "../blocking_th_event_handler.h"
7 #include "../types.h"
8 #include "socket.h"
9 #include "th_socket_receiver.h"
10 #include "th_socket_sender.h"
11 
13  private:
14  const ClientId client_id;
15  Socket socket;
16  ThSocketReceiver receiver;
17  ThSocketSender sender;
18 
19  public:
20  SocketManager(ClientId id, Socket socket,
21  BlockingThEventHandler& ReceiveHandler);
22  SocketManager(Socket socket, BlockingThEventHandler& ReceiveHandler);
23 
24  void start();
25 
26  void send(const Event& ev);
27 
28  ClientId get_id() const;
29 
30  bool is_connected() const;
31 
32  void stop(bool shutdown);
33 
34  void join();
35 
36  ~SocketManager();
37 };
38 
39 #endif // SOCKET_HANDLER_H
SocketManager
Definition: socket_manager.h:12
Socket
Definition: socket.h:12
Event
Definition: event.h:55
ThSocketSender
Definition: th_socket_sender.h:10
BlockingThEventHandler
Definition: blocking_th_event_handler.h:22
ThSocketReceiver
Definition: th_socket_receiver.h:15