messing with trait objects
This commit is contained in:
parent
8708cd3b63
commit
face766e0f
61 changed files with 623 additions and 544 deletions
|
@ -1,10 +1,12 @@
|
|||
use std::collections::HashSet;
|
||||
|
||||
use super::CompressedStateEvent;
|
||||
use crate::Result;
|
||||
|
||||
pub struct StateDiff {
|
||||
parent: Option<u64>,
|
||||
added: Vec<CompressedStateEvent>,
|
||||
removed: Vec<CompressedStateEvent>,
|
||||
pub parent: Option<u64>,
|
||||
pub added: HashSet<CompressedStateEvent>,
|
||||
pub removed: HashSet<CompressedStateEvent>,
|
||||
}
|
||||
|
||||
pub trait Data {
|
||||
|
|
|
@ -8,13 +8,13 @@ use crate::{Result, utils, services};
|
|||
|
||||
use self::data::StateDiff;
|
||||
|
||||
pub struct Service<D: Data> {
|
||||
db: D,
|
||||
pub struct Service {
|
||||
db: Box<dyn Data>,
|
||||
}
|
||||
|
||||
pub type CompressedStateEvent = [u8; 2 * size_of::<u64>()];
|
||||
|
||||
impl<D: Data> Service<D> {
|
||||
impl Service {
|
||||
/// Returns a stack with info on shortstatehash, full state, added diff and removed diff for the selected shortstatehash and each parent layer.
|
||||
#[tracing::instrument(skip(self))]
|
||||
pub fn load_shortstatehash_info(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue