Delete file if transfer fails
Imports.
Go back around the loop after sending an ack-only packet too.
Delete unnecessary code: Either we sent a packet (=> we need to recalculate), or we didn't (=> nextUrgentTime is accurate).
canSendThrottled can't be modified except by re-running realRun()