Package twisted :: Package internet :: Module protocol :: Class Factory

[frames | no frames]

## Class Factory

Known Subclasses:
  `BrokerFactory`, `ClientFactory`, `DccSendFactory`, `DTPFactory`, `FlashConduitFactory`, `FTPFactory`, `IRCGateway`, `IRCUIFactory`, `ProxyFactory`, `ServerFactory`, `ShellFactory`, `SOCKSv4Factory`, `SOCKSv4IncomingFactory`, `SSHFactory`, `SSHListenForwardingFactory`, `SSHUnixServerFactory`, `TOCFactory`

This is a factory which produces protocols.

By default, buildProtocol will create a protocol of the class given in self.protocol.

Method Summary
| ``buildProtocol`(self, addr)` Create an instance of a subclass of Protocol.
| ``doStart`(self)` Make sure startFactory is called.
| ``doStop`(self)` Make sure stopFactory is called.
| ``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
`tuple` | `__implements__` = `(<class twisted.internet.interfaces.IPr...`
`str` | `noisy` = `'sure, why not'`
`int` | `numPorts` = 0
`NoneType` | `protocol` = None

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`

### doStart(self)

Make sure startFactory is called.

### doStop(self)

Make sure stopFactory is called.

### startFactory(self)

This will be called before I begin listening on a Port or Connector.

It will only be called once, even if the factory is connected to multiple ports.

This can be used to perform 'unserialization' tasks that are best put off until things are actually running, such as connecting to a database, opening files, etcetera.

### stopFactory(self)

This will be called before I stop listening on all Ports/Connectors.

This can be used to perform 'shutdown' tasks such as disconnecting database connections, closing files, etc.

It will be called, for example, before an application shuts down, if it was connected to a port.

Class Variable Details

### __implements__

  Type:
    `tuple`
  Value:

        (<class twisted.internet.interfaces.IProtocolFactory at 0x827f7bc>,)

### noisy

  Type:
    `str`
  Value:

        'sure, why not'

### numPorts

  Type:
    `int`
  Value:

        0

### protocol

  Type:
    `NoneType`
  Value:

        None

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