client: don't start the IntroducerClient until the Tub is ready, otherwise we will sometimes connect to the introducer (or other clients) before we've done Tub.setLocation, which loses some information on the introducer status page

This commit is contained in:
Brian Warner 2008-04-23 14:52:34 -07:00
parent 239c950810
commit 55dfb697a4

View File

@ -101,9 +101,16 @@ class Client(node.Node, testutil.PollMixin):
str(allmydata.__version__), str(allmydata.__version__),
str(self.OLDEST_SUPPORTED_VERSION)) str(self.OLDEST_SUPPORTED_VERSION))
self.introducer_client = ic self.introducer_client = ic
ic.setServiceParent(self) # hold off on starting the IntroducerClient until our tub has been
# nodes that want to upload and download will need storage servers # started, so we'll have a useful address on our RemoteReference, so
ic.subscribe_to("storage") # that the introducer's status page will show us.
d = self.when_tub_ready()
def _start_introducer_client(res):
ic.setServiceParent(self)
# nodes that want to upload and download will need storage servers
ic.subscribe_to("storage")
d.addCallback(_start_introducer_client)
d.addErrback(log.err, facility="tahoe.init", level=log.BAD)
def init_stats_provider(self): def init_stats_provider(self):
gatherer_furl = self.get_config('stats_gatherer.furl') gatherer_furl = self.get_config('stats_gatherer.furl')