Package twisted :: Package protocols :: Module policies :: Class ThrottlingFactory

[frames | no frames]

## Class ThrottlingFactory

      Factory --+
                |
    ClientFactory --+
                    |
      WrappingFactory --+
                        |
                       ThrottlingFactory

Throttles bandwidth and number of connections.

Write bandwidth will only be throttled if there is a producer registered.

Method Summary
| `__init__(self, wrappedFactory, maxConnectionCount, readLimit, writeLimit)`
| ``buildProtocol`(self, addr)` Create an instance of a subclass of Protocol.
| ``checkReadBandwidth`(self)` Checks if we've passed bandwidth limits.
| `checkWriteBandwidth(self)`
| ``registerRead`(self, length)` Called by protocol to tell us more bytes were read.
| ``registerWritten`(self, length)` Called by protocol to tell us more bytes were written.
| ``throttleReads`(self)` Throttle reads on all protocols.
| ``throttleWrites`(self)` Throttle writes on all protocols.
| ``unregisterProtocol`(self, p)` Called by protocols when they go away.
| ``unthrottleReads`(self)` Stop throttling reads on all protocols.
| ``unthrottleWrites`(self)` Stop throttling writes on all protocols.
Inherited from WrappingFactory
| ``clientConnectionFailed`(self, connector, reason)` Called when a connection has failed to connect.
| ``clientConnectionLost`(self, connector, reason)` Called when an established connection is lost.
| ``doStart`(self)` Make sure startFactory is called.
| ``doStop`(self)` Make sure stopFactory is called.
| ``registerProtocol`(self, p)` Called by protocol to register itself.
| ``startedConnecting`(self, connector)` Called when a connection has been started.
Inherited from Factory
| ``startFactory`(self)` This will be called before I begin listening on a Port or Connector.
| ``stopFactory`(self)` This will be called before I stop listening on all Ports/Connectors.

Class Variable Summary
`class` | `protocol` = `twisted.protocols.policies.ThrottlingProtocol`
Inherited from Factory
`tuple` | `__implements__` = `(<class twisted.internet.interfaces.IPr...`
`str` | `noisy` = `'sure, why not'`
`int` | `numPorts` = 0

Method Details

### buildProtocol(self, addr)

Create an instance of a subclass of Protocol.

The returned instance will handle input on an incoming server connection, and an attribute "factory" pointing to the creating factory.

Override this method to alter how Protocol instances get created.

  Parameters:
    `addr` - an object implementing `twisted.internet.interfaces.IAddress`
  Overrides:
    `twisted.protocols.policies.WrappingFactory.buildProtocol` (inherited documentation)

### checkReadBandwidth(self)

Checks if we've passed bandwidth limits.

### registerRead(self, length)

Called by protocol to tell us more bytes were read.

### registerWritten(self, length)

Called by protocol to tell us more bytes were written.

### throttleReads(self)

Throttle reads on all protocols.

### throttleWrites(self)

Throttle writes on all protocols.

### unregisterProtocol(self, p)

Called by protocols when they go away.

  Overrides:
    `twisted.protocols.policies.WrappingFactory.unregisterProtocol` (inherited documentation)

### unthrottleReads(self)

Stop throttling reads on all protocols.

### unthrottleWrites(self)

Stop throttling writes on all protocols.

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