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 
64 
65  void terminate();
66 
70 
71  TCPServer &server;
72 
73  protected:
74 
78 
79  virtual void onRegistered() override;
80 
86 
87  virtual void onDataReceived(char *data, int len) override;
88 
95 
96  virtual void onLineReceived(std::string line);
97 
103 
104  virtual void onConnected();
105 
112 
113  virtual void protocol(std::string data);
114 
115  private:
116  char *lineBuffer = NULL;
117  int lineBufferSize = 0;
118  std::mutex mtx;
119  bool term = false;
120 
121  };
122 
123 }
124 
125 #endif
core::TCPSession::send
void send()
Definition: TCPSession.cpp:80
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::TCPSession::onDataReceived
virtual void onDataReceived(char *data, int len) override
Definition: TCPSession.cpp:35
core::EPoll
Definition: EPoll.h:31
core::TCPSession::sendToAll
void sendToAll()
Definition: TCPSession.cpp:65
core::TCPSession::onLineReceived
virtual void onLineReceived(std::string line)
Definition: TCPSession.cpp:57
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::output
virtual void output(std::stringstream &data)
Definition: TCPSession.cpp:14
core::TCPSession::onConnected
virtual void onConnected()
Definition: TCPSession.cpp:33
core::TCPServer
Definition: TCPServer.h:24