# ``twisted`.`protocols`.`policies`.`LimitTotalConnectionsFactory``

class documentation

`class LimitTotalConnectionsFactory(ServerFactory): (source)`

Known subclasses: `twisted.protocols.ftp.FTPFactory`

View In Hierarchy

Factory that limits the number of simultaneous connections.

Method | `buildProtocol` | Create an instance of a subclass of Protocol.
Method | `registerProtocol` | Undocumented
Method | `unregisterProtocol` | Undocumented
Class Variable | `connectionLimit` | maximum number of connections.
Class Variable | `overflowProtocol` | Protocol to use for new connections when connectionLimit is exceeded. If `None` (the default value), excess connections will be closed immediately.
Instance Variable | `connectionCount` | number of current connections.

Inherited from `Factory` (via `ServerFactory`):

Class Method | `forProtocol` | Create a factory for the given protocol.
Method | `doStart` | Make sure startFactory is called.
Method | `doStop` | Make sure stopFactory is called.
Method | `logPrefix` | Describe this factory for log messages.
Method | `startFactory` | This will be called before I begin listening on a Port or Connector.
Method | `stopFactory` | This will be called before I stop listening on all Ports/Connectors.
Class Variable | `noisy` | Undocumented
Class Variable | `protocol` | Undocumented
Instance Variable | `numPorts` | Undocumented

def buildProtocol(self, addr): (source)
from `twisted.internet.interfaces.IProtocolFactory`
overrides `twisted.internet.protocol.Factory.buildProtocol`
overridden in `twisted.protocols.ftp.FTPFactory`

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.

Alternatively, `None` may be returned to immediately close the new connection.

Override this method to alter how Protocol instances get created.

Parameters
addr | an object implementing `IAddress`

def registerProtocol(self, p): (source)

Undocumented

def unregisterProtocol(self, p): (source)

Undocumented

connectionLimit: `int` or `None` = (source)
maximum number of connections.
overflowProtocol: `Protocol` or `None` = (source)
Protocol to use for new connections when connectionLimit is exceeded. If `None` (the default value), excess connections will be closed immediately.
connectionCount: `int` = (source)
number of current connections.