1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #ifndef CMessage__h
- #define CMessage__h
- #include <string>
- #include <iostream>
- #define MAX_TRANSFER_LEN (2*1024*1024) //系统默认读缓冲区就这么大,/proc/sys/net/core/rmem_default
- namespace Chromium {
- class CMessage {
- public:
- CMessage();
- explicit CMessage(unsigned int length);
- explicit CMessage(CMessage* p);
- ~CMessage();
- const char* getPayload() const;
- const unsigned int getLength();
- char* getWriteableData();
- unsigned int getBufferLength();
- int getMessageType();
- int getSessionID();
- int getTransID();
- void exchangeSessionIdAndTransId();
- bool getIsEnd();
- int getEventID();
- int getSignatureID();
- unsigned int getCMessageLength();
- void clear();
- void setSessionID(int sessionid, bool hasTransId = true);
- void setTransID(int transid);
- std::string printfHEX(int preNum = 0); //0即printAll
- void hexToFile();
- private:
- int memoryDynamicGrowth();
- public:
- enum { HEADER_LENGTH = 4 };
- enum { SUGGEST_BUFFER_LENGTH = 1024 * 4 };
- private:
- char* _data;
- unsigned int _buf_length;
- };
- }
- #endif
|