Details
Description
Currently BlockReceiver#PacketResponder interleaves receiving ack message and sending ack message for the same packet. It reads a portion of the message, sends a portion of its ack, and continues like this until it hits the end of the message. The problem is that if it gets an error receiving the ack, it is not able to send an ack that reflects the source of the error.
The PacketResponder should receives the whole packet ack message first and then constuct and sends out its ack.