Dispatcher fails to receive any events in low-rate situations
How reproducible: always
Where reproduced: SBND, ironwork
TCPSocketTransfer only retries a set number of times before declating DATA_END if no senders are connected. In low-rate situations, this can lead to DataReceiverManager giving up before the first fragment is transferred.
I have updated TCPSocketTransfer to use a timeout instead of a loop counter, and only start this timeout if no senders are connected AFTER senders have been connected, i.e. a sender has gone away.