2 from twisted.internet.defer import Deferred
3 from xmlrpcclient import XMLRPCClientFactory as factory
4 from const import reactor, NULL_ID
7 def makeResponse(self, df):
8 def _callback(args, d=df):
14 if self.id != NULL_ID and sender['id'] != self._senderDict['id']:
19 def ping(self, sender):
21 f = factory('ping', (sender,), self.makeResponse(df), df.errback)
22 reactor.connectTCP(self.host, self.port, f)
24 def findNode(self, target, sender):
26 f = factory('find_node', (target.encode('base64'), sender), self.makeResponse(df), df.errback)
27 reactor.connectTCP(self.host, self.port, f)
29 def storeValue(self, key, value, sender):
31 f = factory('store_value', (key.encode('base64'), value.encode('base64'), sender), self.makeResponse(df), df.errback)
32 reactor.connectTCP(self.host, self.port, f)
34 def findValue(self, key, sender):
36 f = factory('find_value', (key.encode('base64'), sender), self.makeResponse(df), df.errback)
37 reactor.connectTCP(self.host, self.port, f)