Emx::EuvPoll类 参考

EuvPoll可以实现所有文件描述符的监听,可以实现读写和连接状态的监听, 当某些描述符并不是文件或者socket或者描述符已经被打开的时候可以考虑使用这个, 例如海思中获取venc的时候使用的HI_S32 HI_MPI_VENC_GetFd(VENC_CHN VeChn)函数获取的fd

#include "EuvPoll.hpp"

Public 类型

using Callback = std::function< void()>
 当有事件触发时调用此回调 更多...
 

Public 成员函数

 EuvPoll ()
 
ErrCodeE Init (EuvLoop &loop, int fd)
 初始化poll,并绑定到loop上,当fd非socket类型时使用 更多...
 
ErrCodeE InitSock (EuvLoop &loop, int fd)
 初始化poll,并绑定到loop上,当fd是socket类型时使用 更多...
 
ErrCodeE Start (Callback OnRead, Callback OnWrite, Callback OnDisconnect)
 开始监听 更多...
 
void Stop ()
 停止监听 更多...
 
uv_handle_t * GetHandle ()
 获取libuv的handle 更多...
 

成员类型定义说明

◆ Callback

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

构造及析构函数说明

◆ EuvPoll()

Emx::EuvPoll::EuvPoll ( )
inline

成员函数说明

◆ Init()

ErrCodeE Emx::EuvPoll::Init ( EuvLoop loop,
int  fd 
)
参数
loop[in] 需要绑定的loop
fd[in] 需要监听的fd
返回
ErrCodeE

◆ InitSock()

ErrCodeE Emx::EuvPoll::InitSock ( EuvLoop loop,
int  fd 
)
参数
loop[in] 需要绑定的loop
fd[in] 需要监听的fd
返回
ErrCodeE

◆ Start()

ErrCodeE Emx::EuvPoll::Start ( Callback  OnRead,
Callback  OnWrite,
Callback  OnDisconnect 
)
参数
OnRead[in] 当fd可读时触发此回调,null表示不监听此事件
OnWrite[in] 当fd可写时触发此回调,null表示不监听此事件
OnDisconnect[in] 当fd断开链接时触发此回调,null表示不监听此事件
返回
ErrCodeE

◆ Stop()

void Emx::EuvPoll::Stop ( )
inline

◆ GetHandle()

uv_handle_t* Emx::EuvPoll::GetHandle ( )
inline
返回
handle