overlaydb put_payload.
This commit is contained in:
parent
4640d64965
commit
7733faaab5
@ -4,6 +4,7 @@ use error::*;
|
||||
use hash::*;
|
||||
use bytes::*;
|
||||
use sha3::*;
|
||||
use rlp::*;
|
||||
use hashdb::*;
|
||||
use memorydb::*;
|
||||
use std::ops::*;
|
||||
@ -34,10 +35,10 @@ impl OverlayDB {
|
||||
if back_rc + rc < 0 {
|
||||
return Err(From::from(BaseDataError::NegativelyReferencedHash));
|
||||
}
|
||||
self.put_payload(&key, (&back_value, rc + back_rc));
|
||||
self.put_payload(&key, (back_value, rc + back_rc));
|
||||
}
|
||||
None => {
|
||||
self.put_payload(&key, (&value, rc));
|
||||
self.put_payload(&key, (value, rc));
|
||||
}
|
||||
};
|
||||
ret += 1;
|
||||
@ -48,12 +49,20 @@ impl OverlayDB {
|
||||
|
||||
/// Get the refs and value of the given key.
|
||||
fn payload(&self, key: &H256) -> Option<(Bytes, i32)> {
|
||||
unimplemented!();
|
||||
db.get(&key.bytes())
|
||||
.expect("Low-level database error. Some issue with your hard disk?")
|
||||
.map(|d| {
|
||||
Rlp r(d.deref());
|
||||
r(Bytes, i32)
|
||||
})
|
||||
}
|
||||
|
||||
/// Get the refs and value of the given key.
|
||||
fn put_payload(&self, key: &H256, payload: (&Bytes, i32)) {
|
||||
unimplemented!();
|
||||
fn put_payload(&self, key: &H256, payload: (Bytes, i32)) {
|
||||
let mut s = RlpStream::new_list(2);
|
||||
s.append(payload.1);
|
||||
s.append(payload.0);
|
||||
backing.put(&key.bytes(), &s.out().unwrap());
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user