This appears to work properly with reordering, ran it with 90% reordering and it definitely takes time, but it works.  So we should make the data sent in each packet rather large, as this takes time