This is my personal playground to test miscellaneous stuff and know more about how some system functions are working.
Some private data is hidden in ignored config.h, so this may be not very useful to most peope.
Investigating how epoll works in edge-triggered mode.
- It seems that event is fired every time descriptor state changed.
So you actually not always need to check to read/write until
EAGAIN
(if you have read/wrote all you needed, just go into epoll_wait again, possibly marking descriptor as "ready-for-read/ready-for-write" just like nginx does) EPOLLRDHUP
appears on sockets as a result of receiving FIN message (via shutdown). To getEPOLLRDHUP
, you'll need explicitly set it in events mask.
Attempt to investigate how effective EPOLLET
+ splice(2)
can be.
If reading/restoring checksum state works as expected (for resuming of large transfers checksums).
How to get correct errno when dealing with non-blocking connect
Miscellaneous wrappers to make writing test samples easy-breezy without tons of boilerplate crap.