class documentation

class ReconnectingClientFactory(ClientFactory): (source)

Known subclasses: twisted.words.xish.xmlstream.XmlStreamFactory

View In Hierarchy

Factory which auto-reconnects clients with an exponential back-off.

Note that clients should call my resetDelay method after they have connected successfully.

Method __getstate__ No summary
Method client​Connection​Failed Called when a connection has failed to connect.
Method client​Connection​Lost Called when an established connection is lost.
Method reset​Delay Call this method after a successful connection: it resets the delay and the retry counter.
Method retry Have this connector connect again, after a suitable delay.
Method stop​Trying Put a stop to any attempt to reconnect in progress.
Instance Variable clock The clock used to schedule reconnection. It's mainly useful to be parametrized in tests. If the factory is serialized, this attribute will not be serialized, and the default value (the reactor) will be restored when deserialized.
Instance Variable connector Undocumented
Instance Variable continue​Trying Undocumented
Instance Variable delay Undocumented
Instance Variable factor A multiplicitive factor by which the delay grows
Instance Variable initial​Delay Delay for the first reconnection attempt.
Instance Variable jitter Percentage of randomness to introduce into the delay length to prevent stampeding.
Instance Variable max​Delay Maximum number of seconds between connection attempts.
Instance Variable max​Retries Maximum number of consecutive unsuccessful connection attempts, after which no further connection attempts will be made. If this is not explicitly set, no maximum is applied.
Instance Variable retries Undocumented
Instance Variable _call​ID Undocumented

Inherited from ClientFactory:

Method started​Connecting Called when a connection has been started.

Inherited from Factory (via ClientFactory):

Class Method for​Protocol Create a factory for the given protocol.
Method build​Protocol Create an instance of a subclass of Protocol.
Method do​Start Make sure startFactory is called.
Method do​Stop Make sure stopFactory is called.
Method log​Prefix Describe this factory for log messages.
Method start​Factory This will be called before I begin listening on a Port or Connector.
Method stop​Factory This will be called before I stop listening on all Ports/Connectors.
Class Variable noisy Undocumented
Class Variable protocol Undocumented
Instance Variable num​Ports Undocumented
def __getstate__(self): (source)
Remove all of the state which is mutated by connection attempts and failures, returning just the state which describes how reconnections should be attempted. This will make the unserialized instance behave just as this one did when it was first instantiated.
def clientConnectionFailed(self, connector, reason): (source)

Called when a connection has failed to connect.

It may be useful to call connector.connect() - this will reconnect.

Parameters
connectorUndocumented
reason:twisted.python.failure.FailureUndocumented
def clientConnectionLost(self, connector, unused_reason): (source)

Called when an established connection is lost.

It may be useful to call connector.connect() - this will reconnect.

Parameters
connectorUndocumented
unused​_reasonUndocumented
reason:twisted.python.failure.FailureUndocumented
def resetDelay(self): (source)
Call this method after a successful connection: it resets the delay and the retry counter.
def retry(self, connector=None): (source)
Have this connector connect again, after a suitable delay.
def stopTrying(self): (source)
Put a stop to any attempt to reconnect in progress.
The clock used to schedule reconnection. It's mainly useful to be parametrized in tests. If the factory is serialized, this attribute will not be serialized, and the default value (the reactor) will be restored when deserialized.
connector = (source)

Undocumented

continueTrying: int = (source)

Undocumented

delay = (source)

Undocumented

factor: float = (source)
A multiplicitive factor by which the delay grows
initialDelay: float = (source)
Delay for the first reconnection attempt.
jitter: float = (source)
Percentage of randomness to introduce into the delay length to prevent stampeding.
maxDelay: int = (source)
Maximum number of seconds between connection attempts.
maxRetries = (source)
Maximum number of consecutive unsuccessful connection attempts, after which no further connection attempts will be made. If this is not explicitly set, no maximum is applied.
retries: int = (source)

Undocumented

_callID = (source)

Undocumented