Re: Developing PLATOTerm64, Flow Control woes.

From: smf <smf_at_null.net>
Date: Wed, 4 Jul 2018 19:41:25 +0100
Message-ID: <b6c34f67-565c-b7f3-4901-8cc906e6b71e@null.net>
On 04/07/2018 04:34, Mike Stein wrote:
> If you say so; presumably the folks who have replaced RS-232 connections with Ethernet are liars, as are the companies that sell 'bridges' to replace both direct RS-232 and modem connections and advertise that no software changes will be necessary and XON/XOFF flow control is an option.

In my experience you have to configure the bridge to do xon/xoff and 
then it's just a local flow control, the characters are filtered out and 
not sent over the internet. When you send an xoff to the bridge it will 
stop reading from the tcp buffer on the bridge and it will become full 
so it will stop acking packets, the transmit buffers on the other 
computer will fill up and it will then pause. RTS/CTS flow control is 
handled in the same way.

If instead you have two bridges passing the xon/xoff through and you 
expect a computer on the other end of the world to stop sending in time, 
then it's not going to have the expected result.

> I'd say the receive FIFOs can indeed be the problem; if you're 
> allowing the buffer to fill and are discarding data then I'd say 
> you're not controlling the flow of data very effectively. Why on earth 
> would I not read the data in the Rx FIFO, especially if it generates 
> an interrupt?

I've seen people have the bright idea of when their buffers are full 
because a resource they need to write to is unavailable, they will let 
the RX FIFO fill up on the off chance that the resource will become 
available allowing their buffer to clear before the RX fifo overflows. 
Instead you have to pull the data out of the RX FIFO as soon as you can 
and discard it if your buffer is full, because it might be an xoff/xon 
which doesn't need to go into the buffer anyway.
Received on 2018-07-04 21:02:08

Archive generated by hypermail 2.2.0.