Jim Jagielski wrote: > Paul Querna wrote: > > > I think "mixing" Listen and Protocol has the potential of > confusing things more than solving problems (ala Listen and > Port used to)... What is the exact problem this is trying to fix?
The Problem: We do not know what protocol will be used to handle a connection until runtime. We currently cannot determine this at startup. This results in: Primary: Accept Filters and TCP_DEFFER_ACCEPT are currently not used correctly. The 'httpready' accept filter is currently applied to all sockets. This means protocols like nntp, where the server must send data first, don't work at all. Rasmus said it has the potential to cause problems with SSL Servers, but I haven't personally observed this. Secondary: Protocol modules all have a 'FooEngine' directive to activate them on a Virtual Host level. This has several problems, since for many protocols a 'Virtual Host' makes no sense. (There are lots of other issues here, with using non-HTTP protocols, but the gist is that they all require a special directive to tell if they are active for a connection.)
