Run-time testing begins this weekend, but it passes build testing and I
fgured it was ready for an audit check. If anyone else wants to assist
testing it that would be welcome. I am proposing this to go into trunk
for squid-3.3.
Split-stack support for ICP, HTCP, SNMP
* Make all *_port directives accept the "[ip|hostname|]:port options"
format used by http_port.
* Remove incoming/outgoing address directives for UDP.
Incoming address is now specified on the *_port directive.
NOTE: Outgoing address is no longer possible due to split-stack and
multiple-port structural changes. Instead use the configured address
of the first port directive which has matching protocol family as
outgoing address. This retains the ability to configure different
listening and sending ports.
ALTERNATIVE (not coded here):
Could also make the udp_outgoing_address directive mirror the ACL
driven style of tcp_outgoing_address. I did not do this (yet) since I
figure
that is slower than the current scan for first-usabe address.
* Added DNS incomgin/outgoing address directives since DNS is not
included in these
port changes.
* Restructure ModPoll, ModSelect to use new list of ports instead
of a fixed-size global array.
NOTE: It appears that HTTPS and HTCP were only checked once per I/O
loop iteration but HTTP and ICP had optimizations to increase their
receive rates.
* added HTCP and HTTPS alongside ICP and HTTP special interval
select loop handling. This should bring all listening port protocols into
parity with their accept()/recvmsg() priority again.
* rename ICP/HTTP incoming_*, *_average and *_poll directives as
UDP and TCP since ICP now includes HTCP, and HTTP now includes TCP.
Also duplicated documentation for several of them.
FUTURE WORK:
* comm/ModSelectWin32 needs re-sync with comm/ModSelect
* remove NHttpSockets limit and HttpSockets[] global array.
Amos
This archive was generated by hypermail 2.2.0 : Tue Mar 20 2012 - 12:00:07 MDT