2019-09-30 17:28:18 +08:00
|
|
|
|
## event\_source\_t
|
|
|
|
|
### 概述
|
|
|
|
|
![image](images/event_source_t_0.png)
|
|
|
|
|
|
2019-12-14 13:25:56 +08:00
|
|
|
|
表示一个事件源。
|
|
|
|
|
|
|
|
|
|
事件源有下列两种方式:
|
|
|
|
|
|
|
|
|
|
* 对于有文件描述符的事件源(如socket),get_fd返回一个有效的文件描述符。
|
2023-12-26 20:05:44 +08:00
|
|
|
|
* 对于定时器,则get_wakeup_time返回下次唤醒的时间(毫秒)。
|
2019-09-30 17:28:18 +08:00
|
|
|
|
----------------------------------
|
|
|
|
|
### 函数
|
|
|
|
|
<p id="event_source_t_methods">
|
|
|
|
|
|
|
|
|
|
| 函数名称 | 说明 |
|
|
|
|
|
| -------- | ------------ |
|
2019-11-15 11:33:43 +08:00
|
|
|
|
| <a href="#event_source_t_event_source_check">event\_source\_check</a> | 对于没有文件描述符的事件源,需要自己检查是否准备就绪。 |
|
|
|
|
|
| <a href="#event_source_t_event_source_dispatch">event\_source\_dispatch</a> | 分发事件。 |
|
|
|
|
|
| <a href="#event_source_t_event_source_get_fd">event\_source\_get\_fd</a> | 获取文件描述符。 |
|
2023-12-26 20:05:44 +08:00
|
|
|
|
| <a href="#event_source_t_event_source_get_wakeup_time">event\_source\_get\_wakeup\_time</a> | 获取唤醒时间(毫秒)。 |
|
2019-11-15 11:33:43 +08:00
|
|
|
|
| <a href="#event_source_t_event_source_set_tag">event\_source\_set\_tag</a> | 设置tag,方便通过tag一次移除多个事件源。 |
|
2019-09-30 17:28:18 +08:00
|
|
|
|
#### event\_source\_check 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
|
|
* 函数功能:
|
|
|
|
|
|
2019-11-15 11:33:43 +08:00
|
|
|
|
> <p id="event_source_t_event_source_check">对于没有文件描述符的事件源,需要自己检查是否准备就绪。
|
2019-09-30 17:28:18 +08:00
|
|
|
|
|
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
ret_t event_source_check (event_source_t* source);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 |
|
|
|
|
|
| source | event\_source\_t* | event\_source对象。 |
|
|
|
|
|
#### event\_source\_dispatch 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
|
|
* 函数功能:
|
|
|
|
|
|
2019-11-15 11:33:43 +08:00
|
|
|
|
> <p id="event_source_t_event_source_dispatch">分发事件。
|
2019-09-30 17:28:18 +08:00
|
|
|
|
|
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
ret_t event_source_dispatch (event_source_t* source);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 |
|
|
|
|
|
| source | event\_source\_t* | event\_source对象。 |
|
|
|
|
|
#### event\_source\_get\_fd 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
|
|
* 函数功能:
|
|
|
|
|
|
2019-11-15 11:33:43 +08:00
|
|
|
|
> <p id="event_source_t_event_source_get_fd">获取文件描述符。
|
2019-09-30 17:28:18 +08:00
|
|
|
|
|
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
int32_t event_source_get_fd (event_source_t* source);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
|
|
|
|
| 返回值 | int32\_t | 返回文件描述符。 |
|
|
|
|
|
| source | event\_source\_t* | event\_source对象。 |
|
|
|
|
|
#### event\_source\_get\_wakeup\_time 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
|
|
* 函数功能:
|
|
|
|
|
|
2023-12-26 20:05:44 +08:00
|
|
|
|
> <p id="event_source_t_event_source_get_wakeup_time">获取唤醒时间(毫秒)。
|
2019-09-30 17:28:18 +08:00
|
|
|
|
|
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
uint32_t event_source_get_wakeup_time (event_source_t* source);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
* 参数说明:
|
|
|
|
|
|
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
|
|
|
| -------- | ----- | --------- |
|
2023-12-26 20:05:44 +08:00
|
|
|
|
| 返回值 | uint32\_t | 返回唤醒时间(毫秒)。 |
|
2019-09-30 17:28:18 +08:00
|
|
|
|
| source | event\_source\_t* | event\_source对象。 |
|
2019-11-14 15:54:03 +08:00
|
|
|
|
#### event\_source\_set\_tag 函数
|
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
|
|
* 函数功能:
|
|
|
|
|
|
2019-11-15 11:33:43 +08:00
|
|
|
|
> <p id="event_source_t_event_source_set_tag">设置tag,方便通过tag一次移除多个事件源。
|
2019-11-14 15:54:03 +08:00
|
|
|
|
|
|
|
|
|
* 函数原型:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
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。 |
|