Class t.i.d.PosixReactorBase(_SignalReactorMixin, ReactorBase):

Part of twisted.internet.default View Source View In Hierarchy

Known subclasses: twisted.internet._threadedselect.ThreadedSelectReactor, twisted.internet.default.SelectReactor, twisted.internet.epollreactor.EPollReactor, twisted.internet.gtk2reactor.Gtk2Reactor, twisted.internet.gtkreactor.GtkReactor, twisted.internet.kqreactor.KQueueReactor, twisted.internet.pollreactor.PollReactor, twisted.internet.win32eventreactor.Win32Reactor (hide last 5 again) ... and 5 more

Implements interfaces: twisted.internet.interfaces.IReactorArbitrary, twisted.internet.interfaces.IReactorMulticast, twisted.internet.interfaces.IReactorProcess, twisted.internet.interfaces.IReactorSSL, twisted.internet.interfaces.IReactorTCP, twisted.internet.interfaces.IReactorUDP, twisted.internet.interfaces.IReactorUNIX, twisted.internet.interfaces.IReactorUNIXDatagram (hide last 5 again) ... and 5 more

A basis for reactors that use file descriptors.

Split Table into Classes Show Methods in One Table

Line # Kind Name Docs
169 Method __init__ Undocumented
198 Method installWaker Install a `waker' to allow threads and signals to wake up the IO thread.
212 Method spawnProcess Spawn a process, with a process protocol.
243 Method listenUDP Connects a given DatagramProtocol to the given numeric UDP port.
252 Method connectUDP DEPRECATED.
266 Method listenMulticast Connects a given DatagramProtocol to the given numeric UDP port.
280 Method connectUNIX
307 Method listenUNIX
321 Method listenUNIXDatagram Connects a given DatagramProtocol to the given path.
336 Method connectUNIXDatagram Connects a ConnectedDatagramProtocol instance to a path.
352 Method listenTCP
359 Method connectTCP
368 Method connectSSL
376 Method listenSSL
385 Method listenWith Start an instance of the given portType listening.
391 Method connectWith Start an instance of the given connectorType connecting.
175 Method _disconnectSelectable Utility function for disconnecting a selectable.
289 Method _checkMode Check mode to see if a value was specified for it and emit a
397 Method _removeAll Remove all readers and writers, and return list of Selectables.

Inherited from _SignalReactorMixin:

Line # Kind Name Docs
1096 Method startRunning Extend the base implementation in order to remember whether signal
1126 Method run Undocumented
1131 Method mainLoop Undocumented
1055 Method _handleSignals Install the signal handlers for the Twisted event loop.
1079 Method _handleSigchld Reap all processes on SIGCHLD.
1110 Method _reallyStartRunning Extend the base implementation by also installing signal handlers, if

Inherited from ReactorBase:

Line # Kind Name Docs
456 Method installResolver Set the internal resolver to use to for name lookups.
462 Method wakeUp Wake up the event loop.
470 Method doIteration Do one iteration over the readers and writers which have been added.
477 Method addReader Undocumented
481 Method addWriter Undocumented
485 Method removeReader Undocumented
489 Method removeWriter Undocumented
493 Method removeAll Undocumented
498 Method getReaders Undocumented
503 Method getWriters Undocumented
508 Method resolve Return a Deferred that will resolve a hostname.
521 Method stop See twisted.internet.interfaces.IReactorCore.stop.
532 Method crash See twisted.internet.interfaces.IReactorCore.crash.
545 Method sigInt Handle a SIGINT interrupt.
551 Method sigBreak Handle a SIGBREAK interrupt.
557 Method sigTerm Handle a SIGTERM interrupt.
563 Method disconnectAll Disconnect every reader, and writer in the system.
573 Method iterate See twisted.internet.interfaces.IReactorCore.iterate.
580 Method fireSystemEvent See twisted.internet.interfaces.IReactorCore.fireSystemEvent.
588 Method addSystemEventTrigger See twisted.internet.interfaces.IReactorCore.addSystemEventTrigger.
598 Method removeSystemEventTrigger See twisted.internet.interfaces.IReactorCore.removeSystemEventTrigger.
605 Method callWhenRunning See twisted.internet.interfaces.IReactorCore.callWhenRunning.
614 Method startRunning Method called when reactor starts: do some initialization and fire
648 Method callLater See twisted.internet.interfaces.IReactorTime.callLater.
684 Method cancelCallLater See twisted.internet.interfaces.IReactorTime.cancelCallLater.
692 Method getDelayedCalls Return all the outstanding delayed calls in the system.
708 Method timeout Undocumented
718 Method runUntilCurrent Run all pending timed calls.
871 Method callFromThread 0 See twisted.internet.interfaces.IReactorThreads.callFromThread.
900 Method callInThread See twisted.internet.interfaces.IReactorThreads.callInThread.
908 Method suggestThreadPoolSize See twisted.internet.interfaces.IReactorThreads.suggestThreadPoolSize.
919 Method callFromThread Cause a function to be executed by the reactor thread.
637 Method _reallyStartRunning Method called to transition to the running state. This should happen
661 Method _moveCallLaterSooner Undocumented
681 Method _cancelCallLater Undocumented
699 Method _insertNewDelayedCalls Undocumented
783 Method _checkProcessArgs Check for valid arguments and environment to spawnProcess.
866 Method _initThreads Undocumented
882 Method _initThreadPool Create the threadpool accessible with callFromThread.
892 Method _stopThreadPool Stop the reactor threadpool.
Line # Kind Name Docs
169 Method __init__ Undocumented
477 Method addReader Undocumented
588 Method addSystemEventTrigger See twisted.internet.interfaces.IReactorCore.addSystemEventTrigger.
481 Method addWriter Undocumented
919 Method callFromThread Cause a function to be executed by the reactor thread.
871 Method callFromThread 0 See twisted.internet.interfaces.IReactorThreads.callFromThread.
900 Method callInThread See twisted.internet.interfaces.IReactorThreads.callInThread.
648 Method callLater See twisted.internet.interfaces.IReactorTime.callLater.
605 Method callWhenRunning See twisted.internet.interfaces.IReactorCore.callWhenRunning.
684 Method cancelCallLater See twisted.internet.interfaces.IReactorTime.cancelCallLater.
368 Method connectSSL
359 Method connectTCP
252 Method connectUDP DEPRECATED.
280 Method connectUNIX
336 Method connectUNIXDatagram Connects a ConnectedDatagramProtocol instance to a path.
391 Method connectWith Start an instance of the given connectorType connecting.
532 Method crash See twisted.internet.interfaces.IReactorCore.crash.
563 Method disconnectAll Disconnect every reader, and writer in the system.
470 Method doIteration Do one iteration over the readers and writers which have been added.
580 Method fireSystemEvent See twisted.internet.interfaces.IReactorCore.fireSystemEvent.
692 Method getDelayedCalls Return all the outstanding delayed calls in the system.
498 Method getReaders Undocumented
503 Method getWriters Undocumented
456 Method installResolver Set the internal resolver to use to for name lookups.
198 Method installWaker Install a `waker' to allow threads and signals to wake up the IO thread.
573 Method iterate See twisted.internet.interfaces.IReactorCore.iterate.
266 Method listenMulticast Connects a given DatagramProtocol to the given numeric UDP port.
376 Method listenSSL
352 Method listenTCP
243 Method listenUDP Connects a given DatagramProtocol to the given numeric UDP port.
307 Method listenUNIX
321 Method listenUNIXDatagram Connects a given DatagramProtocol to the given path.
385 Method listenWith Start an instance of the given portType listening.
1131 Method mainLoop Undocumented
493 Method removeAll Undocumented
485 Method removeReader Undocumented
598 Method removeSystemEventTrigger See twisted.internet.interfaces.IReactorCore.removeSystemEventTrigger.
489 Method removeWriter Undocumented
508 Method resolve Return a Deferred that will resolve a hostname.
1126 Method run Undocumented
718 Method runUntilCurrent Run all pending timed calls.
551 Method sigBreak Handle a SIGBREAK interrupt.
545 Method sigInt Handle a SIGINT interrupt.
557 Method sigTerm Handle a SIGTERM interrupt.
212 Method spawnProcess Spawn a process, with a process protocol.
1096 Method startRunning Extend the base implementation in order to remember whether signal
614 Method startRunning Method called when reactor starts: do some initialization and fire
521 Method stop See twisted.internet.interfaces.IReactorCore.stop.
908 Method suggestThreadPoolSize See twisted.internet.interfaces.IReactorThreads.suggestThreadPoolSize.
708 Method timeout Undocumented
462 Method wakeUp Wake up the event loop.
681 Method _cancelCallLater Undocumented
289 Method _checkMode Check mode to see if a value was specified for it and emit a
783 Method _checkProcessArgs Check for valid arguments and environment to spawnProcess.
175 Method _disconnectSelectable Utility function for disconnecting a selectable.
1079 Method _handleSigchld Reap all processes on SIGCHLD.
1055 Method _handleSignals Install the signal handlers for the Twisted event loop.
882 Method _initThreadPool Create the threadpool accessible with callFromThread.
866 Method _initThreads Undocumented
699 Method _insertNewDelayedCalls Undocumented
661 Method _moveCallLaterSooner Undocumented
1110 Method _reallyStartRunning Extend the base implementation by also installing signal handlers, if
637 Method _reallyStartRunning Method called to transition to the running state. This should happen
397 Method _removeAll Remove all readers and writers, and return list of Selectables.
892 Method _stopThreadPool Stop the reactor threadpool.
def __init__(self): (source)
Undocumented
def _disconnectSelectable(self, selectable, why, isRead, faildict={error.ConnectionDone:failure.Failure(error.ConnectionDone()),error.ConnectionLost:failure.Failure(error.ConnectionLost()),}): (source)

Utility function for disconnecting a selectable.

Supports half-close notification, isRead should be boolean indicating whether error resulted from doRead().
def installWaker(self): (source)

Install a `waker' to allow threads and signals to wake up the IO thread.

We use the self-pipe trick (http://cr.yp.to/docs/selfpipe.html) to wake the reactor. On Windows we use a pair of sockets.
def spawnProcess(self, processProtocol, executable, args=(), env={}, path=None, uid=None, gid=None, usePTY=0, childFDs=None): (source)
Spawn a process, with a process protocol.
ParametersprocessProtocolAn object which will be notified of all events related to the created process. (type: IProcessProtocol provider )
executablethe file name to spawn - the full path should be used.
argsthe command line arguments to pass to the process; a sequence of strings. The first string should be the executable's name.
envthe environment variables to pass to the processs; a dictionary of strings. If 'None', use os.environ.
paththe path to run the subprocess in - defaults to the current directory.
uiduser ID to run the subprocess as. (Only available on POSIX systems.)
gidgroup ID to run the subprocess as. (Only available on POSIX systems.)
usePTYif true, run this process in a pseudo-terminal. optionally a tuple of (masterfd, slavefd, ttyname), in which case use those file descriptors. (Not available on all systems.)
childFDs

A dictionary mapping file descriptors in the new child process to an integer or to the string 'r' or 'w'.

If the value is an integer, it specifies a file descriptor in the parent process which will be mapped to a file descriptor (specified by the key) in the child process. This is useful for things like inetd and shell-like file redirection.

If it is the string 'r', a pipe will be created and attached to the child at that file descriptor: the child will be able to write to that file descriptor and the parent will receive read notification via the IProcessProtocol.childDataReceived callback. This is useful for the child's stdout and stderr.

If it is the string 'w', similar setup to the previous case will occur, with the pipe being readable by the child instead of writeable. The parent process can write to that file descriptor using IProcessTransport.writeToChild. This is useful for the child's stdin.

If childFDs is not passed, the default behaviour is to use a mapping that opens the usual stdin/stdout/stderr pipes.
ReturnsAn object which provides IProcessTransport.
RaisesOSErrorRaised with errno EAGAIN or ENOMEM if there are insufficient system resources to create a new process.
See Alsotwisted.internet.protocol.ProcessProtocol
def listenUDP(self, port, protocol, interface='', maxPacketSize=8192): (source)
Connects a given DatagramProtocol to the given numeric UDP port.
Returnsobject conforming to IListeningPort.
def connectUDP(self, remotehost, remoteport, protocol, localport=0, interface='', maxPacketSize=8192): (source)

DEPRECATED.

Connects a ConnectedDatagramProtocol instance to a UDP port.
def listenMulticast(self, port, protocol, interface='', maxPacketSize=8192, listenMultiple=False): (source)

Connects a given DatagramProtocol to the given numeric UDP port.

EXPERIMENTAL.
Returnsobject conforming to IListeningPort.
def connectUNIX(self, address, factory, timeout=30, checkPID=0): (source)
See Alsotwisted.internet.interfaces.IReactorUNIX.connectUNIX
def _checkMode(self, name, mode): (source)
Check mode to see if a value was specified for it and emit a deprecation warning if so. Return the default value if none was specified, otherwise return mode.
def listenUNIX(self, address, factory, backlog=50, mode=_unspecified, wantPID=0): (source)
See Alsotwisted.internet.interfaces.IReactorUNIX.listenUNIX
def listenUNIXDatagram(self, address, protocol, maxPacketSize=8192, mode=_unspecified): (source)

Connects a given DatagramProtocol to the given path.

EXPERIMENTAL.
Returnsobject conforming to IListeningPort.
def connectUNIXDatagram(self, address, protocol, maxPacketSize=8192, mode=_unspecified, bindAddress=None): (source)

Connects a ConnectedDatagramProtocol instance to a path.

EXPERIMENTAL.
def listenTCP(self, port, factory, backlog=50, interface=''): (source)
See Alsotwisted.internet.interfaces.IReactorTCP.listenTCP
def connectTCP(self, host, port, factory, timeout=30, bindAddress=None): (source)
See Alsotwisted.internet.interfaces.IReactorTCP.connectTCP
def connectSSL(self, host, port, factory, contextFactory, timeout=30, bindAddress=None): (source)
See Alsotwisted.internet.interfaces.IReactorSSL.connectSSL
def listenSSL(self, port, factory, contextFactory, backlog=50, interface=''): (source)
See Alsotwisted.internet.interfaces.IReactorSSL.listenSSL
def listenWith(self, portType, *args, **kw): (source)
Start an instance of the given portType listening.
ParametersportTypeThe object given by portType(*args, **kw) will be started listening. (type: type which implements IListeningPort )
Returnsan object which provides IListeningPort.
def connectWith(self, connectorType, *args, **kw): (source)
Start an instance of the given connectorType connecting.
ParametersconnectorTypeThe object given by connectorType(*args, **kw) will be started connecting. (type: type which implements IConnector )
ReturnsAn object which provides IConnector.
def _removeAll(self, readers, writers): (source)

Remove all readers and writers, and return list of Selectables.

Meant for calling from subclasses, to implement removeAll, like:
 def removeAll(self):
     return self._removeAll(reads, writes)
where reads and writes are iterables.
API Documentation for Twisted, generated by pydoctor at 2008-10-26 16:12:37.