test
This commit is contained in:
parent
08da5b831e
commit
564f04011a
|
@ -54,6 +54,7 @@ pub enum Chain {
|
||||||
Orphan,
|
Orphan,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(PartialEq, Debug)]
|
||||||
/// block status within the queue
|
/// block status within the queue
|
||||||
pub enum BlockStatus {
|
pub enum BlockStatus {
|
||||||
Valid,
|
Valid,
|
||||||
|
|
|
@ -27,6 +27,17 @@ pub struct Queue {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Queue {
|
impl Queue {
|
||||||
|
|
||||||
|
/// New verification queue
|
||||||
|
pub fn new(verifier: Box<Verify>) -> Self {
|
||||||
|
Queue {
|
||||||
|
verifier: verifier,
|
||||||
|
items: RwLock::new(LinkedHashMap::new()),
|
||||||
|
verified: RwLock::new(LinkedHashMap::new()),
|
||||||
|
invalid: RwLock::new(HashSet::new()),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// Process one block in the queue
|
/// Process one block in the queue
|
||||||
pub fn process(&self) {
|
pub fn process(&self) {
|
||||||
let (hash, block) = {
|
let (hash, block) = {
|
||||||
|
@ -59,3 +70,23 @@ impl Queue {
|
||||||
else { BlockStatus::Absent }
|
else { BlockStatus::Absent }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::Queue;
|
||||||
|
use super::super::{BlockStatus, VerificationResult, Verify, Chain};
|
||||||
|
use chain::Block;
|
||||||
|
use primitives::hash::H256;
|
||||||
|
|
||||||
|
struct FacileVerifier;
|
||||||
|
impl Verify for FacileVerifier {
|
||||||
|
fn verify(&self, block: &Block) -> VerificationResult { Ok(Chain::Main) }
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn new() {
|
||||||
|
let queue = Queue::new(Box::new(FacileVerifier));
|
||||||
|
assert_eq!(queue.block_status(&H256::from(0u8)), BlockStatus::Absent);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue