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