12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- #ifndef __AE_UNIX_SOCKET_GATEWAY_H
- #define __AE_UNIX_SOCKET_GATEWAY_H
- #include <ICommunicationSocket.h>
- #include <sys/time.h>
- class UnixCommunicationSocket : public ICommunicationSocket{
- public:
- UnixCommunicationSocket(const char* socketbase);
- UnixCommunicationSocket(int socket);
- ~UnixCommunicationSocket();
- virtual bool init();
- virtual ssize_t writeRaw(const char* data, ssize_t length);
- virtual char* readRaw(ssize_t length);
- void disconnect();
- virtual int getSockDescriptor();
-
- virtual bool setTimeout(uint32_t timeout_milliseconds);
- virtual bool wasTimeoutDetected() { return mWasTimeout; }
- protected:
- char* mSocketBase;
- bool mWasTimeout;
- void MarkStartTime();
- bool CheckForTimeout();
- uint32_t mTimeoutMseconds;
- struct timeval mStartTime;
- private:
-
- UnixCommunicationSocket(const UnixCommunicationSocket&);
- UnixCommunicationSocket& operator=(const UnixCommunicationSocket&);
- };
- #endif
|