electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit 1f13b2f4f3e628aafa5058edaf2e46af77e31811
parent 4eb767492b33afacbb7c28e1918d3a0bfa6c3f11
Author: ThomasV <thomasv@gitorious>
Date:   Mon, 11 Nov 2013 16:18:40 +0100

network.send method

Diffstat:
Mlib/network.py | 8++++++++
Mlib/verifier.py | 5++---
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)