We don't need to call ourselves every time to see if the data transfer finished,
the iodevice will signal us thorough readChannelFinished when that happens.
This comes along with an improved test which actually writes data slowly twice,
with the old code this improved test would also fail since after the first write
would decided we are done and finish the transaction.