Implement Pools for Data Packets, Repair Packets
- Allocate pools when socket is created (at least half the sequence number space + maximum code block length).
- Use next free item out of pool when data is received from application layer.
- Forward pointer to item to the next stages.