X-Git-Url: https://git.mxchange.org/?p=quix0rs-apt-p2p.git;a=blobdiff_plain;f=knode.py;h=791e725c4a616cd85b1f98e9af76a97755c7b32c;hp=70069fae710339686bd978bfca8ecf802afe505a;hb=3a8164f9c878f1c8af2958bc932ddfdb9f799a09;hpb=4860bd484f9bd22f049205e5932c95f13d172816 diff --git a/knode.py b/knode.py index 70069fa..791e725 100644 --- a/knode.py +++ b/knode.py @@ -13,7 +13,7 @@ class IDChecker: class KNode(Node): def checkSender(self, dict): try: - senderid = dict['rsp']['sender']['id'] + senderid = dict['rsp']['id'] except KeyError: print ">>>> No peer id in response" raise Exception, "No peer id in response." @@ -22,20 +22,28 @@ class KNode(Node): print "Got response from different node than expected." raise Exception, "Got response from different node than expected." return dict + + def errBack(self, err): + print ">>> ", err + return err - def ping(self, sender): - df = self.conn.sendRequest('ping', {"sender":sender}) + def ping(self, id): + df = self.conn.sendRequest('ping', {"id":id}) + df.addErrback(self.errBack) df.addCallback(self.checkSender) return df - def findNode(self, target, sender): - df = self.conn.sendRequest('find_node', {"target" : target, "sender": sender}) + def findNode(self, target, id): + df = self.conn.sendRequest('find_node', {"target" : target, "id": id}) + df.addErrback(self.errBack) df.addCallback(self.checkSender) return df - def storeValue(self, key, value, sender): - df = self.conn.sendRequest('store_value', {"key" : key, "value" : value, "sender": sender}) + def storeValue(self, key, value, id): + df = self.conn.sendRequest('store_value', {"key" : key, "value" : value, "id": id}) + df.addErrback(self.errBack) df.addCallback(self.checkSender) return df - def findValue(self, key, sender): - df = self.conn.sendRequest('find_value', {"key" : key, "sender" : sender}) + def findValue(self, key, id): + df = self.conn.sendRequest('find_value', {"key" : key, "id" : id}) + df.addErrback(self.errBack) df.addCallback(self.checkSender) return df