1
0
Fork 0
mirror of https://github.com/romanz/electrs.git synced 2025-02-24 06:57:53 +01:00

Use HeaderMap type

This commit is contained in:
Roman Zeyde 2018-04-11 21:14:18 +03:00
parent 3f183b8fcc
commit 0750e0b670
No known key found for this signature in database
GPG key ID: 87CAE5FA46917CBB
4 changed files with 11 additions and 11 deletions

View file

@ -4,17 +4,15 @@ use bitcoin::network::serialize::BitcoinHash;
use bitcoin::network::serialize::RawDecoder;
use itertools::enumerate;
use reqwest;
use std::collections::{HashMap, VecDeque};
use std::collections::VecDeque;
use std::io::Cursor;
use util;
use Bytes;
use {Bytes, HeaderMap};
const HEADER_SIZE: usize = 80;
type HeaderMap = HashMap<Bytes, BlockHeader>;
pub struct Daemon {
url: String,
}
@ -39,7 +37,7 @@ impl Daemon {
}
fn get_headers(&self) -> (HeaderMap, Bytes) {
let mut headers = HashMap::new();
let mut headers = HeaderMap::new();
let mut blockhash: Bytes = util::from_hex(
"6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000",
).unwrap(); // genesis block hash

View file

@ -8,13 +8,12 @@ use crypto::sha2::Sha256;
use daemon::Daemon;
use pbr;
use std::collections::HashMap;
use store::{Row, Store};
use time;
use timer::Timer;
use util;
use Bytes;
use {Bytes, HeaderMap};
const HASH_PREFIX_LEN: usize = 8;
@ -79,7 +78,7 @@ fn index_block(block: &Block, height: usize) -> Vec<Row> {
}
fn get_missing_headers(store: &Store, daemon: &Daemon) -> Vec<(usize, BlockHeader)> {
let indexed_headers: HashMap<Bytes, BlockHeader> = store.read_headers();
let indexed_headers: HeaderMap = store.read_headers();
let mut headers: Vec<(usize, BlockHeader)> = daemon.enumerate_headers();
{
let best_block_header = &headers.last().unwrap().1;

View file

@ -19,9 +19,12 @@ mod timer;
mod util;
mod waiter;
use bitcoin::blockdata::block::BlockHeader;
use std::collections::HashMap;
use store::{Store, StoreOptions};
type Bytes = Vec<u8>;
type HeaderMap = HashMap<Bytes, BlockHeader>;
fn main() {
simple_logger::init_with_level(log::Level::Info).unwrap();

View file

@ -1,10 +1,10 @@
use bitcoin::blockdata::block::BlockHeader;
use bitcoin::network::serialize::deserialize;
use rocksdb;
use std::collections::HashMap;
use time::{Duration, PreciseTime};
use Bytes;
use HeaderMap;
pub struct Store {
db: rocksdb::DB,
@ -66,8 +66,8 @@ impl Store {
self.start = PreciseTime::now();
}
pub fn read_headers(&self) -> HashMap<Bytes, BlockHeader> {
let mut headers = HashMap::new();
pub fn read_headers(&self) -> HeaderMap {
let mut headers = HeaderMap::new();
for row in self.scan(b"B") {
let header: BlockHeader = deserialize(&row.value).unwrap();
headers.insert(row.key, header);