test
This commit is contained in:
parent
08da5b831e
commit
564f04011a
|
@ -54,6 +54,7 @@ pub enum Chain {
|
|||
Orphan,
|
||||
}
|
||||
|
||||
#[derive(PartialEq, Debug)]
|
||||
/// block status within the queue
|
||||
pub enum BlockStatus {
|
||||
Valid,
|
||||
|
|
|
@ -27,6 +27,17 @@ pub struct 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
|
||||
pub fn process(&self) {
|
||||
let (hash, block) = {
|
||||
|
@ -59,3 +70,23 @@ impl Queue {
|
|||
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