From 5ee86055ae01f20319be738ee8142af09f8da1a6 Mon Sep 17 00:00:00 2001 From: mxsm Date: Tue, 7 Jan 2025 07:21:51 +0000 Subject: [PATCH] =?UTF-8?q?[ISSUE=20#1515]=E2=99=BB=EF=B8=8FRefactor=20Del?= =?UTF-8?q?eteKVConfigRequestHeader=20with=20derive=20marco=20RequestHeade?= =?UTF-8?q?rCodec?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../header/namesrv/kv_config_header.rs | 50 ++----------------- 1 file changed, 4 insertions(+), 46 deletions(-) diff --git a/rocketmq-remoting/src/protocol/header/namesrv/kv_config_header.rs b/rocketmq-remoting/src/protocol/header/namesrv/kv_config_header.rs index 6520de6d..f51045a3 100644 --- a/rocketmq-remoting/src/protocol/header/namesrv/kv_config_header.rs +++ b/rocketmq-remoting/src/protocol/header/namesrv/kv_config_header.rs @@ -88,16 +88,16 @@ impl GetKVConfigResponseHeader { } } -#[derive(Debug, Clone, Deserialize, Serialize, Default)] +#[derive(Debug, Clone, Deserialize, Serialize, Default, RequestHeaderCodec)] pub struct DeleteKVConfigRequestHeader { + #[required] pub namespace: CheetahString, + + #[required] pub key: CheetahString, } impl DeleteKVConfigRequestHeader { - const KEY: &'static str = "key"; - const NAMESPACE: &'static str = "namespace"; - pub fn new(namespace: impl Into, key: impl Into) -> Self { Self { namespace: namespace.into(), @@ -106,48 +106,6 @@ impl DeleteKVConfigRequestHeader { } } -impl CommandCustomHeader for DeleteKVConfigRequestHeader { - fn to_map(&self) -> Option> { - Some(HashMap::from([ - ( - CheetahString::from_static_str(DeleteKVConfigRequestHeader::NAMESPACE), - self.namespace.clone(), - ), - ( - CheetahString::from_static_str(DeleteKVConfigRequestHeader::KEY), - self.key.clone(), - ), - ])) - } -} - -impl FromMap for DeleteKVConfigRequestHeader { - type Error = crate::remoting_error::RemotingError; - - type Target = DeleteKVConfigRequestHeader; - - fn from(map: &HashMap) -> Result { - Ok(DeleteKVConfigRequestHeader { - namespace: map - .get(&CheetahString::from_static_str( - DeleteKVConfigRequestHeader::NAMESPACE, - )) - .cloned() - .ok_or(Self::Error::RemotingCommandError( - "Miss namespace field".to_string(), - ))?, - key: map - .get(&CheetahString::from_static_str( - DeleteKVConfigRequestHeader::KEY, - )) - .cloned() - .ok_or(Self::Error::RemotingCommandError( - "Miss key field".to_string(), - ))?, - }) - } -} - #[derive(Debug, Clone, Deserialize, Serialize, Default)] pub struct GetKVListByNamespaceRequestHeader { pub namespace: CheetahString,