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

Class PosixReactorBase

ReactorBase --+
              |
             PosixReactorBase

Known Subclasses:
CFReactor, Gtk2Reactor, GtkReactor, PollReactor, SelectReactor, Win32Reactor

A basis for reactors that use file descriptors.
Method Summary
  __init__(self)
  _handleSigchld(self, signum, frame)
Reap all processes on SIGCHLD.
  _handleSignals(self)
Install the signal handlers for the Twisted event loop.
  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)
DEPRECATED.
  connectUNIX(self, address, factory, timeout, checkPID)
  connectUNIXDatagram(self, address, protocol, maxPacketSize, mode, bindAddress)
Connects a ConnectedDatagramProtocol instance to a path.
  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, address, protocol, maxPacketSize, mode)
Connects a given DatagramProtocol to the given path.
  listenWith(self, portType, *args, **kw)
  mainLoop(self)
  run(self, installSignalHandlers)
  spawnProcess(self, processProtocol, executable, args, env, path, uid, gid, usePTY, childFDs)
  startRunning(self, installSignalHandlers)
    Inherited from ReactorBase
  _cbContinueSystemEvent(self, result, eventType)
  _continueSystemEvent(self, eventType)
  _initThreadPool(self)
  _internalResolve(self, name, timeout)
  _resetCallLater(self, tple)
  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.

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

Method Details

_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.

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)

DEPRECATED.

Connects a ConnectedDatagramProtocol instance to a UDP port.

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

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

connectUNIXDatagram(self, address, protocol, maxPacketSize=8192, mode=438, bindAddress=None)

Connects a ConnectedDatagramProtocol instance to a path.

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, address, protocol, maxPacketSize=8192, mode=438)

Connects a given DatagramProtocol to the given path.

EXPERIMENTAL.
Returns:
object conforming to IListeningPort.

Class Variable Details

__implements__

Type:
tuple
Value:
((<class twisted.internet.interfaces.IReactorCore at 0x827a854>,
  <class twisted.internet.interfaces.IReactorTime at 0x828aedc>,
  <class twisted.internet.interfaces.IReactorThreads at 0x827b60c>,
  <class twisted.internet.interfaces.IReactorPluggableResolver at 0x82\
4c10c>),
 <class twisted.internet.interfaces.IReactorArbitrary at 0x826461c>,
 <class twisted.internet.interfaces.IReactorTCP at 0x828afc4>,
 <class twisted.internet.interfaces.IReactorUDP at 0x825557c>,
...                                                                    

Generated by Epydoc 2.0 on Sat May 15 20:08:46 2004 http://epydoc.sf.net