receiver controls sender, so sender won't overflow receiver's buffer by transmitting too much, too fast
receiver controls sender, so sender won't overflow receiver's buffer by transmitting too much, too fast
only allow a limited amount of data buffered at the sender and receiver sockets. sends will block once the sender buffer is full - used in tcp