go-epoll源码解析.md
golang-epoll模型源码解析
epoll
epoll is an io multipexing model in linux env.

epoll generate epoll table.
A new socket will be put into epoll table after bind and listen operation. Then we will get ready events with wait func

When epoll_wait() returns ready events,we need determine whether it's a new connection at first.
If new, fdDesc will be added to epoll table for listen events.
Else it means there have read or wirte events for established connection, we need call epollout or epollin
fdDesc
file Description
src/internal/poll/fd_uni.go
type FD struct{
fdmu fdMutex // lock sysfd and serialize access to read and write methods
sysfd int // system file name, immutable until close
pd pollDesc // I/O poller
***
isFile /// whether this is a file rather tan a network socket
}
now show struct pollDesc
待完善
转载请标明,谢谢

浙公网安备 33010602011771号