Skip to content

Commit ce42fc9

Browse files
authored
[ISSUE #2155]♻️Refactor WipeWritePermOfBrokerRequestHeader with derive marco RequestHeaderCodec (#2156)
1 parent 219cf4b commit ce42fc9

File tree

1 file changed

+3
-29
lines changed

1 file changed

+3
-29
lines changed

rocketmq-remoting/src/protocol/header/namesrv/perm_broker_header.rs

Lines changed: 3 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -17,54 +17,28 @@
1717
use std::collections::HashMap;
1818

1919
use cheetah_string::CheetahString;
20+
use rocketmq_macros::RequestHeaderCodec;
2021
use serde::Deserialize;
2122
use serde::Serialize;
2223

2324
use crate::protocol::command_custom_header::CommandCustomHeader;
2425
use crate::protocol::command_custom_header::FromMap;
2526

26-
#[derive(Debug, Clone, Deserialize, Serialize, Default)]
27+
#[derive(Debug, Clone, Deserialize, Serialize, Default, RequestHeaderCodec)]
2728
#[serde(rename_all = "camelCase")]
2829
pub struct WipeWritePermOfBrokerRequestHeader {
30+
#[required]
2931
pub broker_name: CheetahString,
3032
}
3133

3234
impl WipeWritePermOfBrokerRequestHeader {
33-
const BROKER_NAME: &'static str = "brokerName";
34-
3535
pub fn new(broker_name: impl Into<CheetahString>) -> Self {
3636
Self {
3737
broker_name: broker_name.into(),
3838
}
3939
}
4040
}
4141

42-
impl CommandCustomHeader for WipeWritePermOfBrokerRequestHeader {
43-
fn to_map(&self) -> Option<HashMap<CheetahString, CheetahString>> {
44-
Some(HashMap::from([(
45-
CheetahString::from_static_str(Self::BROKER_NAME),
46-
self.broker_name.clone(),
47-
)]))
48-
}
49-
}
50-
51-
impl FromMap for WipeWritePermOfBrokerRequestHeader {
52-
type Error = crate::remoting_error::RemotingError;
53-
54-
type Target = Self;
55-
56-
fn from(map: &HashMap<CheetahString, CheetahString>) -> Result<Self::Target, Self::Error> {
57-
Ok(WipeWritePermOfBrokerRequestHeader {
58-
broker_name: map
59-
.get(&CheetahString::from_static_str(
60-
WipeWritePermOfBrokerRequestHeader::BROKER_NAME,
61-
))
62-
.cloned()
63-
.unwrap_or_default(),
64-
})
65-
}
66-
}
67-
6842
#[derive(Debug, Clone, Deserialize, Serialize, Default)]
6943
#[serde(rename_all = "camelCase")]
7044
pub struct WipeWritePermOfBrokerResponseHeader {

0 commit comments

Comments
 (0)