Emx::MsgRpcReqAsync类 参考

异步非阻塞RPC请求

#include "MsgRpc.hpp"

类 Emx::MsgRpcReqAsync 继承关系图:
Emx::MsgRpcReqAsync 的协作图:

struct  Config
 启动异步请求时携带的配置参数 更多...
 

Public 类型

using Callback = std::function< void()>
 连接状态回调 更多...
 
using RecvRespCallback = std::function< void(Emx::ErrCodeE e, uint32_t clientId, uint32_t module, uint32_t method, int32_t chn, const char *data, int32_t size)>
 接收到响应数据回调 更多...
 

Public 成员函数

 MsgRpcReqAsync ()
 
ErrCodeE CreateMsgRpcReqAsync (Config &cfg)
 创建异步消息请求体 更多...
 
void DestroyMsgRpcReqAsync ()
 销毁请求体 更多...
 
ErrCodeE Request (uint32_t dstClientId, uint32_t module, uint32_t method, int32_t chn, const char *req=nullptr, int32_t size=0)
 发起异步请求 更多...
 
- Public 成员函数 继承自 Emx::EuvPipeClientBase
 EuvPipeClientBase ()
 
virtual ~EuvPipeClientBase ()
 
- Public 成员函数 继承自 Emx::EuvStmClientBase
 EuvStmClientBase (EuvStreamInf *stm)
 
virtual ~EuvStmClientBase ()
 
ErrCodeE Create (EuvLoop &loop, char *buffer, int32_t size, const char *serverIp, uint16_t serverPort, const char *localIp=nullptr, uint16_t localPort=0)
 创建客户端并连接服务端 更多...
 
void Destroy ()
 断开链接并销毁客户端 更多...
 
ErrCodeE Send (std::shared_ptr< std::string > &data)
 向服务端发送数据 更多...
 
void PauseRecv ()
 停止接收,调用后将不会收到数据 更多...
 
ErrCodeE ResumeRecv ()
 开始接收数据/重新开始接收数据 更多...
 
bool IsReceiving ()
 获取当前客户端是否正在监听接收 更多...
 
std::string GetSockName ()
 获取本地地址 更多...
 
std::string GetPeerName ()
 获取对方地址 更多...
 

Protected 成员函数

void OnConnect () override
 
void OnDisConnect () override
 
void OnRecv (const char *data, int32_t size) override
 
- Protected 成员函数 继承自 Emx::EuvStmClientBase
virtual void OnSendDone (ErrCodeE e, const char *buffer, int32_t size)
 当调用Send函数发送的数据成功发送至服务端,或出现错误时触发次回调 更多...
 

成员类型定义说明

◆ Callback

using Emx::MsgRpcReqAsync::Callback = std::function<void()>

◆ RecvRespCallback

using Emx::MsgRpcReqAsync::RecvRespCallback = std::function<void(Emx::ErrCodeE e, uint32_t clientId, uint32_t module, uint32_t method, int32_t chn, const char *data, int32_t size)>
参数
e[in] 请求端/响应端/请求转发端返回的错误码
clientId[in] 接收到的响应端的clientID
module[in] 接收到的响应端的模块
method[in] 接收到的响应端的方法
chn[in] 接收到的响应端的通道
data[in] 接收到的响应数据
size[in] 接收到的响应数据大小

构造及析构函数说明

◆ MsgRpcReqAsync()

Emx::MsgRpcReqAsync::MsgRpcReqAsync ( )
inline

成员函数说明

◆ CreateMsgRpcReqAsync()

ErrCodeE Emx::MsgRpcReqAsync::CreateMsgRpcReqAsync ( Config cfg)
参数
cfg[in] 配置参数
返回
ErrCodeE

◆ DestroyMsgRpcReqAsync()

void Emx::MsgRpcReqAsync::DestroyMsgRpcReqAsync ( )
inline

◆ Request()

ErrCodeE Emx::MsgRpcReqAsync::Request ( uint32_t  dstClientId,
uint32_t  module,
uint32_t  method,
int32_t  chn,
const char *  req = nullptr,
int32_t  size = 0 
)
参数
dstClientId[in] 响应端的ClientID,由响应端定义
module[in] 目标模块,由响应端定义
method[in] 目标方法,由响应端定义
chn[in] 目标通道
req[in] 请求携带的数据,默认不携带数据
size[in] 请求携带数据大小,默认携带数据为0
返回
ErrCodeE 请求端/响应端/请求转发端返回的错误码

◆ OnConnect()

void Emx::MsgRpcReqAsync::OnConnect ( )
inlineoverrideprotectedvirtual

◆ OnDisConnect()

void Emx::MsgRpcReqAsync::OnDisConnect ( )
inlineoverrideprotectedvirtual

◆ OnRecv()

void Emx::MsgRpcReqAsync::OnRecv ( const char *  data,
int32_t  size 
)
overrideprotectedvirtual