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, std::string text = "");
27  ~TCPSession();
28 
29  Command *grab = NULL;
30 
31  virtual void output(std::stringstream &data);
32 
36 
37  std::stringstream out;
38 
43 
44  void send();
45 
50 
51  void sendToAll();
52 
58 
59  void sendToAll(SessionFilter filter);
60 
61  TCPServer &server;
62 
63  protected:
64 
65  virtual void onDataReceived(std::string data) override;
66  virtual void onRegistered() override;
67 
73 
74  virtual void onConnected();
75 
82 
83  virtual void protocol(std::string data);
84 
85  private:
86 
87  std::mutex mtx;
88 
89  };
90 
91 }
92 
93 #endif
core::TCPSession::send
void send()
Definition: TCPSession.cpp:53
core::SessionFilter
Definition: SessionFilter.h:10
core::TCPSession
Definition: TCPSession.h:23
core::TCPSession::protocol
virtual void protocol(std::string data)
Definition: TCPSession.cpp:18
core::EPoll
Definition: EPoll.h:31
core::TCPSession::sendToAll
void sendToAll()
Definition: TCPSession.cpp:38
core::TCPSession::out
std::stringstream out
Definition: TCPSession.h:37
core::TCPSession::onRegistered
virtual void onRegistered() override
Called after the socket has been registered with epoll processing.
Definition: TCPSession.cpp:25
core::Command
Definition: Command.h:20
core::TCPSocket
Definition: TCPSocket.h:20
core::TCPSession::onDataReceived
virtual void onDataReceived(std::string data) override
Called when data is received from the socket.
Definition: TCPSession.cpp:33
core::TCPSession::output
virtual void output(std::stringstream &data)
Definition: TCPSession.cpp:14
core::TCPSession::onConnected
virtual void onConnected()
Definition: TCPSession.cpp:31
core::TCPServer
Definition: TCPServer.h:24