#ifndef TCPCLIENT_H #define TCPCLIENT_H #include //Forward class declaration template class TCPServer; class TCPClient { template friend class TCPServer; public: TCPClient(WiFiClient client, uint8_t id, uint16_t dataBufferSize = 255); TCPClient(const TCPClient &Object); virtual ~TCPClient(); bool operator==(TCPClient& Object); bool closeConnection(); protected: enum ClientState {NEW, HANDLED, DISCARDED} _clientState; enum Error {OK = 0, MALLOC_ERR = 1} _error; WiFiClient _client; uint8_t *_data; //The actual data uint16_t _dataSize; //The logical size of the data contained uint16_t _dataBufferSize; //The physical size of the buffer boolean _newDataAvailable; uint8_t _id; void freeDataBuffer(uint16_t size); private: }; #endif //TCPCLIENT_H