expanded getaddrs
authorforrest <forrest@470744a7-cac9-478e-843e-5ec1b25c69e8>
Wed, 15 Jun 2011 18:42:05 +0000 (18:42 +0000)
committerforrest <forrest@470744a7-cac9-478e-843e-5ec1b25c69e8>
Wed, 15 Jun 2011 18:42:05 +0000 (18:42 +0000)
git-svn-id: svn://forre.st/p2pool@1284 470744a7-cac9-478e-843e-5ec1b25c69e8

p2p.py

diff --git a/p2p.py b/p2p.py
index 5765610..a169c44 100644 (file)
--- a/p2p.py
+++ b/p2p.py
@@ -214,7 +214,17 @@ class Protocol(bitcoin_p2p.BaseProtocol):
             if random.random() < .7 and self.node.peers:
                 random.choice(self.node.peers.values()).send_addrs(addrs=[addr_record])
     def handle_getaddrs(self, count):
-        self.send_addrs(random.sample(map(bitcoin_p2p.address.unpack, self.node.addrs.keys()), min(count, len(self.node.addrs))))
+        self.send_addrs(addrs=[
+            dict(
+                timestamp=self.node.addr_store[address, port][2],
+                address=dict(
+                    services=self.node.addr_store[address, port][0],
+                    address=host,
+                    port=port,
+                ),
+            ) for host, port in 
+            random.sample(self.node.addr_store.keys(), min(count, len(self.node.addr_store)))
+        ])
     
     def handle_share0s(self, share0s):
         for share0 in share0s: