Remove RefCell from Header (#8227)

* Cache RLP and header hashes.

* Refactor header - WiP

* Avoid decoding laster header.

* Pre-compute hashes for Sealed/Locked block.

* Use accrue bloom. Closes ##8241
This commit is contained in:
Tomasz Drwięga
2018-04-03 10:01:28 +02:00
committed by Marek Kotewicz
parent d477670cb9
commit 9f775a7673
20 changed files with 300 additions and 233 deletions

View File

@@ -17,8 +17,7 @@
//! Tests for the on-demand service.
use cache::Cache;
use ethcore::encoded;
use ethcore::header::{Header, Seal};
use ethcore::header::Header;
use futures::Future;
use network::{PeerId, NodeId};
use net::*;
@@ -148,7 +147,7 @@ fn single_request() {
});
let header = Header::default();
let encoded = encoded::Header::new(header.rlp(Seal::With));
let encoded = header.encoded();
let recv = harness.service.request_raw(
&Context::NoOp,
@@ -209,7 +208,7 @@ fn reassign() {
});
let header = Header::default();
let encoded = encoded::Header::new(header.rlp(Seal::With));
let encoded = header.encoded();
let recv = harness.service.request_raw(
&Context::NoOp,
@@ -257,7 +256,7 @@ fn partial_response() {
let mut hdr = Header::default();
hdr.set_number(num);
let encoded = encoded::Header::new(hdr.rlp(Seal::With));
let encoded = hdr.encoded();
(hdr, encoded)
};
@@ -316,7 +315,7 @@ fn part_bad_part_good() {
let mut hdr = Header::default();
hdr.set_number(num);
let encoded = encoded::Header::new(hdr.rlp(Seal::With));
let encoded = hdr.encoded();
(hdr, encoded)
};
@@ -413,7 +412,7 @@ fn back_references() {
});
let header = Header::default();
let encoded = encoded::Header::new(header.rlp(Seal::With));
let encoded = header.encoded();
let recv = harness.service.request_raw(
&Context::NoOp,
@@ -470,7 +469,7 @@ fn fill_from_cache() {
});
let header = Header::default();
let encoded = encoded::Header::new(header.rlp(Seal::With));
let encoded = header.encoded();
let recv = harness.service.request_raw(
&Context::NoOp,