The changes to in xfrin to use dispatch have stopped the parallel TCP connections.
With the old code each transfer used a new TCP connection. The new code attempts to use an existing connection then creates a new connection if it can't find one. While interleaving *xfr streams on a TCP connection should work this should be a deliberate change and be property of the server that can be controlled. Additionally some level of parallel TCP streams is desirable.
There should also be explicit testing of this new behaviour.
Edited by Mark Andrews