Skip to content
  • Philip Withnall's avatar
    agent: Queue incoming pseudo-TCP messages until ACKs can be sent · 18e2e3a2
    Philip Withnall authored and Olivier Crête's avatar Olivier Crête committed
    If pseudo-TCP messages are received before a socket has been selected
    from all the STUN candidates, they would previously be immediately
    passed to the pseudo-TCP state machine, which would attempt to send ACKs
    for them. This would fail (due to a lack of an outbound UDP socket), and
    would incur a retransmit timeout in the TCP state machine. This slowed
    down the tests enormously if one agent in a test completed candidate
    selection before the other (which is an entirely reasonable scenario).
    
    This never occurred before because the existing tests artificially run
    both agents in lock-step, and never send data packets from one to the
    other until both have completed candidate selection. This is basically
    cheating.
    
    Fix the problem by queuing incoming pseudo-TCP messages until an
    outbound UDP socket is available to send the ACKs or SYNACKs on.
    18e2e3a2