diff --git a/src/main.rs b/src/bin/index_server.rs similarity index 55% rename from src/main.rs rename to src/bin/index_server.rs index 2f144cc..74b745b 100644 --- a/src/main.rs +++ b/src/bin/index_server.rs @@ -1,35 +1,8 @@ -extern crate bincode; -extern crate bitcoin; -extern crate crypto; -extern crate itertools; -extern crate pbr; -extern crate reqwest; -extern crate rocksdb; -extern crate serde; extern crate simplelog; -extern crate time; -extern crate zmq; -#[macro_use] -extern crate arrayref; -#[macro_use] -extern crate log; -#[macro_use] -extern crate serde_derive; +extern crate indexrs; -mod daemon; -mod index; -mod store; -mod timer; -mod waiter; - -use bitcoin::blockdata::block::BlockHeader; -use bitcoin::util::hash::Sha256dHash; -use std::collections::HashMap; -use store::{Store, StoreOptions}; - -type Bytes = Vec; -type HeaderMap = HashMap; +use indexrs::{daemon, index, store, waiter}; fn setup_logging() { use simplelog::*; @@ -45,14 +18,13 @@ fn setup_logging() { ]).unwrap(); } -fn main() { - setup_logging(); +fn run_server() { let waiter = waiter::Waiter::new("tcp://localhost:28332"); let daemon = daemon::Daemon::new("http://localhost:8332"); { - let mut store = Store::open( + let mut store = store::Store::open( "db/mainnet", - StoreOptions { + store::StoreOptions { auto_compact: false, }, ); @@ -60,7 +32,7 @@ fn main() { store.compact_if_needed(); } - let mut store = Store::open("db/mainnet", StoreOptions { auto_compact: true }); + let mut store = store::Store::open("db/mainnet", store::StoreOptions { auto_compact: true }); loop { if store.read_header(&waiter.wait()).is_some() { continue; @@ -68,3 +40,8 @@ fn main() { index::update(&mut store, &daemon); } } + +fn main() { + setup_logging(); + run_server() +} diff --git a/src/daemon.rs b/src/daemon.rs index a00fb61..3685a2f 100644 --- a/src/daemon.rs +++ b/src/daemon.rs @@ -7,7 +7,7 @@ use reqwest; use std::collections::VecDeque; use std::io::Cursor; -use {Bytes, HeaderMap, Sha256dHash}; +use types::{Bytes, HeaderMap, Sha256dHash}; const HEADER_SIZE: usize = 80; diff --git a/src/index.rs b/src/index.rs index d71922a..c7c34d1 100644 --- a/src/index.rs +++ b/src/index.rs @@ -12,8 +12,7 @@ use pbr; use store::{Row, Store}; use time; use timer::Timer; - -use {Bytes, HeaderMap}; +use types::{Bytes, HeaderMap}; const HASH_LEN: usize = 32; const HASH_PREFIX_LEN: usize = 8; diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..47b71f2 --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,25 @@ +extern crate bincode; +extern crate bitcoin; +extern crate crypto; +extern crate itertools; +extern crate pbr; +extern crate reqwest; +extern crate rocksdb; +extern crate serde; +extern crate time; +extern crate zmq; + +#[macro_use] +extern crate arrayref; +#[macro_use] +extern crate log; +#[macro_use] +extern crate serde_derive; + +pub mod daemon; +pub mod index; +pub mod store; +pub mod waiter; + +mod timer; +mod types; diff --git a/src/store.rs b/src/store.rs index 095e240..0b53c6a 100644 --- a/src/store.rs +++ b/src/store.rs @@ -3,8 +3,7 @@ use bitcoin::network::serialize::deserialize; use rocksdb; use time::{Duration, PreciseTime}; -use Bytes; -use HeaderMap; +use types::{Bytes, HeaderMap}; pub struct Store { db: rocksdb::DB, diff --git a/src/waiter.rs b/src/waiter.rs index 4d14b6a..3e7977d 100644 --- a/src/waiter.rs +++ b/src/waiter.rs @@ -1,6 +1,6 @@ use zmq; -use Bytes; +use types::Bytes; pub struct Waiter { sock: zmq::Socket,