epoll.close() Close the control file descriptor of the epoll object.关闭epoll对象的文件描述符
epoll.closed True if the epoll object is closed.检测epoll对象是否关闭
epoll.fileno() Return the file descriptor number of the control fd.返回epoll对象的文件描述符
epoll.fromfd(fd) Create an epoll object from a given file descriptor.根据指定的fd创建epoll对象
epoll.register(fd[, eventmask]) Register a fd descriptor with the epoll object.向epoll对象中注册fd和对应的事件
epoll.modify(fd, eventmask) Modify a registered file descriptor.修改fd的事件
epoll.unregister(fd) Remove a registered file descriptor from the epoll object.取消注册
epoll.poll(timeout=-1, maxevents=-1) Wait for events. timeout in seconds (float)阻塞,直到注册的fd事件发生,会返回一个dict,格式为:{(fd1,event1),(fd2,event2),……(fdn,eventn)}
事件:
1 2 3 4 5 6 7 8 9 10 11 12
EPOLLIN Available for read 可读 状态符为1 EPOLLOUT Available for write 可写 状态符为4 EPOLLPRI Urgent data for read EPOLLERR Error condition happened on the assoc. fd 发生错误 状态符为8 EPOLLHUP Hang up happened on the assoc. fd 挂起状态 EPOLLET Set Edge Trigger behavior, the default is Level Trigger behavior 默认为水平触发,设置该事件后则边缘触发 EPOLLONESHOT Set one-shot behavior. After one event is pulled out, the fd is internally disabled EPOLLRDNORM Equivalent to EPOLLIN EPOLLRDBAND Priority data band can be read. EPOLLWRNORM Equivalent to EPOLLOUT EPOLLWRBAND Priority data may be written. EPOLLMSG Ignored.