Emx::EuvStreamInf类 参考abstract

面向链接类型的抽象接口(例如tcp/pipe),用于为EuvStmClientBase/EuvStmServerHostBase等提供统一的底层通信接口

#include "EuvStreamInf.hpp"

类 Emx::EuvStreamInf 继承关系图:

Public 成员函数

virtual ErrCodeE Create (EuvLoop &loop)=0
 创建接口 更多...
 
virtual void Destroy ()=0
 销毁接口 更多...
 
virtual ErrCodeE Bind (const char *ip, uint16_t port)
 绑定接口到本地的地址 更多...
 
virtual ErrCodeE Open (int fd)
 打开一个已经存在的fd 更多...
 
virtual ErrCodeE Connect (uv_connect_t *req, const char *serverIp, uint16_t serverPort, uv_connect_cb cb)
 连接到服务器 更多...
 
virtual ErrCodeE GetSockName (void *name, size_t &len)=0
 获取本地地址 更多...
 
virtual ErrCodeE GetPeerName (void *name, size_t &len)=0
 获取对方地址 更多...
 
virtual uv_stream_t * GetStm ()=0
 获取libuv的stream句柄 更多...
 
virtual int32_t GetFd ()=0
 获取文件描述符fd 更多...
 
virtual bool IsReceiving ()=0
 获取当前描述符是否监听接收 更多...
 

成员函数说明

◆ Create()

virtual ErrCodeE Emx::EuvStreamInf::Create ( EuvLoop loop)
pure virtual
参数
loop[in] 需要绑定的loop
返回
ErrCodeE

Emx::EuvTcp , 以及 Emx::EuvPipe 内被实现.

◆ Destroy()

virtual void Emx::EuvStreamInf::Destroy ( )
pure virtual

Emx::EuvTcp , 以及 Emx::EuvPipe 内被实现.

◆ Bind()

virtual ErrCodeE Emx::EuvStreamInf::Bind ( const char *  ip,
uint16_t  port 
)
inlinevirtual
参数
ip[in] 本地ip
port[in] 本地port
返回
ErrCodeE

Emx::EuvTcp , 以及 Emx::EuvPipe 重载.

◆ Open()

virtual ErrCodeE Emx::EuvStreamInf::Open ( int  fd)
inlinevirtual
参数
fd[in] 已经存在的fd
返回
ErrCodeE

Emx::EuvTcp 重载.

◆ Connect()

virtual ErrCodeE Emx::EuvStreamInf::Connect ( uv_connect_t *  req,
const char *  serverIp,
uint16_t  serverPort,
uv_connect_cb  cb 
)
inlinevirtual
参数
req[in] 发起请求的时候携带的libuv中的请求句柄
serverIp[in] 目的server地址
serverPort[in] 目的server端口
cb[in] 连接成功或失败后的回调函数
返回
ErrCodeE

Emx::EuvTcp , 以及 Emx::EuvPipe 重载.

◆ GetSockName()

virtual ErrCodeE Emx::EuvStreamInf::GetSockName ( void *  name,
size_t &  len 
)
pure virtual
参数
name[out] 存放地址的buffer
len[in,out] 存放地址buffer的大小,返回实际的地址大小
返回
ErrCodeE

Emx::EuvTcp , 以及 Emx::EuvPipe 内被实现.

被这些函数引用 Emx::EuvStmClientBase::GetSockName().

◆ GetPeerName()

virtual ErrCodeE Emx::EuvStreamInf::GetPeerName ( void *  name,
size_t &  len 
)
pure virtual
参数
name[out] 存放地址的buffer
len[in,out] 存放地址buffer的大小,返回实际的地址大小
返回
ErrCodeE

Emx::EuvTcp , 以及 Emx::EuvPipe 内被实现.

被这些函数引用 Emx::EuvStmClientBase::GetPeerName().

◆ GetStm()

virtual uv_stream_t* Emx::EuvStreamInf::GetStm ( )
pure virtual
返回
libuv的stream句柄

Emx::EuvTcp , 以及 Emx::EuvPipe 内被实现.

◆ GetFd()

virtual int32_t Emx::EuvStreamInf::GetFd ( )
pure virtual
返回
fd

Emx::EuvTcp , 以及 Emx::EuvPipe 内被实现.

◆ IsReceiving()

virtual bool Emx::EuvStreamInf::IsReceiving ( )
pure virtual
返回
bool

Emx::EuvTcp , 以及 Emx::EuvPipe 内被实现.

被这些函数引用 Emx::EuvStmClientBase::IsReceiving().