![]() |
异步非阻塞RPC请求
#include "MsgRpc.hpp"


类 | |
| 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函数发送的数据成功发送至服务端,或出现错误时触发次回调 更多... | |
| using Emx::MsgRpcReqAsync::Callback = std::function<void()> |
| 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] 接收到的响应数据大小 |
|
inline |
|
inline |
| 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 |
|
inlineoverrideprotectedvirtual |
|
inlineoverrideprotectedvirtual |
|
overrideprotectedvirtual |