My Project
TCPServer.h
1 #ifndef __TCPServer_h__
2 #define __TCPServer_h__
3 
4 #include "Socket.h"
5 #include "TCPSocket.h"
6 #include "IPAddressList.h"
7 #include "Command.h"
8 #include "CommandList.h"
9 
10 namespace core {
11 
23 
24  class TCPServer : public TCPSocket, public Command {
25 
26  public:
27 
37 
38  TCPServer(EPoll &ePoll, IPAddress address, std::string text = "");
39 
43 
44  ~TCPServer();
45 
51 
53 
59 
61 
62  void removeFromSessionList(TCPSession *session);
63 
64  virtual void sessionErrorHandler(std::string errorString, std::stringstream &out);
65 
73 
74  virtual TCPSession * getSocketAccept(EPoll &epoll);
75 
76  void output(TCPSession *session);
77 
81 
82  std::vector<TCPSession *> sessions;
83 
88 
90 
91  protected:
92 
102 
103  void onDataReceived(std::string data) override;
104 
111 
112  int processCommand(std::string command, TCPSession *session, std::stringstream &data) override;
113 
114  private:
115 
116  TCPSession * accept();
117  std::mutex lock;
118 
119  };
120 
121 }
122 
123 #endif
core::TCPServer::blackList
IPAddressList * blackList
Definition: TCPServer.h:52
core::TCPSession
Definition: TCPSession.h:24
core::IPAddress
Definition: IPAddress.h:9
core::TCPServer::sessions
std::vector< TCPSession * > sessions
Definition: TCPServer.h:82
core::TCPServer::processCommand
int processCommand(std::string command, TCPSession *session, std::stringstream &data) override
Definition: TCPServer.cpp:71
core::TCPServer::onDataReceived
void onDataReceived(std::string data) override
Definition: TCPServer.cpp:25
core::TCPServer::TCPServer
TCPServer(EPoll &ePoll, IPAddress address, std::string text="")
Definition: TCPServer.cpp:9
core::EPoll
Definition: EPoll.h:31
core::Command
Definition: Command.h:22
core::TCPSocket
Definition: TCPSocket.h:20
core::TCPServer::whiteList
IPAddressList * whiteList
Definition: TCPServer.h:60
core::CommandList
Definition: CommandList.h:18
core::IPAddressList
Definition: IPAddressList.h:9
core::TCPServer::~TCPServer
~TCPServer()
Definition: TCPServer.cpp:20
core::TCPServer
Definition: TCPServer.h:24
core::TCPServer::commands
CommandList commands
Definition: TCPServer.h:89
core::TCPServer::getSocketAccept
virtual TCPSession * getSocketAccept(EPoll &epoll)
Definition: TCPServer.cpp:61
core::TCPServer::output
void output(TCPSession *session)
Output the consoles array to the console.
Definition: TCPServer.cpp:65