# ``twisted`.`internet`.`iocpreactor`.`reactor`.`IOCPReactor``

class documentation

`class IOCPReactor(base._SignalReactorMixin, base.ReactorBase, _ThreadedWin32EventsMixin): (source)`

Implements interfaces: `twisted.internet.interfaces.IReactorMulticast`, `twisted.internet.interfaces.IReactorProcess`, `twisted.internet.interfaces.IReactorTCP`, `twisted.internet.interfaces.IReactorUDP`

View In Hierarchy

Undocumented

Method | `__init__` | Undocumented
Method | `addActiveHandle` | Undocumented
Method | `connectSSL` | Non-implementation of `IReactorSSL.connectSSL`. Some dependency is not satisfied. This implementation always raises `NotImplementedError`.
Method | `connectTCP` |
Method | `createSocket` | Undocumented
Method | `doIteration` | Poll the IO completion port for new events.
Method | `installWaker` | Undocumented
Method | `listenMulticast` | Connects a given DatagramProtocol to the given numeric UDP port.
Method | `listenSSL` | Non-implementation of `IReactorSSL.listenSSL`. Some dependency is not satisfied. This implementation always raises `NotImplementedError`.
Method | `listenTCP` |
Method | `listenUDP` | Connects a given `DatagramProtocol` to the given numeric UDP port.
Method | `registerHandle` | Undocumented
Method | `removeActiveHandle` | Undocumented
Method | `removeAll` | Undocumented
Method | `spawnProcess` | Spawn a process.
Method | `wakeUp` | Wake up the event loop.
Instance Variable | `handles` | Undocumented
Instance Variable | `port` | Undocumented
Method | `_callEventCallback` | Undocumented

Inherited from `_SignalReactorMixin`:

Method | `mainLoop` | Undocumented
Method | `run` | Undocumented
Method | `startRunning` | Extend the base implementation in order to remember whether signal handlers should be installed later.
Method | `_handleSignals` | Install the signal handlers for the Twisted event loop.
Method | `_reallyStartRunning` | Extend the base implementation by also installing signal handlers, if `self._installSignalHandlers` is true.
Instance Variable | `_installSignalHandlers` | A flag which indicates whether any signal handlers will be installed during startup. This includes handlers for SIGCHLD to monitor child processes, and SIGINT, SIGTERM, and SIGBREAK to stop the reactor.

Inherited from `ReactorBase`:

Method | `addReader` | Undocumented
Method | `addSystemEventTrigger` | See twisted.internet.interfaces.IReactorCore.addSystemEventTrigger.
Method | `addWriter` | Undocumented
Method | `callFromThread` | Cause a function to be executed by the reactor thread.
Method | `callInThread` | See `twisted.internet.interfaces.IReactorInThreads.callInThread`.
Method | `callLater` | See twisted.internet.interfaces.IReactorTime.callLater.
Method | `callWhenRunning` | See twisted.internet.interfaces.IReactorCore.callWhenRunning.
Method | `crash` | See twisted.internet.interfaces.IReactorCore.crash.
Method | `disconnectAll` | Disconnect every reader, and writer in the system.
Method | `fireSystemEvent` | See twisted.internet.interfaces.IReactorCore.fireSystemEvent.
Method | `getDelayedCalls` | See `twisted.internet.interfaces.IReactorTime.getDelayedCalls`
Method | `getReaders` | Undocumented
Method | `getThreadPool` | See `twisted.internet.interfaces.IReactorThreads.getThreadPool`.
Method | `getWriters` | Undocumented
Method | `iterate` | See twisted.internet.interfaces.IReactorCore.iterate.
Method | `removeReader` | Undocumented
Method | `removeSystemEventTrigger` | See twisted.internet.interfaces.IReactorCore.removeSystemEventTrigger.
Method | `removeWriter` | Undocumented
Method | `resolve` | Return a Deferred that will resolve a hostname.
Method | `run` | Fire 'startup' System Events, move the reactor to the 'running' state, then run the main loop until it is stopped with `stop()` or `crash()`.
Method | `runUntilCurrent` | Run all pending timed calls.
Method | `sigBreak` | Handle a SIGBREAK interrupt.
Method | `sigInt` | Handle a SIGINT interrupt.
Method | `sigTerm` | Handle a SIGTERM interrupt.
Method | `startRunning` | Method called when reactor starts: do some initialization and fire startup events.
Method | `stop` | See twisted.internet.interfaces.IReactorCore.stop.
Method | `suggestThreadPoolSize` | See `twisted.internet.interfaces.IReactorThreads.suggestThreadPoolSize`.
Method | `timeout` | Determine the longest time the reactor may sleep (waiting on I/O notification, perhaps) before it must wake up to service a time-related event.
Class Variable | `__name__` | Undocumented
Class Variable | `installed` | Undocumented
Class Variable | `seconds` | Get the current time in seconds.
Instance Variable | `running` | See `IReactorCore.running`
Instance Variable | `threadCallQueue` | Undocumented
Instance Variable | `threadpool` | Undocumented
Instance Variable | `threadpoolShutdownID` | Undocumented
Instance Variable | `usingThreads` | Undocumented
Instance Variable | `waker` | Undocumented
Method | `_cancelCallLater` | Undocumented
Method | `_initThreadPool` | Create the threadpool accessible with callFromThread.
Method | `_initThreads` | Undocumented
Method | `_insertNewDelayedCalls` | Undocumented
Method | `_moveCallLaterSooner` | Undocumented
Method | `_reallyStartRunning` | Method called to transition to the running state. This should happen in the during startup event trigger phase.
Method | `_stopThreadPool` | No summary
Method | `_uninstallHandler` | Undocumented
Class Variable | `_lock` | Undocumented
Instance Variable | `_cancellations` | Undocumented
Instance Variable | `_eventTriggers` | Undocumented
Instance Variable | `_exitSignal` | See `_ISupportsExitSignalCapturing._exitSignal`
Instance Variable | `_internalReaders` | Undocumented
Instance Variable | `_justStopped` | A flag which is true between the time `reactor.stop` is called and the time the shutdown system event is fired. This is used to determine whether that event should be fired after each iteration through the mainloop. This should be replaced with an explicit state machine.
Instance Variable | `_newTimedCalls` | Undocumented
Instance Variable | `_pendingTimedCalls` | Undocumented
Instance Variable | `_registerAsIOThread` | A flag controlling whether the reactor will register the thread it is running in as the I/O thread when it starts. If `True`, registration will be done, otherwise it will not be.
Instance Variable | `_started` | A flag which is true from the time `reactor.run` is called until the time `reactor.run` returns. This is used to prevent calls to `reactor.run` on a running reactor. This should be replaced with an explicit state machine.
Instance Variable | `_startedBefore` | Undocumented
Instance Variable | `_stopped` | A flag which is true between paired calls to `reactor.run` and `reactor.stop`. This should be replaced with an explicit state machine.
Instance Variable | `_threadpoolStartupID` | Undocumented

Inherited from `PluggableResolverMixin` (via `ReactorBase`):

Method | `installNameResolver` | See `IReactorPluggableNameResolver`.
Method | `installResolver` | See `IReactorPluggableResolver`.
Instance Variable | `resolver` | The installed `IResolverSimple`.
Property | `nameResolver` | Implementation of read-only `IReactorPluggableNameResolver.nameResolver`.
Instance Variable | `_nameResolver` | The installed `IHostnameResolver`.

Inherited from `_ThreadedWin32EventsMixin`:

Method | `addEvent` |
Method | `removeEvent` |
Method | `_makeHelperReactor` | Create and (in a new thread) start a `Win32Reactor` instance to use for the implementation of `IReactorWin32Events`.
Method | `_unmakeHelperReactor` | Stop and discard the reactor started by `_makeHelperReactor`.
Instance Variable | `_reactor` | The `Win32Reactor` running in the other thread. This is `None` until it is actually needed.
Instance Variable | `_reactorThread` | The `threading.Thread` which is running the `Win32Reactor`. This is `None` until it is actually needed.

def __init__(self): (source)
overrides `twisted.internet.base.ReactorBase.__init__`

Undocumented

def addActiveHandle(self, handle): (source)

Undocumented

def connectSSL(self, host, port, factory, contextFactory, timeout=30, bindAddress=None): (source)
Non-implementation of `IReactorSSL.connectSSL`. Some dependency is not satisfied. This implementation always raises `NotImplementedError`.
def connectTCP(self, host, port, factory, timeout=30, bindAddress=None): (source)
from `twisted.internet.interfaces.IReactorTCP`

See Also
twisted.internet.interfaces.IReactorTCP.connectTCP

def createSocket(self, af, stype): (source)

Undocumented

def doIteration(self, timeout): (source)
overrides `twisted.internet.base.ReactorBase.doIteration`
Poll the IO completion port for new events.
def installWaker(self): (source)
overrides `twisted.internet.base.ReactorBase.installWaker`

Undocumented

def listenMulticast(self, port, protocol, interface='', maxPacketSize=8192, listenMultiple=False): (source)
from `twisted.internet.interfaces.IReactorMulticast`

Connects a given DatagramProtocol to the given numeric UDP port.

EXPERIMENTAL.

Returns
object conforming to IListeningPort.

def listenSSL(self, port, factory, contextFactory, backlog=50, interface=''): (source)
Non-implementation of `IReactorSSL.listenSSL`. Some dependency is not satisfied. This implementation always raises `NotImplementedError`.
def listenTCP(self, port, factory, backlog=50, interface=''): (source)
from `twisted.internet.interfaces.IReactorTCP`

See Also
twisted.internet.interfaces.IReactorTCP.listenTCP

def listenUDP(self, port, protocol, interface='', maxPacketSize=8192): (source)
from `twisted.internet.interfaces.IReactorUDP`
Connects a given `DatagramProtocol` to the given numeric UDP port.

Returns
object conforming to `IListeningPort`.

def registerHandle(self, handle): (source)

Undocumented

def removeActiveHandle(self, handle): (source)

Undocumented

def removeAll(self): (source)
overrides `twisted.internet.base.ReactorBase.removeAll`

Undocumented

def spawnProcess(self, processProtocol, executable, args=(), env={}, path=None, uid=None, gid=None, usePTY=0, childFDs=None): (source)
from `twisted.internet.interfaces.IReactorProcess`
Spawn a process.
def wakeUp(self): (source)
overrides `twisted.internet.base.ReactorBase.wakeUp`
Wake up the event loop.
handles: `set` = (source)

Undocumented

port = (source)

Undocumented

def _callEventCallback(self, rc, numBytes, evt): (source)

Undocumented