Package twisted :: Package internet :: Module default :: Class PosixReactorBase
[show private | hide private]
[frames | no frames]

Class PosixReactorBase

ReactorBase --+
              |
             PosixReactorBase

Known Subclasses:
Gtk2Reactor

A basis for reactors that use file descriptors.
Method Summary
  __init__(self)
  connectMulticast(self, remotehost, remoteport, protocol, localport, interface, maxPacketSize)
Connects a ConnectedDatagramProtocol instance to a UDP port.
  connectSSL(self, host, port, factory, contextFactory, timeout, bindAddress)
  connectTCP(self, host, port, factory, timeout, bindAddress)
  connectUDP(self, remotehost, remoteport, protocol, localport, interface, maxPacketSize)
Connects a ConnectedDatagramProtocol instance to a UDP port.
  connectUNIX(self, address, factory, timeout, checkPID)
  connectUNIXDatagram(self, remotehost, remoteport, protocol, localport, interface, maxPacketSize)
Connects a ConnectedDatagramProtocol instance to a UDP port.
  connectWith(self, connectorType, *args, **kw)
  installWaker(self)
Install a `waker' to allow threads and signals to wake up the IO thread.
  listenMulticast(self, port, protocol, interface, maxPacketSize)
Connects a given DatagramProtocol to the given numeric UDP port.
  listenSSL(self, port, factory, contextFactory, backlog, interface)
  listenTCP(self, port, factory, backlog, interface)
  listenUDP(self, port, protocol, interface, maxPacketSize)
Connects a given DatagramProtocol to the given numeric UDP port.
  listenUNIX(self, address, factory, backlog, mode, wantPID)
  listenUNIXDatagram(self, port, protocol, interface, maxPacketSize)
Connects a given DatagramProtocol to the given numeric UDP port.
  listenWith(self, portType, *args, **kw)
  mainLoop(self)
  run(self, installSignalHandlers)
  spawnProcess(self, processProtocol, executable, args, env, path, uid, gid, usePTY, childFDs)
  startRunning(self, installSignalHandlers)
  _handleSigchld(self, signum, frame)
Reap all processes on SIGCHLD.
  _handleSignals(self)
Install the signal handlers for the Twisted event loop.
    Inherited from ReactorBase
  addReader(self, reader)
  addSystemEventTrigger(self, _phase, _eventType, _f, *args, **kw)
See twisted.internet.interfaces.IReactorCore.addSystemEventTrigger.
  addWriter(self, writer)
  callFromThread(self, f, *args, **kw)
See twisted.internet.interfaces.IReactorThreads.callFromThread.
  callInThread(self, _callable, *args, **kwargs)
See twisted.internet.interfaces.IReactorThreads.callInThread.
  callLater(self, _seconds, _f, *args, **kw)
See twisted.internet.interfaces.IReactorTime.callLater.
  callWhenRunning(self, _callable, *args, **kw)
See twisted.internet.interfaces.IReactorCore.callWhenRunning.
  cancelCallLater(self, callID)
See twisted.internet.interfaces.IReactorTime.cancelCallLater.
  clientSSL(self, host, port, protocol, contextFactory, timeout)
Deprecated - use connectSSL instead.
  clientTCP(self, host, port, protocol, timeout)
Deprecated - use connectTCP instead.
  clientUNIX(self, address, protocol, timeout)
Deprecated - use connectUNIX instead.
  crash(self)
See twisted.internet.interfaces.IReactorCore.crash.
  disconnectAll(self)
Disconnect every reader, and writer in the system.
  doIteration(self)
Do one iteration over the readers and writers we know about.
  fireSystemEvent(self, eventType)
See twisted.internet.interfaces.IReactorCore.fireSystemEvent.
  getDelayedCalls(self)
  initThreads(self)
  installResolver(self, resolver)
  iterate(self, delay)
See twisted.internet.interfaces.IReactorCore.iterate.
  removeAll(self)
  removeReader(self, reader)
  removeSystemEventTrigger(self, triggerID)
See twisted.internet.interfaces.IReactorCore.removeSystemEventTrigger.
  removeWriter(self, writer)
  resolve(self, name, timeout)
Return a Deferred that will resolve a hostname.
  runUntilCurrent(self)
Run all pending timed calls.
  sigBreak(self, *args)
Handle a SIGBREAK interrupt.
  sigInt(self, *args)
Handle a SIGINT interrupt.
  sigTerm(self, *args)
Handle a SIGTERM interrupt.
  stop(self)
See twisted.internet.interfaces.IReactorCore.stop.
  suggestThreadPoolSize(self, size)
See twisted.internet.interfaces.IReactorThreads.suggestThreadPoolSize.
  timeout(self)
  wakeUp(self)
Wake up the event loop.
  _cbContinueSystemEvent(self, result, eventType)
  _continueSystemEvent(self, eventType)
  _initThreadPool(self)
  _internalResolve(self, name, timeout)
  _resetCallLater(self, tple)

Class Variable Summary
tuple __implements__ = ((<class 'twisted.internet.interfaces.I...
    Inherited from ReactorBase
str __name__ = 'ReactorBase'
int installed = 0                                                                     
NoneType threadCallQueue = None                                                                  
NoneType threadpool = None                                                                  
NoneType _lock = None                                                                  

Method Details

connectMulticast(self, remotehost, remoteport, protocol, localport=0, interface='', maxPacketSize=8192)

Connects a ConnectedDatagramProtocol instance to a UDP port.

EXPERIMENTAL.

connectSSL(self, host, port, factory, contextFactory, timeout=30, bindAddress=None)

See Also: twisted.internet.interfaces.IReactorSSL.connectSSL

connectTCP(self, host, port, factory, timeout=30, bindAddress=None)

See Also: twisted.internet.interfaces.IReactorTCP.connectTCP

connectUDP(self, remotehost, remoteport, protocol, localport=0, interface='', maxPacketSize=8192)

Connects a ConnectedDatagramProtocol instance to a UDP port.

EXPERIMENTAL.

connectUNIX(self, address, factory, timeout=30, checkPID=0)

See Also: twisted.internet.interfaces.IReactorUNIX.connectUNIX

connectUNIXDatagram(self, remotehost, remoteport, protocol, localport=0, interface='', maxPacketSize=8192)

Connects a ConnectedDatagramProtocol instance to a UDP port.

EXPERIMENTAL.

installWaker(self)

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.
Overrides:
twisted.internet.base.ReactorBase.installWaker

listenMulticast(self, port, protocol, interface='', maxPacketSize=8192)

Connects a given DatagramProtocol to the given numeric UDP port.

EXPERIMENTAL.
Returns:
object conforming to IListeningPort.

listenSSL(self, port, factory, contextFactory, backlog=5, interface='')

See Also: twisted.internet.interfaces.IReactorSSL.listenSSL

listenTCP(self, port, factory, backlog=5, interface='')

See Also: twisted.internet.interfaces.IReactorTCP.listenTCP

listenUDP(self, port, protocol, interface='', maxPacketSize=8192)

Connects a given DatagramProtocol to the given numeric UDP port.

EXPERIMENTAL.
Returns:
object conforming to IListeningPort.

listenUNIX(self, address, factory, backlog=5, mode=438, wantPID=0)

See Also: twisted.internet.interfaces.IReactorUNIX.listenUNIX

listenUNIXDatagram(self, port, protocol, interface='', maxPacketSize=8192)

Connects a given DatagramProtocol to the given numeric UDP port.

EXPERIMENTAL.
Returns:
object conforming to IListeningPort.

_handleSigchld(self, signum, frame)

Reap all processes on SIGCHLD.

This gets called on SIGCHLD. We do no processing inside a signal handler, as the calls we make here could occur between any two python bytecode instructions. Deferring processing to the next eventloop round prevents us from violating the state constraints of arbitrary classes. Note that a Reactor must be able to accept callLater calls at any time, even interleaved inside it's own methods; it must block SIGCHLD if it is unable to guarantee this.

_handleSignals(self)

Install the signal handlers for the Twisted event loop.

Class Variable Details

__implements__

Type:
tuple
Value:
((<class 'twisted.internet.interfaces.IReactorCore'>,
  <class 'twisted.internet.interfaces.IReactorTime'>,
  <class 'twisted.internet.interfaces.IReactorThreads'>,
  <class 'twisted.internet.interfaces.IReactorPluggableResolver'>),
 <class 'twisted.internet.interfaces.IReactorArbitrary'>,
 <class 'twisted.internet.interfaces.IReactorTCP'>,
 <class 'twisted.internet.interfaces.IReactorUDP'>,
 <class 'twisted.internet.interfaces.IReactorMulticast'>,
...                                                                    

Generated by Epydoc 2.1 on Tue Dec 20 15:33:10 2005 http://epydoc.sf.net