Emx::EuvStmServerClientBase类 参考

面向连接的socket通信ServerClient端基类,是服务端accept后的socket, 实现了这种类型ServerClient端的创建销毁发送接收, 内部使用EuvStreamInf抽象接口作为底层通信接口,实际实现服务端的时候,需要传入继承EuvStreamInf的实例 并且最终的服务端需要继承EuvStmCServerClientBase类,实现其各种虚函数。可参MsgRpcClient的实现 更多...

#include "EuvStmServerBase.hpp"

类 Emx::EuvStmServerClientBase 继承关系图:

Public 成员函数

 EuvStmServerClientBase (EuvStreamInf *stm, EuvStmServerHostBase *host)
 
virtual ~EuvStmServerClientBase ()
 
ErrCodeE Send (std::shared_ptr< std::string > &data)
 向客户端发送数据 更多...
 
void SetMaxSendBuffer (bool sendByPack, int32_t maxSend)
 调用Send发送的数据是需要等待发送缓冲区可用的,此函数负责设置当缓冲区满的情况下最多缓存的数据量 更多...
 
EuvStmServerHostBaseGetHost ()
 获取ServerHost的指针 更多...
 
EuvStreamInfGetStmInf ()
 获取EuvStreamInf 更多...
 
int32_t GetCurBufferedPack ()
 获取当前需要发送的包数 更多...
 
int32_t GetCurBufferedSize ()
 获取当前需要发送的字节数 更多...
 
virtual void OnSendDone (ErrCodeE e, const char *buffer, int32_t size)
 当调用Send发送的数据发送完毕,或是出现错误时触发此回调 更多...
 

详细描述

参见
MsgRpcClient

构造及析构函数说明

◆ EuvStmServerClientBase()

Emx::EuvStmServerClientBase::EuvStmServerClientBase ( EuvStreamInf stm,
EuvStmServerHostBase host 
)
inline

◆ ~EuvStmServerClientBase()

virtual Emx::EuvStmServerClientBase::~EuvStmServerClientBase ( )
inlinevirtual

成员函数说明

◆ Send()

ErrCodeE Emx::EuvStmServerClientBase::Send ( std::shared_ptr< std::string > &  data)
参数
data[in] 发送的数据,采用共享指针的方式,方便内存空间的回收和重复利用
返回
ErrCodeE

◆ SetMaxSendBuffer()

void Emx::EuvStmServerClientBase::SetMaxSendBuffer ( bool  sendByPack,
int32_t  maxSend 
)
inline
参数
sendByPack[in] true:按照包数统计;false:按照字节数统计
maxSend[in] 最大缓存包数/字节数

◆ GetHost()

EuvStmServerHostBase* Emx::EuvStmServerClientBase::GetHost ( )
inline
返回
ServerHost的指针

◆ GetStmInf()

EuvStreamInf* Emx::EuvStmServerClientBase::GetStmInf ( )
inline
返回
EuvStreamInf

◆ GetCurBufferedPack()

int32_t Emx::EuvStmServerClientBase::GetCurBufferedPack ( )
inline
返回
当前需要发送的包数

◆ GetCurBufferedSize()

int32_t Emx::EuvStmServerClientBase::GetCurBufferedSize ( )
inline
返回
当前需要发送的字节数

◆ OnSendDone()

virtual void Emx::EuvStmServerClientBase::OnSendDone ( ErrCodeE  e,
const char *  buffer,
int32_t  size 
)
inlinevirtual
参数
e[in] 错误信息
buffer[in] 发送结束的数据指针
size[in] 发送结束的数据大小