rocketmq_protocol/protocol/header/
search_offset_response_header.rs1use rocketmq_macros::RequestHeaderCodec;
16use serde::Deserialize;
17use serde::Serialize;
18
19#[derive(Debug, Clone, Deserialize, Serialize, Default, RequestHeaderCodec)]
20#[header(
21 type_id = "rocketmq_protocol::protocol::header::search_offset_response_header::SearchOffsetResponseHeader",
22 java_class = "org.apache.rocketmq.remoting.protocol.header.SearchOffsetResponseHeader"
23)]
24pub struct SearchOffsetResponseHeader {
25 #[header(required)]
26 pub offset: i64,
27}
28
29#[cfg(test)]
30mod tests {
31 use serde_json;
32
33 use super::*;
34
35 #[test]
36 fn search_offset_response_header_serialize() {
37 let header = SearchOffsetResponseHeader { offset: 1234567890 };
38 let serialized = serde_json::to_string(&header).unwrap();
39 assert_eq!(serialized, r#"{"offset":1234567890}"#);
40 }
41
42 #[test]
43 fn search_offset_response_header_deserialize() {
44 let json = r#"{"offset":1234567890}"#;
45 let header: SearchOffsetResponseHeader = serde_json::from_str(json).unwrap();
46 assert_eq!(header.offset, 1234567890);
47 }
48}