Name ____________________________ Total score is out of 100. Maximum score is 140. Write-up (6 pts each) ___ Gives overview of packet format ___ Provides overview of algorithm ___ Describes implementation ___ Has compilation and running instructions (+1 if they actually work) Reliable Data Delivery (10 pts each) ___ Implements acks and ack pacing ___ Retransmits lost data (has timer); all data is received ___ Data is delivered in order ___ Round Trip Time estimated correctly (Jacobson's formula) ___ Ramps up to bottleneck bandwidth (slow start) Implementation Details (5 pts each) ___ Implements closing handshake ___ Is multi-threaded (no spawning of thread per packet!) ___ Exports a clean API (send() and recv() at a min) ___ Write thread blocks until window is open ___ Read thread blocks until data arrives Bonus (10 pts each unless otherwise noted) ___ Implements fast retransmission ___ Implements fast restart ___ Implements AIMD ___ Supports non-blocking I/O ___ Does Vegas-like congestion avoidance ___ Multiple 'TCP' ports (connections) supported (+5) Total Score _____