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

[show private | hide private]
[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)`
| ``clientConnectionFailed`(self, connector, reason)` Called when a connection has failed. (inherited from `WrappingFactory`)
| ``clientConnectionLost`(self, connector, reason)` Called when a connection is lost. (inherited from `WrappingFactory`)
| ``doStart`(self)` Make sure startFactory is called. (inherited from `Factory`)
| ``doStop`(self)` Make sure stopFactory is called. (inherited from `Factory`)
| ``registerProtocol`(self, p)` Called by protocol to register itself. (inherited from `WrappingFactory`)
| ``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.
| ``startedConnecting`(self, connector)` Called when a connection has been started. (inherited from `WrappingFactory`)
| ``startFactory`(self)` This will be called before I begin listening on a Port or Connector. (inherited from `Factory`)
| ``stopFactory`(self)` This will be called before I stop listening on all Ports/Connectors. (inherited from `Factory`)
| ``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.

Class Variable Summary
`class` | `ThrottlingProtocol`

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.

  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.

Class Variable Details

### ThrottlingProtocol

`ThrottlingProtocol` = `twisted.protocols.policies.ThrottlingProtocol`

Generated by Epydoc 1.1 on Thu May 8 13:18:54 2003 | http://epydoc.sf.net