From e2c484a7611b22fb5c22b37d4eec7b708695c167 Mon Sep 17 00:00:00 2001 From: Brian Warner Date: Fri, 5 Sep 2008 22:07:00 -0700 Subject: [PATCH] introducer: add get_nickname_for_peerid --- src/allmydata/client.py | 2 ++ src/allmydata/introducer/client.py | 8 ++++++++ src/allmydata/introducer/old.py | 8 ++++++++ src/allmydata/test/test_introducer.py | 3 +++ 4 files changed, 21 insertions(+) diff --git a/src/allmydata/client.py b/src/allmydata/client.py index 87f498334..850af9fa5 100644 --- a/src/allmydata/client.py +++ b/src/allmydata/client.py @@ -256,6 +256,8 @@ class Client(node.Node, testutil.PollMixin): def get_all_peerids(self): return self.introducer_client.get_all_peerids() + def get_nickname_for_peerid(self, peerid): + return self.introducer_client.get_nickname_for_peerid(peerid) def get_permuted_peers(self, service_name, key): """ diff --git a/src/allmydata/introducer/client.py b/src/allmydata/introducer/client.py index bc7d5fd3f..4b9484f98 100644 --- a/src/allmydata/introducer/client.py +++ b/src/allmydata/introducer/client.py @@ -244,6 +244,14 @@ class IntroducerClient(service.Service, Referenceable): for (peerid, service_name, rref) in self._connections]) + def get_nickname_for_peerid(self, peerid): + for k in self._connectors: + (peerid0, svcname0) = k + if peerid0 == peerid: + rsc = self._connectors[k] + return rsc.nickname + return None + def get_all_connections_for(self, service_name): return frozenset([c for c in self._connections diff --git a/src/allmydata/introducer/old.py b/src/allmydata/introducer/old.py index 7aaa345c0..d3440dac8 100644 --- a/src/allmydata/introducer/old.py +++ b/src/allmydata/introducer/old.py @@ -247,6 +247,14 @@ class IntroducerClient_V1(service.Service, Referenceable): for (peerid, service_name, rref) in self._connections]) + def get_nickname_for_peerid(self, peerid): + for k in self._connectors: + (peerid0, svcname0) = k + if peerid0 == peerid: + rsc = self._connectors[k] + return rsc.nickname + return None + def get_all_connections_for(self, service_name): return frozenset([c for c in self._connections diff --git a/src/allmydata/test/test_introducer.py b/src/allmydata/test/test_introducer.py index a891fbfca..08d52915b 100644 --- a/src/allmydata/test/test_introducer.py +++ b/src/allmydata/test/test_introducer.py @@ -152,6 +152,9 @@ class SystemTest(SystemTestMixin, unittest.TestCase): self.failUnlessEqual(len(c.get_all_peerids()), NUMCLIENTS) self.failUnlessEqual(len(c.get_all_connections_for("storage")), NUMCLIENTS) + nodeid0 = b32decode(tubs[clients[0]].tubID.upper()) + self.failUnlessEqual(c.get_nickname_for_peerid(nodeid0), + "nickname-0") d.addCallback(_check1) origin_c = clients[0]