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
待完善
转载请标明,谢谢
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构