commit 1f13b2f4f3e628aafa5058edaf2e46af77e31811
parent 4eb767492b33afacbb7c28e1918d3a0bfa6c3f11
Author: ThomasV <thomasv@gitorious>
Date: Mon, 11 Nov 2013 16:18:40 +0100
network.send method
Diffstat:
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/lib/network.py b/lib/network.py
@@ -97,6 +97,14 @@ class Network(threading.Thread):
self.interface.send( messages, callback )
+ def send(self, messages, callback):
+ if self.interface and self.interface.is_connected:
+ self.interface.send( messages, callback )
+ return True
+ else:
+ return False
+
+
def register_callback(self, event, callback):
with self.lock:
if not self.callbacks.get(event):
diff --git a/lib/verifier.py b/lib/verifier.py
@@ -33,7 +33,6 @@ class TxVerifier(threading.Thread):
self.storage = storage
self.network = network
self.blockchain = network.blockchain
- self.interface = network.interface
self.transactions = {} # requested verifications (with height sent by the requestor)
self.verified_tx = storage.get('verified_tx3',{}) # height, timestamp of verified transactions
self.merkle_roots = storage.get('merkle_roots',{}) # hashed by me
@@ -106,8 +105,8 @@ class TxVerifier(threading.Thread):
if tx_hash not in self.verified_tx:
if self.merkle_roots.get(tx_hash) is None and tx_hash not in requested_merkle:
print_error('requesting merkle', tx_hash)
- self.interface.send([ ('blockchain.transaction.get_merkle',[tx_hash, tx_height]) ], lambda i,r: self.queue.put(r))
- requested_merkle.append(tx_hash)
+ if self.network.send([ ('blockchain.transaction.get_merkle',[tx_hash, tx_height]) ], lambda i,r: self.queue.put(r)):
+ requested_merkle.append(tx_hash)
try:
r = self.queue.get(timeout=1)