1. A method for controlling packet flow from a sender to a receiver over a network, the method comprising: forwarding to a receiver, by a first intermediary device deployed between a sender and the receiver, a first data packet from the sender; generating, by the first intermediary device, a first transport layer acknowledgement to pre-acknowledge the first data packet on behalf of the receiver; transmitting, by the first intermediary device upon forwarding the first data packet to the receiver, the first transport layer acknowledgement to the sender while the first intermediary device has yet to receive a second transport layer acknowledgement from the receiver acknowledging receipt of the first data packet; receiving, by the first intermediary device, a second data packet from the sender; determining, by the first intermediary device, that storing the second data packet to a buffer of the first intermediary device exceeds a first predetermined threshold of a number of packets in the buffer; generating, by the first intermediary device, a third transport layer acknowledgement to pre-acknowledge the second data packet on behalf of the receiver; and setting, by the first intermediary device, responsive to the determination, a transport layer window size of the third transport layer acknowledgement to a size smaller than a maximum segment size.