
On 04:49 pm, kevin.horn@gmail.com wrote:
On Fri, Nov 4, 2011 at 9:11 AM, Tobias Oberstein < tobias.oberstein@tavendo.de> wrote:
Is there even a kqueue-based Twisted reactor?
Yes... ish. More detail here: < http://twistedmatrix.com/trac/ticket/1918>.
Hi Glyph,
first, thanks as always!
The pykqueue 1.3 and 2.0 referenced in that ticket seem to be no longer maintained.
On the other hand, Python has built-in support for kqueue since Python 2.6 in the select module.
I have adjusted the Twisted kqreactor to select.kqueue and made a package:
https://github.com/oberstet/txkqreactor
I have tested that reactor successfully with Autobahn WebSockets on FreeBSD 8.2 (running as a VirtualBox x86 VM). When I'm home later, I can check out Mac.
Doing the Autobahn tests helped me finding the only non-canonical change required
https://github.com/oberstet/txkqreactor/commit/27302b4f643cd3967289ff11d8113...
Is there any regression/test/stresstest I could run to verify the stuff actually works?
The Autobahn WS tests do quite some stuff, but they do not test concurrency and high connections numbers ..
Cheers, Tobias This is awesome, BUT...
...would probably have to be distributed outside of Twisted proper (at least for the moment), as Twisted supports versions of Python < 2.6, where select.kqueue would not exist.
(Maybe this is your plan, but I'm just pointing it out.)
It would be fine for Twisted to offer this feature only on Python 2.6 and newer. Jean-Paul