[Twisted-Python] kqueue reactor / ticket #1918

exarkun at twistedmatrix.com exarkun at twistedmatrix.com
Fri Nov 4 11:00:24 MDT 2011


On 04:49 pm, kevin.horn at gmail.com wrote:
>On Fri, Nov 4, 2011 at 9:11 AM, Tobias Oberstein <
>tobias.oberstein at 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.)

It would be fine for Twisted to offer this feature only on Python 2.6 
and newer.

Jean-Paul




More information about the Twisted-Python mailing list