Removing overengineered stuff

This commit is contained in:
Tomusdrw
2016-02-10 15:28:43 +01:00
parent 0d121dd51a
commit 7925642b1b
6 changed files with 65 additions and 108 deletions

View File

@@ -60,7 +60,7 @@ impl BlockQueueInfo {
/// A queue of blocks. Sits between network or other I/O and the BlockChain.
/// Sorts them ready for blockchain insertion.
pub struct BlockQueue {
panic_handler: Arc<StringPanicHandler>,
panic_handler: Arc<PanicHandler>,
engine: Arc<Box<Engine>>,
more_to_verify: Arc<Condvar>,
verification: Arc<Mutex<Verification>>,
@@ -115,7 +115,7 @@ impl BlockQueue {
let ready_signal = Arc::new(QueueSignal { signalled: AtomicBool::new(false), message_channel: message_channel });
let deleting = Arc::new(AtomicBool::new(false));
let empty = Arc::new(Condvar::new());
let panic_handler = StringPanicHandler::new_arc();
let panic_handler = PanicHandler::new_arc();
let mut verifiers: Vec<JoinHandle<()>> = Vec::new();
let thread_count = max(::num_cpus::get(), 3) - 2;
@@ -337,8 +337,8 @@ impl BlockQueue {
}
}
impl MayPanic<String> for BlockQueue {
fn on_panic<F>(&self, closure: F) where F: OnPanicListener<String> {
impl MayPanic for BlockQueue {
fn on_panic<F>(&self, closure: F) where F: OnPanicListener {
self.panic_handler.on_panic(closure);
}
}

View File

@@ -162,7 +162,7 @@ pub struct Client {
block_queue: RwLock<BlockQueue>,
report: RwLock<ClientReport>,
import_lock: Mutex<()>,
panic_handler: Arc<StringPanicHandler>,
panic_handler: Arc<PanicHandler>,
}
const HISTORY: u64 = 1000;
@@ -211,9 +211,9 @@ impl Client {
}
let block_queue = BlockQueue::new(engine.clone(), message_channel);
let panic_handler = StringPanicHandler::new_arc();
let panic_handler = PanicHandler::new_arc();
let panic = panic_handler.clone();
block_queue.on_panic(move |t: &String| panic.notify_all(t));
block_queue.on_panic(move |t| panic.notify_all(t));
Ok(Arc::new(Client {
chain: chain,
@@ -440,8 +440,8 @@ impl BlockChainClient for Client {
}
}
impl MayPanic<String> for Client {
fn on_panic<F>(&self, closure: F) where F: OnPanicListener<String> {
impl MayPanic for Client {
fn on_panic<F>(&self, closure: F) where F: OnPanicListener {
self.panic_handler.on_panic(closure);
}
}