My Project
TCPSession2.h
1 #ifndef __TCPSession2_h__
2 # define __TCPSession2_h__
3 
4 #include "TCPSocket.h"
5 #include "Timer.h"
6 #include "SessionFilter.h"
7 
8 namespace core {
9 
10  class Command;
11  class TCPServer;
12 
25 
26  class TCPSession2 : public TCPSocket {
27 
28  public:
29 
33 
34  TCPSession2(EPoll &ePoll, std::string text = "");
35 
39 
40  virtual ~TCPSession2();
41 
42  Command *grab = NULL;
43 
44  virtual void output(std::stringstream &data);
45 
50 
51  void send();
52 
56 
57  void terminate();
58 
62 
63  std::stringstream out;
64 
65  protected:
66 
70 
71  virtual void onRegistered() override;
72 
78  virtual void onDataReceived(coreutils::ZString &data) override;
79 
86 
87  virtual void onLineReceived(coreutils::ZString &line);
88 
95 
96  virtual void onBlockReceived(coreutils::ZString &block);
97 
103 
104  virtual void onConnected();
105 
115 
116  virtual void protocol(coreutils::ZString &data);
117 
123 
124  void setBlockSize(int size = 0);
125 
126  private:
127  char *lineBuffer = NULL;
128  int lineBufferSize = 0;
129  int lineLength = 0;
130  int blockLength = 0;
131  std::mutex mtx;
132  bool term = false;
133  int blockSize = 0;
134 
135  };
136 
137 }
138 
139 #endif
Definition: Command.h:22
Definition: EPoll.h:31
Definition: TCPSession2.h:26
virtual void protocol(coreutils::ZString &data)
Definition: TCPSession2.cpp:15
virtual void onDataReceived(coreutils::ZString &data) override
Definition: TCPSession2.cpp:26
std::stringstream out
Definition: TCPSession2.h:63
void terminate()
Definition: TCPSession2.cpp:81
virtual void onBlockReceived(coreutils::ZString &block)
Definition: TCPSession2.cpp:69
virtual void onLineReceived(coreutils::ZString &line)
Definition: TCPSession2.cpp:62
void setBlockSize(int size=0)
Definition: TCPSession2.cpp:58
virtual void onRegistered() override
Called after the socket has been registered with epoll processing.
Definition: TCPSession2.cpp:17
void send()
Definition: TCPSession2.cpp:75
virtual void output(std::stringstream &data)
Definition: TCPSession2.cpp:11
virtual void onConnected()
Definition: TCPSession2.cpp:24
Definition: TCPSocket.h:20