Mars接口
2017-06-20 14:45:56 0 举报
AI智能生成
wechat mars 接口表示
作者其他创作
大纲/内容
xlog
初始化
xlogger_SetLevel(kLevelDebug);<br> appender_set_console_log(true);
appender_open(kAppednerAsync, logPath, "Test");
logAPI
xlogger_Write
xlogger_VPrint
xlogger_Print
...
关闭
appender_close();
stn
初始化
注册callback函数
mars::stn::SetCallback(Callback* const callback);
class Callback<br> {<br> public:<br> virtual ~Callback() {}<br> virtual bool MakesureAuthed() = 0;<br> <br> //流量统计<br> virtual void TrafficData(ssize_t _send, ssize_t _recv);<br> <br> //底层询问上层该host对应的ip列表<br> virtual std::vector<std::string> OnNewDns(const std::string& host);<br> //网络层收到push消息回调<br> virtual void OnPush(int32_t cmdid, const AutoBuffer& msgpayload) = 0;<br> //底层获取task要发送的数据<br> virtual bool Req2Buf(int32_t taskid, void* const user_context, AutoBuffer& outbuffer, int& error_code, const int channel_select) = 0;<br> //底层回包返回给上层解析<br> virtual int Buf2Resp(int32_t taskid, void* const user_context, const AutoBuffer& inbuffer, int& error_code, const int channel_select) = 0;<br> //任务执行结束<br> virtual int OnTaskEnd(int32_t taskid, void* const user_context, int error_type, int error_code) = 0;<br><br> //上报网络连接状态<br> virtual void ReportConnectStatus(int status, int longlink_status) = 0;<br> //长连信令校验 ECHECK_NOW = 0, ECHECK_NEXT = 1, ECHECK_NEVER = 2<br> virtual int GetLonglinkIdentifyCheckBuffer(AutoBuffer& identify_buffer, AutoBuffer& buffer_hash, int32_t& cmdid) = 0;<br> //长连信令校验回包<br> virtual bool OnLonglinkIdentifyResponse(const AutoBuffer& response_buffer, const AutoBuffer& identify_buffer_hash) = 0;<br> <br> <br> virtual void RequestSync() = 0;<br> <br> //验证是否已登录<br> virtual bool IsLogoned() = 0;<br> };
mars::app::SetCallback(Callback* const callback)
class Callback {<br> public:<br> virtual ~Callback() {};<br><br> virtual std::string GetAppFilePath() = 0;<br> <br> virtual AccountInfo GetAccountInfo() = 0;<br><br> virtual unsigned int GetClientVersion() = 0;<br><br> virtual DeviceInfo GetDeviceInfo() = 0;<br><br> };
触发mars创建signal,mars内部可以监听该signal并做一些内部初始化的工作
mars::baseevent::OnCreate();
设置客户端版本号
mars::stn::SetClientVersion(clientVersion);
设置短链接server地址
mars::stn::SetShortlinkSvrAddr(port, ipAddress);
设置长链接server地址
mars::stn::SetLonglinkSvrAddr(ipAddress,ports,debugIP);
客户端前台激活
mars::baseevent::OnForeground(true);<br>可能触发自动重连操作
建立长链接
mars::stn::MakesureLonglinkConnected();
network API
前台激活
mars::baseevent::OnForeground(true);
切换到后台
mars::baseevent::OnForeground(false);
发送数据
mars::stn::StartTask(const Task *task);
struct Task {<br>public:<br><br> //require<br> uint32_t taskid;<br> uint32_t cmdid;<br> int32_t channel_select;<br> std::string cgi; // user<br><br> //optional<br> bool send_only; // user<br> bool need_authed; // user<br> bool limit_flow; // user<br> bool limit_frequency; // user<br> <br> bool network_status_sensitive; // user<br> int32_t channel_strategy;<br> int32_t priority; // user<br> <br> int32_t retry_count; // user<br> int32_t server_process_cost; // user<br> int32_t total_timetout; // user ms<br> <br> void* user_context; // user<br> std::string report_arg; // user for cgi report<br> <br> std::vector<std::string> shortlink_host_list;<br>};
关闭
mars::baseevent::OnDestroy();
stn
0 条评论
下一页