|
14 | 14 | * See the License for the specific language governing permissions and |
15 | 15 | * limitations under the License. |
16 | 16 | */ |
17 | | -use std::collections::HashMap; |
18 | 17 |
|
19 | | -use cheetah_string::CheetahString; |
| 18 | +use rocketmq_macros::RequestHeaderCodec; |
20 | 19 | use serde::Deserialize; |
21 | 20 | use serde::Serialize; |
22 | 21 |
|
23 | | -use crate::protocol::command_custom_header::CommandCustomHeader; |
24 | | -use crate::protocol::command_custom_header::FromMap; |
25 | 22 | use crate::rpc::rpc_request_header::RpcRequestHeader; |
26 | 23 |
|
27 | | -#[derive(Serialize, Deserialize, Debug, Default)] |
| 24 | +#[derive(Serialize, Deserialize, Debug, Default, RequestHeaderCodec)] |
28 | 25 | #[serde(rename_all = "camelCase")] |
29 | 26 | pub struct UnlockBatchMqRequestHeader { |
30 | 27 | #[serde(flatten)] |
31 | 28 | pub rpc_request_header: Option<RpcRequestHeader>, |
32 | 29 | } |
33 | | - |
34 | | -impl CommandCustomHeader for UnlockBatchMqRequestHeader { |
35 | | - fn to_map(&self) -> Option<HashMap<CheetahString, CheetahString>> { |
36 | | - let mut map = HashMap::new(); |
37 | | - if let Some(value) = self.rpc_request_header.as_ref() { |
38 | | - if let Some(value) = value.to_map() { |
39 | | - map.extend(value); |
40 | | - } |
41 | | - } |
42 | | - Some(map) |
43 | | - } |
44 | | -} |
45 | | - |
46 | | -impl FromMap for UnlockBatchMqRequestHeader { |
47 | | - type Error = rocketmq_error::RocketmqError; |
48 | | - |
49 | | - type Target = Self; |
50 | | - |
51 | | - fn from(map: &HashMap<CheetahString, CheetahString>) -> Result<Self::Target, Self::Error> { |
52 | | - let rpc_request_header = <RpcRequestHeader as FromMap>::from(map)?; |
53 | | - Ok(UnlockBatchMqRequestHeader { |
54 | | - rpc_request_header: Some(rpc_request_header), |
55 | | - }) |
56 | | - } |
57 | | -} |
0 commit comments