rocketmq_client_v4/protocols/header/
get_max_offset_response_header.rs

1use serde::Deserialize;
2use crate::protocols::mq_command::MqCommand;
3use crate::protocols::{response_code, SerializeDeserialize};
4
5#[derive(Debug, Deserialize)]
6pub struct GetMaxOffsetResponseHeader {
7    pub offset: i64
8}
9
10impl GetMaxOffsetResponseHeader {
11
12    pub fn convert_from_cmd(cmd: &MqCommand) -> Self {
13
14        match cmd.req_code {
15
16            response_code::SUCCESS => {
17                let map = Self::bytes_1_to_map(cmd.e_body.clone());
18                let v = map.get("offset").unwrap().to_string();
19                Self {
20                    offset: v.parse().unwrap(),
21                }
22            }
23
24            _ => {
25                Self{
26                    offset: -1,
27                }
28            }
29        }
30
31    }
32
33}
34
35
36impl SerializeDeserialize for GetMaxOffsetResponseHeader {}