io_event

网络事件回调返回此对象。

命名空间

namespace yasio::inet

成员

公共方法:

io_event::kind

获取事件类型

int kind() const

Return Value

  • YEK_PACKET : 消息事件
  • YEK_CONNECT_RESPONSE : 连接响应事件
  • YEK_CONNECTION_LOST : 连接断开事件

io_event::status

获取事件类型

int status() const

Return Value

0: 正常, 非0: 出错
业务只需要处理0和非0的情况,无需关心具体状态码,非0时可选择做简单打印记录

io_event::packet

获取事件中的完整消息包

std::vector<char>& packet()

io_event::transport

获取事件到传输会话句柄

transport_handle_t transport()

io_event::timestamp

返回事件产生的微秒级时间戳

long long timestamp() const

io_event::transport_id()

获取传输会话ID,可用于日志跟踪

unsigned int id() const

Return Value

返回ID是全局自增的,可保证在32位整数最大范围内保证唯一, (uint32_t)-1 视为无效ID

io_event::transport_udata

安全地获取和设置用户变量,所有类型网络事件,调用次函数都是安全的

_Uty io_event::transport_udata()
void io_event::transport_udata(_Uty uservalue)

Remark

注意: 生命周期需要使用者自己维护,收到connect success存储userdata, 收到connect lost事件,清理userdata