(not well tested) use merkle tree for sync

This commit is contained in:
Alex Auvolat
2021-03-11 18:28:03 +01:00
parent 94f3d28774
commit 046b649bcc
11 changed files with 765 additions and 985 deletions
+9 -6
View File
@@ -1,16 +1,16 @@
use std::sync::Arc;
use log::warn;
use sled::Transactional;
use serde_bytes::ByteBuf;
use sled::Transactional;
use garage_util::background::BackgroundRunner;
use garage_util::data::*;
use garage_util::error::*;
use garage_util::background::BackgroundRunner;
use crate::schema::*;
use crate::merkle::*;
use crate::crdt::CRDT;
use crate::merkle::*;
use crate::schema::*;
pub struct TableData<F: TableSchema> {
pub name: String,
@@ -20,7 +20,10 @@ pub struct TableData<F: TableSchema> {
pub(crate) merkle_updater: Arc<MerkleUpdater>,
}
impl<F> TableData<F> where F: TableSchema {
impl<F> TableData<F>
where
F: TableSchema,
{
pub fn new(
name: String,
instance: F,
@@ -45,7 +48,7 @@ impl<F> TableData<F> where F: TableSchema {
merkle_tree_store,
);
Arc::new(Self{
Arc::new(Self {
name,
instance,
store,