progress() might need to send output packets but the `TrafSend` may not have space. Would it be OK to check for empty `TrafSend` at the top of progress()?