My Project
TCPSession.h
1 #ifndef __Session_h__
2 #define __Session_h__
3 
4 #include "TCPSocket.h"
5 #include "SessionFilter.h"
6 
7 namespace core {
8 
9  class Command;
10 
11  class TCPServer;
12 
22 
23  class TCPSession : public TCPSocket {
24 
25  public:
26  TCPSession(EPoll &ePoll, TCPServer &server);
27  TCPSession(EPoll &ePoll, TCPServer &server, std::string text);
28  ~TCPSession();
29 
30  Command *grab = NULL;
31 
32  virtual void output(std::stringstream &data);
33 
38 
39  void send(std::string data);
40 
45 
46  void sendToAll(std::string data);
47 
53 
54  void sendToAll(SessionFilter filter, std::string data);
55 
56  TCPServer &server;
57 
58  protected:
59 
60  virtual void onDataReceived(std::string data) override;
61  virtual void onRegister() override;
62 
68 
69  virtual void onConnected(std::stringstream &out);
70 
77 
78  virtual void protocol(std::stringstream &out, std::string data);
79 
80  private:
81 
82  std::mutex mtx;
83 
84  };
85 
86 }
87 
88 #endif
virtual void onDataReceived(std::string data) override
Called when data is received from the socket.
Definition: TCPSession.cpp:38
virtual void onConnected(std::stringstream &out)
Definition: TCPSession.cpp:36
virtual void onRegister() override
Called when the socket has finished registering with the epoll processing.
Definition: TCPSession.cpp:30
Definition: SessionFilter.h:10
Definition: Command.cpp:4
Definition: EPoll.h:31
void sendToAll(std::string data)
Definition: TCPSession.cpp:44
Definition: TCPSocket.h:20
void send(std::string data)
Definition: TCPSession.cpp:57
Definition: TCPSession.h:23
Definition: Command.h:20
virtual void output(std::stringstream &data)
Definition: TCPSession.cpp:16
Definition: TCPServer.h:24
virtual void protocol(std::stringstream &out, std::string data)
Definition: TCPSession.cpp:20