Haxxio UDP Serial Port Redirector
Why does the Redirector not have flow control
Before answering this question, it is important to understand why flow control is used.


Flow control is used to prevent a receiving device being overrun with data, ie data is delivered to the port at a faster rate than the application can consume it. With a real physical serial port under an operating system such as DOS, if the application didn't directly service the incoming data quickly enough the UART chip buffer (usually 16 bytes) would be filled and thus data lost.


Under Windows, the physical ports are serviced by Windows, which can buffer significant amounts of data. Applications subsequently ask Windows for this data, which Windows delivers from its buffers.


Under stress testing, the Redirector has been megabytes of data "behind" in terms of servicing, but Windows has all the data buffered up, so eventually all the data gets processed, without data loss.


The Redirector was originally designed to operate with systems that transmit relatively short messages, in a polled type environment. Such messages would never overrun the Redirector. Even when tested with large data streams, no problems have occurred.


Additionally, it is difficult to define exactly what flow control should mean in a many-to-many environment. Thus it is unlikely that we will attempt to add flow control support to the Redirector.


The only final answer is for you to test the Redirector in your environment, and determine if the lack of flow control is an issue for your applications.

To return to the Haxxio UDP Serial Redirector information page, click here