64,642
社区成员
发帖
与我相关
我的任务
分享
class Session
{
public:
Session(unsigned int nIndex, IoHandle* ioHandle);
void Init();
inline unsigned int GetIndex() { return m_nIndex; }
inline SendBuffer* GetSendBuffer() { return m_pSendBuffer; }
inline RecvBuffer* GetRecvBuffer() { return m_pRecvBuffer; }
inline NetObject* GetNetObject() { return m_NetObject; }
void RealSendData(const std::vector<char>& buf);
void BindNetObject(NetObject* pNetObject);
//返回ConnectAddrInfo的类地址
ConnectAddrInfo& GetConnectAddrInfo();
private:
unsigned int m_nIndex;
NetObject* m_NetObject;
IoHandle* m_IoHandle;
ConnectAddrInfo m_ConnectAddrInfo;
SendBuffer* m_pSendBuffer;
RecvBuffer* m_pRecvBuffer;
bool m_bRemove;
bool m_WaitPreRecv;
bool m_DisconnectOrdered;
unsigned int m_LastRecvBufLen;
unsigned int m_LastSyncTime;
std::list< std::vector<char> > m_WaitSendList;
private:
/// Handle completion of a read operation.
void handle_read(const boost::system::error_code& e,
std::size_t bytes_transferred);
/// Handle completion of a write operation.
void handle_write(const boost::system::error_code& e,
std::size_t bytes_transferred);
};