class twisted.internet.protocol.ReconnectingClientFactory(ClientFactory): (source)
Known subclasses: twisted.words.xish.xmlstream.XmlStreamFactory
Factory which auto-reconnects clients with an exponential back-off.
Note that clients should call my resetDelay method after they have connected successfully.
Instance Variable | maxDelay | Maximum number of seconds between connection attempts. |
Instance Variable | initialDelay | Delay for the first reconnection attempt. |
Instance Variable | factor | A multiplicitive factor by which the delay grows |
Instance Variable | jitter | Percentage of randomness to introduce into the delay length to prevent stampeding. |
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 | maxRetries | 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 | connector | Undocumented |
Instance Variable | continueTrying | Undocumented |
Method | clientConnectionFailed | Called when a connection has failed to connect. |
Method | clientConnectionLost | Called when an established connection is lost. |
Method | retry | Have this connector connect again, after a suitable delay. |
Instance Variable | delay | Undocumented |
Method | stopTrying | Put a stop to any attempt to reconnect in progress. |
Method | resetDelay | Call this method after a successful connection: it resets the delay and the retry counter. |
Method | __getstate__ | No summary |
Instance Variable | _callID | Undocumented |
Inherited from ClientFactory:
Method | startedConnecting | Called when a connection has been started. |
Inherited from Factory (via ClientFactory):
Class Variable | protocol | Undocumented |
Instance Variable | numPorts | Undocumented |
Class Variable | noisy | Undocumented |
Class Method | forProtocol | Create a factory for the given protocol. |
Method | logPrefix | Describe this factory for log messages. |
Method | doStart | Make sure startFactory is called. |
Method | doStop | Make sure stopFactory is called. |
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. |
Method | buildProtocol | Create an instance of a subclass of Protocol. |
float
)
IReactorTime
)
Called when a connection has failed to connect.
It may be useful to call connector.connect() - this will reconnect.
Parameters | connector | Undocumented |
reason | Undocumented (type: twisted.python.failure.Failure ) |
Called when an established connection is lost.
It may be useful to call connector.connect() - this will reconnect.
Parameters | connector | Undocumented |
unused_reason | Undocumented | |
reason | Undocumented (type: twisted.python.failure.Failure ) |
Have this connector connect again, after a suitable delay.
Call this method after a successful connection: it resets the delay and the retry counter.
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.