Go to the latest version of this document.

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

class documentation

`class IOCPReactor(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` | No summary
Method | `connectTCP` | No summary
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` | No summary
Method | `listenTCP` | No summary
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 `ReactorBase`:

Method | `addReader` | Undocumented
Method | `addSystemEventTrigger` | See twisted.internet.interfaces.IReactorCore.addSystemEventTrigger.
Method | `addWriter` | Undocumented
Method | `callFromThread` | See `twisted.internet.interfaces.IReactorFromThreads.callFromThread`.
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 | `mainLoop` | Undocumented
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 | `_addInternalReader` | Add a read descriptor which is part of the implementation of the reactor itself.
Method | `_cancelCallLater` | Undocumented
Method | `_initThreadPool` | Create the threadpool accessible with callFromThread.
Method | `_initThreads` | Undocumented
Method | `_insertNewDelayedCalls` | Undocumented
Method | `_makeSignalHandling` | Get an appropriate signal handling object.
Method | `_moveCallLaterSooner` | Undocumented
Method | `_reallyStartRunning` | Method called to transition to the running state. This should happen in the during startup event trigger phase.
Method | `_removeInternalReader` | Remove a read descriptor which is part of the implementation of the reactor itself.
Method | `_signalsFactory` | Get a signal handling object that implements the basic behavior of stopping the reactor on SIGINT, SIGBREAK, and SIGTERM.
Method | `_stopThreadPool` | Stop the reactor threadpool. This method is only valid if there is currently a threadpool (created by `_initThreadPool`). It is not intended to be called directly; instead, it will be called by a shutdown trigger created in ...
Method | `_uninstallHandler` | Undocumented
Class Variable | `_lock` | Undocumented
Instance Variable | `_cancellations` | Undocumented
Instance Variable | `_eventTriggers` | Undocumented
Instance Variable | `_exitSignal` | See `_ISupportsExitSignalCapturing._exitSignal`
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
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...
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 | `_signals` | An object which knows how to install and uninstall the reactor's signal-handling behavior.
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` (via `ReactorBase`, `PluggableResolverMixin`):

Method | `addEvent` | No summary
Method | `removeEvent` | No summary
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)

See Also
twisted.internet.interfaces.IReactorSSL.connectSSL

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: `socket.AddressFamily`, stype: `socket.SocketKind`) -> `socket.socket`: (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)

See Also
twisted.internet.interfaces.IReactorSSL.listenSSL

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