Checkpoint -- cwnd is nominally working, but not structured well for retransmission, etc. TODO: use linked list of packets, implement timeouts