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