Day47 - Multi-message TX Queue & EPOLLOUT Pipeline¶
Summary¶
Implemented a multi-message TX queue for the non-blocking epoll TCP server.
What I Learned¶
- A TX queue is needed because non-blocking
send()may only send part of a message. - Each message requires its own
offset. front()must only peek;pop()should happen only after the message is fully sent.client_destroy()must clear pending TX messages to avoid memory leaks.- EPOLLOUT should be disabled when TX queue becomes empty.
- TCP does not preserve message boundaries.
Key Observation¶
Burst tests showed that multiple input lines may be received in one recv(),
and one logical line may be split across multiple recv() calls.
Next Step¶
Implement RX buffer and protocol parser using newline-based framing.