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/27302b4f643cd3967289ff11d811309a0b05f630

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.)

Kevin Horn