代码拉取完成,页面将自动刷新
/*
* imconn.h
*
* Created on: 2013-6-5
* Author: ziteng
*/
#ifndef IMCONN_H_
#define IMCONN_H_
#include "ImPduBase.h"
#include "netlib.h"
#include "util.h"
#define SERVER_HEARTBEAT_INTERVAL 5000
#define SERVER_TIMEOUT 30000
#define CLIENT_HEARTBEAT_INTERVAL 30000
#define CLIENT_TIMEOUT 120000
#define MOBILE_CLIENT_TIMEOUT 60000 * 5
#define READ_BUF_SIZE 2048
class CImConn : public CRefObject
{
public:
CImConn();
virtual ~CImConn();
bool IsBusy() { return m_busy; }
int SendPdu(CImPdu* pPdu) { return Send(pPdu->GetBuffer(), pPdu->GetLength()); }
int Send(void* data, int len);
virtual void OnConnect(net_handle_t handle) { m_handle = handle; }
virtual void OnConfirm() {}
virtual void OnRead();
virtual void OnWrite();
virtual void OnClose() {}
virtual void OnTimer(uint64_t curr_tick) {}
virtual void OnWriteCompelete() {};
virtual void HandlePdu(CImPdu* pPdu) = 0;
protected:
net_handle_t m_handle;
bool m_busy;
string m_peer_ip;
uint16_t m_peer_port;
CSimpleBuffer m_in_buf;
CSimpleBuffer m_out_buf;
uint32_t m_recv_bytes;
uint64_t m_last_send_tick;
uint64_t m_last_recv_tick;
uint64_t m_last_all_user_tick;
};
typedef std::unordered_map<net_handle_t, CImConn*> ConnMap_t;
typedef std::unordered_map<uint32_t, CImConn*> UserMap_t;
void imconn_callback(void* callback_data, uint8_t msg, uint32_t handle, void* pParam);
#endif /* IMCONN_H_ */
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。