awtk/docs/manual/event_source_t.md

118 lines
3.3 KiB
Markdown
Raw Normal View History

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。 |