t.i.win32eventreactor : module documentation

Part of twisted.internet View Source

A win32event based implementation of the Twisted main loop.

This requires pywin32 (formerly win32all) or ActivePython to be installed.

To install the event loop (and you should do this before any connections, listeners or connectors are added):

   from twisted.internet import win32eventreactor
   win32eventreactor.install()

LIMITATIONS:

  1. WaitForMultipleObjects and thus the event loop can only handle 64 objects.
  2. Process running has some problems (see Process docstring).

TODO:

  1. Event loop handling of writes is *very* problematic (this is causing failed tests). Switch to doing it the correct way, whatever that means (see below).
  2. Replace icky socket loopback waker with event based waker (use dummyEvent object)
  3. Switch everyone to using Free Software so we don't have to deal with proprietary APIs.

ALTERNATIVE SOLUTIONS:

Or:

The 2nd solution is probably what will get implemented.

Function WSAEnumNetworkEvents Undocumented
Class Win32Reactor Reactor that uses Win32 event APIs.
Function install Undocumented
Class _ThreadFDWrapper This wraps an event handler and translates notification in the helper Win32Reactor thread into a notification in the primary reactor thread.
Class _ThreadedWin32EventsMixin This mixin implements IReactorWin32Events for another reactor by running a Win32Reactor in a separate thread and dispatching work to it.
def WSAEnumNetworkEvents(fd, event): (source)
Undocumented
def install(): (source)
Undocumented
API Documentation for Twisted, generated by pydoctor at 2013-11-08 22:07:30.