[reSIProcate] large epoll-related resip/stack commit
Hi,
I just committed a batch of changes to rutil,resip/stack and repro. The changes are related to epoll support and performance optimization to support large numbers of TCP connections and high rate UDP flows. Change details are in SVN, but summary is:
* Expose an "external" epoll interface instead of just the prior "internal" epoll. This paves the way for 3rd party event loop integration (libevent,asio).
* Peformance optimization of TCP and UDP transports. The riskier version of these are off by default and can be turned on via transportFlags.
* With above changes, the epoll-based loop has roughly the same performance as the select loop even for small numbers of connections. I'll send out details on that later.
* Better reporting of transport and connection problems via the Warning header. This exposes additional information; if anyone feels this is a security issue, please let me know and I'll make it configurable.
These changes have not been tested on Windows -- please let me know if any issues.
Regards,
Kennard