diff options
author | Alex Auvolat <alex@adnab.me> | 2021-03-16 12:18:03 +0100 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2021-03-16 12:18:03 +0100 |
commit | 2a41b8238496dfeac5ee0f273445299cbd112ff6 (patch) | |
tree | 1c65e8eeaea6ba5124600d33ad98e62b5e13ab53 /src/table/replication/parameters.rs | |
parent | 0aad2f2e066b5914ac94bb319e7679e2e7761b2b (diff) | |
download | garage-2a41b8238496dfeac5ee0f273445299cbd112ff6.tar.gz garage-2a41b8238496dfeac5ee0f273445299cbd112ff6.zip |
Simpler Merkle & sync
Diffstat (limited to 'src/table/replication/parameters.rs')
-rw-r--r-- | src/table/replication/parameters.rs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/table/replication/parameters.rs b/src/table/replication/parameters.rs index ace82bd9..e46bd172 100644 --- a/src/table/replication/parameters.rs +++ b/src/table/replication/parameters.rs @@ -1,4 +1,4 @@ -use garage_rpc::ring::Ring; +use garage_rpc::ring::*; use garage_util::data::*; @@ -6,9 +6,6 @@ pub trait TableReplication: Send + Sync { // See examples in table_sharded.rs and table_fullcopy.rs // To understand various replication methods - // Partition number of data item (for Merkle tree) - fn partition_of(&self, hash: &Hash) -> u16; - // Which nodes to send reads from fn read_nodes(&self, hash: &Hash) -> Vec<UUID>; fn read_quorum(&self) -> usize; @@ -18,6 +15,7 @@ pub trait TableReplication: Send + Sync { fn write_quorum(&self) -> usize; fn max_write_errors(&self) -> usize; - // Get partition boundaries - fn split_points(&self, ring: &Ring) -> Vec<Hash>; + // Accessing partitions, for Merkle tree & sync + fn partition_of(&self, hash: &Hash) -> Partition; + fn partitions(&self) -> Vec<(Partition, Hash)>; } |