only request one block at a time, print when receiving or requesting block, and remove a block only after three errors in a row