use timeout based flow control