From a2282a31448637038fe8c5b41a304e0796a7647e Mon Sep 17 00:00:00 2001 From: Li Cao Date: Tue, 19 Mar 2019 20:54:58 +0000 Subject: [PATCH] changed protobuf schema and stub methods --- api/protos/service.proto | 4 ++++ src/disk_manager.rs | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/api/protos/service.proto b/api/protos/service.proto index 5b41a9e..c83b180 100644 --- a/api/protos/service.proto +++ b/api/protos/service.proto @@ -101,6 +101,10 @@ enum Op { Remove = 4; // Returns bool SafeToRemove = 5; + // Sets to maintenance mode. Returns OpResult + SetMaintenance = 7; + // Unsets maintenance mode Returns OpResult + UnsetMaintenance = 8; } // Datacenter related API's diff --git a/src/disk_manager.rs b/src/disk_manager.rs index f6cf38f..3d6a74b 100644 --- a/src/disk_manager.rs +++ b/src/disk_manager.rs @@ -226,11 +226,43 @@ fn listen( } }; } + + Op::SetMaintenance => { + match set_maintenance_mode(&mut responder) { + Ok(_) => { + info!("Set maintenance operation finished"); + } + Err(e) => { + error!("Error when setting to maintenance mode: {:?}", e); + } + }; + } + + Op::UnsetMaintenance => { + match unset_maintenance_mode(&mut responder) { + Ok(_) => { + info!("Unset maintenance operation finished"); + } + Err(e) => { + error!("Error when unsetting the maintenance mode: {:?}", e); + } + }; + } }; thread::sleep(Duration::from_millis(10)); } } +fn set_maintenance_mode(sock: &mut Socket) -> BynarResult<()> { + //TODO implement the feature + Ok(()) +} + +fn unset_maintenance_mode(sock: &mut Socket) -> BynarResult<()> { + //TODO implement the feature + Ok(()) +} + fn respond_to_client(result: &OpResult, s: &mut Socket) -> BynarResult<()> { let encoded = result.write_to_bytes()?; let msg = Message::from_slice(&encoded)?;