Connection backlog (was: [En-Nut-Discussion] HTTP Multi Request)

Bernd Walter enut at cicely.de
Tue Oct 12 14:31:53 CEST 2004


On Fri, Oct 08, 2004 at 10:29:32AM +0200, Harald Kipp wrote:
> Right now the http code doesn't support keepalive.
> You need to run several threads to avoid rejected
> connections. Nut/Net doesn't support a connection
> backlog either.

Connection backlog / select on listen were important features for me.
I'm using Ethernut based boards for modbus TCP to RS485 converter and
run 24 connection threads + 4 http threads.
There are already a lot of limitations to even reach that numbers.
So far each thread is tagged to a given TCP port only.
As I plan to build up to 12 RS485 busses I currently can only handle
a single connect per port and another one waiting.
The number of threads with their memory load forced me to use a common
modbus packet buffer, so I can't use the RS485 ports concurently.
Connection backlog would help very much in that situation and having
the option for a single thread to listen to multiple ports would be
a big plus too.
I already thought about switching over to uIP - it's not that
powerfull in generel, but with it's event based stack you don't have
to worry about listen queues.
A workaround might be to drop connection refused packets altogether
connecting clients automatically retry.
Currently I had to reduce the 12 RS485 busses to a small number of
logical busses so they can share the TCP port and threads.

-- 
B.Walter                   BWCT                http://www.bwct.de
bernd at bwct.de                                  info at bwct.de




More information about the En-Nut-Discussion mailing list