diff options
author | Alex Auvolat <alex@adnab.me> | 2022-12-05 15:28:57 +0100 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2022-12-05 15:28:57 +0100 |
commit | 280d1be7b1fde13d23e47f75aa8acd2f90efb81f (patch) | |
tree | 5a74e5bdef1cef54360b2b3ca57a53bf1ce61ba2 /src/table/replication/mode.rs | |
parent | 2065f011ca3f7c736feecffd108c89d3f8019e85 (diff) | |
download | garage-280d1be7b1fde13d23e47f75aa8acd2f90efb81f.tar.gz garage-280d1be7b1fde13d23e47f75aa8acd2f90efb81f.zip |
Refactor health check and add ability to return it in json
Diffstat (limited to 'src/table/replication/mode.rs')
-rw-r--r-- | src/table/replication/mode.rs | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/src/table/replication/mode.rs b/src/table/replication/mode.rs deleted file mode 100644 index e244e063..00000000 --- a/src/table/replication/mode.rs +++ /dev/null @@ -1,57 +0,0 @@ -#[derive(Clone, Copy)] -pub enum ReplicationMode { - None, - TwoWay, - TwoWayDangerous, - ThreeWay, - ThreeWayDegraded, - ThreeWayDangerous, -} - -impl ReplicationMode { - pub fn parse(v: &str) -> Option<Self> { - match v { - "none" | "1" => Some(Self::None), - "2" => Some(Self::TwoWay), - "2-dangerous" => Some(Self::TwoWayDangerous), - "3" => Some(Self::ThreeWay), - "3-degraded" => Some(Self::ThreeWayDegraded), - "3-dangerous" => Some(Self::ThreeWayDangerous), - _ => None, - } - } - - pub fn control_write_max_faults(&self) -> usize { - match self { - Self::None => 0, - _ => 1, - } - } - - pub fn replication_factor(&self) -> usize { - match self { - Self::None => 1, - Self::TwoWay | Self::TwoWayDangerous => 2, - Self::ThreeWay | Self::ThreeWayDegraded | Self::ThreeWayDangerous => 3, - } - } - - pub fn read_quorum(&self) -> usize { - match self { - Self::None => 1, - Self::TwoWay | Self::TwoWayDangerous => 1, - Self::ThreeWay => 2, - Self::ThreeWayDegraded | Self::ThreeWayDangerous => 1, - } - } - - pub fn write_quorum(&self) -> usize { - match self { - Self::None => 1, - Self::TwoWay => 2, - Self::TwoWayDangerous => 1, - Self::ThreeWay | Self::ThreeWayDegraded => 2, - Self::ThreeWayDangerous => 1, - } - } -} |