So I am kind of confused on how to properly implement flow control with the new changes to the spec. Since we are not using threading and passing control of the program to the my_recv function, we do not have a thread that fills a staging buffer which is then processed by a processor thread. All of this instead happens in order, we get a packet from the kernel using the recvfrom function. Then we ack if necessary and put the packet in its proper place. In this way we never will have a buffer that overflows because we process as we receive and we will never have to readjust the advertised window size. I have thought of ways to artificially reduce the window size if we receive too many out of order packets because we save those in a buffer, but I am not sure if I am missing something.
<br><br>So my question is, in what cases will we have to reduce the size of the advertised window for flow control?<br><br>-Amit<br>