Day48 - epoll and timerfd Idle Timeout¶
Goal¶
Implement idle timeout handling in an epoll-based TCP server.
Step 1 - Create timerfd¶
- Use
timerfd_create() - Set periodic timer (1 second)
Step 2 - Add timerfd to epoll¶
Step 3 - Handle timer event¶
Update server time:
Step 4 - Add client list¶
- linked list
- add on accept
- remove on destroy
Step 5 - Track last activity¶
Update on:
- accept
- recv > 0
Step 6 - Scan timeout¶
Step 7 - Testing¶
Run test script:
Expected Result¶
- idle client is disconnected
- active client remains connected
- multiple clients handled correctly