Class ReconnectingPBClientFactory
source code
twisted.internet.protocol.Factory --+
|
twisted.internet.protocol.ClientFactory --+
|
twisted.spread.pb.PBClientFactory --+
|
twisted.internet.protocol.Factory --+ |
| |
twisted.internet.protocol.ClientFactory --+ |
| |
twisted.internet.protocol.ReconnectingClientFactory --+
|
ReconnectingPBClientFactory
- Known Subclasses:
-
Reconnecting client factory for PB brokers.
Like PBClientFactory, but if the connection fails or is lost, the
factory will attempt to reconnect.
Instead of using f.getRootObject (which gives a Deferred that can only
be fired once), override the gotRootObject method.
Instead of using the newcred f.login (which is also one-shot), call
f.startLogin() with the credentials and client, and override the
gotPerspective method.
gotRootObject and gotPerspective will be called each time the object
is received (once per successful connection attempt). You will probably
want to use obj.notifyOnDisconnect to find out when the connection is
lost.
If an authorization error occurs, failedToGetPerspective() will be
invoked.
To use me, subclass, then hand an instance to a connector (like
TCPClient).
Inherited from twisted.spread.pb.PBClientFactory :
protocol
|
|
|
|
|
|
|
|
|
Deferred
|
|
|
|
|
|
|
|
|
|
|
gotPerspective(self,
perspective)
The remote avatar or perspective (obtained each time this factory
connects) is now available. |
source code
|
|
|
gotRootObject(self,
root)
The remote root object (obtained each time this factory connects) is
now available. |
source code
|
|
|
failedToGetPerspective(self,
why)
The login process failed, most likely because of an authorization
failure (bad password), but it is also possible that we lost the new
connection before we managed to send our credentials. |
source code
|
|
Inherited from twisted.spread.pb.PBClientFactory :
__init__ ,
buildProtocol ,
disconnect ,
getRootObject
Inherited from twisted.internet.protocol.Factory :
__providedBy__ ,
doStart ,
doStop ,
startFactory ,
stopFactory
Inherited from twisted.internet.protocol.ReconnectingClientFactory :
__getstate__ ,
resetDelay ,
retry ,
stopTrying
|
|
hungConnectionTimer = None
hash(x)
|
|
HUNG_CONNECTION_TIMEOUT = 120
|
Inherited from twisted.spread.pb.PBClientFactory :
unsafeTracebacks
Inherited from twisted.internet.protocol.Factory :
__implemented__ ,
__provides__ ,
noisy ,
numPorts
Inherited from twisted.internet.protocol.ReconnectingClientFactory :
connector ,
continueTrying ,
delay ,
maxRetries ,
retries
|
Inherited from twisted.internet.protocol.ReconnectingClientFactory :
clock ,
factor ,
initialDelay ,
jitter ,
maxDelay
|
clientConnectionFailed(self,
connector,
reason)
| source code
|
Called when a connection has failed to connect.
It may be useful to call connector.connect() - this will
reconnect.
- Overrides:
twisted.internet.protocol.ReconnectingClientFactory.clientConnectionFailed
|
clientConnectionLost(self,
connector,
reason)
| source code
|
Reconnecting subclasses should call with reconnecting=1.
- Overrides:
twisted.internet.protocol.ReconnectingClientFactory.clientConnectionLost
|
Called when a connection has been started.
You can call connector.stopConnecting() to stop the connection
attempt.
- Parameters:
connector - a Connector object.
- Overrides:
twisted.internet.protocol.ClientFactory.startedConnecting
- (inherited documentation)
|
- Overrides:
twisted.spread.pb.PBClientFactory.clientConnectionMade
|
Login and get perspective from remote PB server.
Currently the following credentials are supported:
L{twisted.cred.credentials.IUsernamePassword}
L{twisted.cred.credentials.IAnonymous}
- Returns:
Deferred
- A
Deferred which will be called back
with a RemoteReference for the avatar
logged in to, or which will errback if login fails.
- Overrides:
twisted.spread.pb.PBClientFactory.login
- (inherited documentation)
|
The remote root object (obtained each time this factory connects) is
now available. This method will be called each time the connection is
established and the object reference is retrieved.
|