8 #include "core/EmxUV.hpp"
53 static ErrCodeE Request(uint32_t dstClientId, uint32_t module, uint32_t method, int32_t chn,
54 const char *req =
nullptr, int32_t size = 0, std::string *resp =
nullptr, int32_t timeoutMs = 10000);
74 uint32_t method, int32_t chn,
const char *data, int32_t size)>;
111 ErrCodeE Request(uint32_t dstClientId, uint32_t module, uint32_t method, int32_t chn,
const char *req =
nullptr,
116 if (m_cbOnConnected) m_cbOnConnected();
120 if (m_cbOnDisConnected) m_cbOnDisConnected();
123 void OnRecv(
const char *data, int32_t size)
override;
150 int32_t size, std::string &out)>;
180 if (m_cbConnected) m_cbConnected();
184 if (m_cbDisConnected) m_cbDisConnected();
187 void OnRecv(
const char *data, int32_t size)
override;
实现多路复用循环的主体,所有基于EuvLoop的事件都应绑定到一个EuvLoop上
Definition: EuvLoop.hpp:18
使用EuvPipe作为EuvStreamInf,并且继承EuvStmClientBase, 形成以Pipe为底层通信机制面向连接的客户端
Definition: EuvPipe.hpp:103
异步非阻塞响应端
Definition: MsgRpc.hpp:136
std::function< void()> Callback
连接状态回调
Definition: MsgRpc.hpp:139
void OnDisConnect() override
Definition: MsgRpc.hpp:183
void OnConnect() override
Definition: MsgRpc.hpp:179
ErrCodeE CreateMsgRpcRep(Config &cfg)
创建异步消息响应体
void OnRecv(const char *data, int32_t size) override
std::function< ErrCodeE(uint32_t module, uint32_t method, int32_t chn, const char *data, int32_t size, std::string &out)> RecvReqCallback
接收到RPC请求回调
Definition: MsgRpc.hpp:150
MsgRpcRep()
Definition: MsgRpc.hpp:162
void DestroyMsgRpcRep()
销毁请求体
Definition: MsgRpc.hpp:176
异步非阻塞RPC请求
Definition: MsgRpc.hpp:58
void DestroyMsgRpcReqAsync()
销毁请求体
Definition: MsgRpc.hpp:99
ErrCodeE Request(uint32_t dstClientId, uint32_t module, uint32_t method, int32_t chn, const char *req=nullptr, int32_t size=0)
发起异步请求
void OnConnect() override
Definition: MsgRpc.hpp:115
MsgRpcReqAsync()
Definition: MsgRpc.hpp:86
std::function< void()> Callback
连接状态回调
Definition: MsgRpc.hpp:61
ErrCodeE CreateMsgRpcReqAsync(Config &cfg)
创建异步消息请求体
void OnDisConnect() override
Definition: MsgRpc.hpp:119
std::function< void(Emx::ErrCodeE e, uint32_t clientId, uint32_t module, uint32_t method, int32_t chn, const char *data, int32_t size)> RecvRespCallback
接收到响应数据回调
Definition: MsgRpc.hpp:74
void OnRecv(const char *data, int32_t size) override
同步阻塞RPC请求
Definition: MsgRpc.hpp:39
static ErrCodeE Request(uint32_t dstClientId, uint32_t module, uint32_t method, int32_t chn, const char *req=nullptr, int32_t size=0, std::string *resp=nullptr, int32_t timeoutMs=10000)
发起同步阻塞RPC请求,比较耗时耗资源,尽量使用MsgRpcReqAsync异步请求
用于MsgRpc通信的数据类型定义
Definition: MsgRpc.hpp:16
ClientTypeE
RPC客户端类型
Definition: MsgRpc.hpp:19
ErrCodeE
错误码定义
Definition: EmxTypeDef.hpp:29
Definition: EmxGpio.hpp:10
启动异步响应监听时携带的配置参数
Definition: MsgRpc.hpp:152
RecvReqCallback OnRecvReq
注册一个用于接收请求消息的回调
Definition: MsgRpc.hpp:159
Callback OnDisConnected
注册一个当与MsgRpcServer断开连接后的回调
Definition: MsgRpc.hpp:158
Callback OnConnected
注册一个当与MsgRpcServer成功建立连接后的回调
Definition: MsgRpc.hpp:157
EuvLoop * loop
需要绑定的loop
Definition: MsgRpc.hpp:153
char * buffer
需要提供一个buffer来接收数据
Definition: MsgRpc.hpp:155
uint32_t clientId
此响应端的ClientID
Definition: MsgRpc.hpp:154
int32_t size
buffer的大小
Definition: MsgRpc.hpp:156
启动异步请求时携带的配置参数
Definition: MsgRpc.hpp:77
EuvLoop * loop
需要绑定的loop
Definition: MsgRpc.hpp:78
char * buffer
需要提供一个buffer来接收数据
Definition: MsgRpc.hpp:79
RecvRespCallback OnRecvResp
注册一个用于接收响应消息的回调
Definition: MsgRpc.hpp:83
int32_t size
buffer的大小
Definition: MsgRpc.hpp:80
Callback OnDisConnected
注册一个当与MsgRpcServer断开连接后的回调
Definition: MsgRpc.hpp:82
Callback OnConnected
注册一个当与MsgRpcServer成功建立连接后的回调,连接成功后才能发送请求
Definition: MsgRpc.hpp:81