# ``twisted`.`internet`.`endpoints`.`_WrappingFactory``

class documentation

`class _WrappingFactory(ClientFactory): (source)`

View In Hierarchy

Wrap a factory in order to wrap the protocols it builds.

Method | `__init__` |
Method | `buildProtocol` | Proxy `buildProtocol` to our `self._wrappedFactory` or errback the `self._onConnection` `Deferred` if the wrapped factory raises an exception or returns `None`.
Method | `clientConnectionFailed` | Errback the `self._onConnection` `Deferred` when the client connection fails.
Method | `doStart` | Start notifications are passed straight through to the wrapped factory.
Method | `doStop` | Stop notifications are passed straight through to the wrapped factory.
Method | `startedConnecting` | A connection attempt was started. Remember the connector which started said attempt, for use later.
Method | `_canceller` | The outgoing connection attempt was cancelled. Fail that `Deferred` with an `error.ConnectingCancelledError`.
Instance Variable | `_connector` | A `connector` that is managing the current or previous connection attempt.
Instance Variable | `_onConnection` | A `Deferred` that fires when the protocol is connected
Instance Variable | `_wrappedFactory` | A provider of IProtocolFactory whose buildProtocol method will be called and whose resulting protocol will be wrapped.

Inherited from `ClientFactory`:

Method | `clientConnectionLost` | Called when an established connection is lost.

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

Class Method | `forProtocol` | Create a factory for the given protocol.
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 __init__(self, wrappedFactory): (source)

Parameters
wrappedFactory | A provider of IProtocolFactory whose buildProtocol method will be called and whose resulting protocol will be wrapped.

def buildProtocol(self, addr): (source)
from `twisted.internet.interfaces.IProtocolFactory`
overrides `twisted.internet.protocol.Factory.buildProtocol`
Proxy `buildProtocol` to our `self._wrappedFactory` or errback the `self._onConnection` `Deferred` if the wrapped factory raises an exception or returns `None`.

Returns
An instance of `_WrappingProtocol` or `None`

def clientConnectionFailed(self, connector, reason): (source)
overrides `twisted.internet.protocol.ClientFactory.clientConnectionFailed`
Errback the `self._onConnection` `Deferred` when the client connection fails.
def doStart(self): (source)
from `twisted.internet.interfaces.IProtocolFactory`
overrides `twisted.internet.protocol.Factory.doStart`
Start notifications are passed straight through to the wrapped factory.
def doStop(self): (source)
from `twisted.internet.interfaces.IProtocolFactory`
overrides `twisted.internet.protocol.Factory.doStop`
Stop notifications are passed straight through to the wrapped factory.
def startedConnecting(self, connector): (source)
overrides `twisted.internet.protocol.ClientFactory.startedConnecting`
A connection attempt was started. Remember the connector which started said attempt, for use later.
def _canceller(self, deferred): (source)
The outgoing connection attempt was cancelled. Fail that `Deferred` with an `error.ConnectingCancelledError`.

Parameters
deferred:`Deferred` | The `Deferred` that was cancelled; should be the same as `self._onConnection`.
Returns
`None`
Note
This relies on startedConnecting having been called, so it may seem as though there's a race condition where `_connector` may not have been set. However, using public APIs, this condition is impossible to catch, because a connection API (`connectTCP`/`SSL`/`UNIX`) is always invoked before a `_WrappingFactory`'s `Deferred` is returned to `connect()`'s caller.

_connector = (source)
A `connector` that is managing the current or previous connection attempt.
_onConnection = (source)
A `Deferred` that fires when the protocol is connected
_wrappedFactory = (source)
A provider of IProtocolFactory whose buildProtocol method will be called and whose resulting protocol will be wrapped.