# event_source_t

# 概述

image
image

表示一个事件源。

事件源有下列两种方式:

  • 对于有文件描述符的事件源(如socket),get_fd返回一个有效的文件描述符。
  • 对于定时器,则get_wakeup_time返回下次唤醒的时间。

# 函数

函数名称 说明
event_source_check 对于没有文件描述符的事件源,需要自己检查是否准备就绪。
event_source_dispatch 分发事件。
event_source_get_fd 获取文件描述符。
event_source_get_wakeup_time 获取唤醒时间(ms)。
event_source_set_tag 设置tag,方便通过tag一次移除多个事件源。

# event_source_check 函数

  • 函数功能:

对于没有文件描述符的事件源,需要自己检查是否准备就绪。

  • 函数原型:
ret_t event_source_check (event_source_t* source);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
source event_source_t* event_source对象。

# event_source_dispatch 函数

  • 函数功能:

分发事件。

  • 函数原型:
ret_t event_source_dispatch (event_source_t* source);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
source event_source_t* event_source对象。

# event_source_get_fd 函数

  • 函数功能:

获取文件描述符。

  • 函数原型:
int32_t event_source_get_fd (event_source_t* source);
  • 参数说明:
参数 类型 说明
返回值 int32_t 返回文件描述符。
source event_source_t* event_source对象。

# event_source_get_wakeup_time 函数

  • 函数功能:

获取唤醒时间(ms)。

  • 函数原型:
uint32_t event_source_get_wakeup_time (event_source_t* source);
  • 参数说明:
参数 类型 说明
返回值 uint32_t 返回唤醒时间(ms)。
source event_source_t* event_source对象。

# event_source_set_tag 函数

  • 函数功能:

设置tag,方便通过tag一次移除多个事件源。

  • 函数原型:
ret_t event_source_set_tag (event_source_t* source, void* tag);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功,否则表示失败。
source event_source_t* event_source对象。
tag void* tag。