Skip to content
Snippets Groups Projects
Commit 1de513fa authored by inso's avatar inso
Browse files

Added broadcast to known peers

parent 1769f9ce
No related branches found
No related tags found
No related merge requests found
...@@ -130,7 +130,7 @@ class Account(object): ...@@ -130,7 +130,7 @@ class Account(object):
'self_': selfcert.signed_raw(), 'self_': selfcert.signed_raw(),
'other': "{0}\n".format(certification.inline())} 'other': "{0}\n".format(certification.inline())}
logging.debug("Posted data : {0}".format(data)) logging.debug("Posted data : {0}".format(data))
community.post(bma.wot.Add, {}, data) community.broadcast(bma.wot.Add, {}, data)
def sources(self, community): def sources(self, community):
sources = [] sources = []
...@@ -189,7 +189,7 @@ class Account(object): ...@@ -189,7 +189,7 @@ class Account(object):
key = SigningKey(self.salt, password) key = SigningKey(self.salt, password)
selfcert.sign([key]) selfcert.sign([key])
logging.debug("Key publish : {0}".format(selfcert.signed_raw())) logging.debug("Key publish : {0}".format(selfcert.signed_raw()))
community.post(bma.wot.Add, {}, {'pubkey': self.pubkey, community.broadcast(bma.wot.Add, {}, {'pubkey': self.pubkey,
'self_': selfcert.signed_raw(), 'self_': selfcert.signed_raw(),
'other': []}) 'other': []})
...@@ -206,7 +206,7 @@ class Account(object): ...@@ -206,7 +206,7 @@ class Account(object):
key = SigningKey(self.salt, password) key = SigningKey(self.salt, password)
membership.sign([key]) membership.sign([key])
logging.debug("Membership : {0}".format(membership.signed_raw())) logging.debug("Membership : {0}".format(membership.signed_raw()))
community.post(bma.blockchain.Membership, {}, community.broadcast(bma.blockchain.Membership, {},
{'membership': membership.signed_raw()}) {'membership': membership.signed_raw()})
def jsonify(self): def jsonify(self):
......
...@@ -141,7 +141,6 @@ class Community(object): ...@@ -141,7 +141,6 @@ class Community(object):
for d in data: for d in data:
cached_data.append(d) cached_data.append(d)
self.requests_cache[cache_key] = cached_data self.requests_cache[cache_key] = cached_data
logging.debug("Got a generator !")
else: else:
self.requests_cache[cache_key] = data self.requests_cache[cache_key] = data
return self.requests_cache[cache_key] return self.requests_cache[cache_key]
...@@ -159,6 +158,19 @@ class Community(object): ...@@ -159,6 +158,19 @@ class Community(object):
pass pass
return return
def broadcast(self, request, req_args={}, post_args={}):
for peer in self.peers:
e = next(e for e in peer.endpoints if type(e) is BMAEndpoint)
logging.debug("Trying to connect to : " + peer.pubkey)
req = request(e.conn_handler(), **req_args)
try:
req.post(**post_args)
except ValueError as e:
if peer == self.peers[0]:
raise
except:
pass
def jsonify_peers_list(self): def jsonify_peers_list(self):
data = [] data = []
for peer in self.peers: for peer in self.peers:
......
...@@ -216,7 +216,7 @@ class Wallet(object): ...@@ -216,7 +216,7 @@ class Wallet(object):
tx.sign([key]) tx.sign([key])
logging.debug("Transaction : {0}".format(tx.signed_raw())) logging.debug("Transaction : {0}".format(tx.signed_raw()))
try: try:
community.post(bma.tx.Process, community.broadcast(bma.tx.Process,
post_args={'transaction': tx.signed_raw()}) post_args={'transaction': tx.signed_raw()})
self.cache.awaiting_tx.append(tx) self.cache.awaiting_tx.append(tx)
except: except:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment