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.
Instead of using the oldcred f.getPerspective (also one-shot), call
f.startGettingPerspective() with the same arguments, and override
gotPerspective.
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).
|
|
|
|
|
|
|
|
|
__getstate__(self)
Remove all of the state which is mutated by connection attempts
and failures, returning just the state which describes how
reconnections should be attempted. |
source code
|
|
|
|
|
startGettingPerspective(self,
username,
password,
serviceName,
perspectiveName=None,
client=None) |
source code
|
|
|
|
Deferred
|
login(self,
credentials,
client=None)
Login and get perspective from remote PB server. |
source code
|
|
|
|
|
|
|
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 :
buildProtocol ,
disconnect ,
getRootObject
Inherited from twisted.spread.pb.PBClientFactory (private):
_cbLoginAnonymous ,
_cbResponse ,
_cbSendUsername ,
_failAll ,
_reset
Inherited from twisted.internet.protocol.ClientFactory :
startedConnecting
Inherited from twisted.internet.protocol.Factory :
doStart ,
doStop ,
startFactory ,
stopFactory
Inherited from twisted.internet.protocol.ReconnectingClientFactory :
resetDelay ,
retry ,
stopTrying
|