[Twisted-Python] Recovering PB references on broken connection?

David Bolen db3l at fitlinxx.com
Mon Dec 22 19:23:45 EST 2003


I've been experimenting with the perspective broker in Twisted 1.1.0
and am wondering?  Is there any graceful way to reconnect and continue
to use PB references if you temporarily lose a connection due to a
network outage?

For example, I can envision my application as being a client that
connects to a remote application server, and while running may have
any number of PB references to that remote application server in
various data structures in the client.  Should there be a transient
network outage such that the TCP session to the server is interrupted,
I'd like to be able to reconnect without having to flush all such data
in the client.

I'm still experimenting, but the docs and some early tests would seem
to imply that if the TCP link breaks for any reason then any of my
object references can never be used again.  Is that in fact true
and/or is there any way to avoid such a condition?  I was hoping that
I could catch network errors in some manner such that I could try to
re-establish the PB link, and then permit existing references from the
prior connection to continue to function could severely impact a
client (or certainly impose a potentially large effort to restore any
remote state to newly viable references).

What do other perspective broker applications do about being as robust
as possible in the presence of transient network conditions?

Thanks for any info/suggestions.

-- David





More information about the Twisted-Python mailing list