kf_protocol_message/
fetch_handler.rs

1use std::fmt::Debug;
2
3use kf_protocol::Decoder;
4use kf_protocol::Encoder;
5
6use kf_protocol_api::RecordSet;
7
8use crate::fetch::{KfFetchResponse, KfFetchRequest};
9use crate::fetch::FetchableTopicResponse;
10
11pub type DefaultKfFetchRequest = KfFetchRequest<RecordSet>;
12pub type DefaultKfFetchResponse = KfFetchResponse<RecordSet>;
13
14// -----------------------------------
15// Implementation
16// -----------------------------------
17
18impl<R> KfFetchResponse<R>
19where
20    R: Encoder + Decoder + Debug,
21{
22    pub fn find_topic(&self, topic: &String) -> Option<&FetchableTopicResponse<R>>
23    where
24        R: Debug,
25    {
26        for r_topic in &self.topics {
27            if r_topic.name == *topic {
28                return Some(r_topic);
29            }
30        }
31        None
32    }
33}
34
35#[cfg(test)]
36mod test {
37
38    use super::DefaultKfFetchRequest;
39
40    #[test]
41    fn test_request() {
42        let _ = DefaultKfFetchRequest::default();
43        assert!(true);
44    }
45}