网络篇--epoll_event中epoll_data_t用法

发布于:2021-11-27 15:38:29

/*
?Author: Lys 2018/11/12
*/


1.
typedef union epoll_data {
? ? void *ptr;
? ? int fd;
? ? uint32_t u32;
? ? uint64_t u64;
} epoll_data_t;


struct epoll_event {
? ? uint32_t events; /* Epoll events */
? ? epoll_data_t data; /* User data variable */
};


可以看到epoll_data_t是一个union的数据类型,
该数据结构中有两个重要成员:
void *ptr和int fd。
@1.如果使用fd成员,可以简单的将fd和event绑定。
@2.如果使用*ptr成员,可以通过该指针传进一个自定义的数据类型:
可以将fd和buffer(event buffer)封装在结构体中,通过ptr传进去。

相关推荐

最新更新

猜你喜欢