udp_request/request/request_builder/
impl.rs

1use crate::*;
2
3impl Default for RequestBuilder {
4    fn default() -> Self {
5        Self {
6            udp_request: UdpRequest::default(),
7            builder: UdpRequest::default(),
8        }
9    }
10}
11
12impl RequestBuilder {
13    pub fn new() -> Self {
14        Self::default()
15    }
16
17    pub fn host<T>(&mut self, host: T) -> &mut Self
18    where
19        T: Into<String>,
20    {
21        let _ = self.udp_request.config.write().and_then(|mut data| {
22            data.host = host.into();
23            Ok(())
24        });
25        self
26    }
27
28    pub fn port(&mut self, port: usize) -> &mut Self {
29        let _ = self.udp_request.config.write().and_then(|mut data| {
30            data.port = port;
31            Ok(())
32        });
33        self
34    }
35
36    pub fn buffer(&mut self, buffer_size: usize) -> &mut Self {
37        let _ = self.udp_request.config.write().and_then(|mut data| {
38            data.buffer_size = buffer_size;
39            Ok(())
40        });
41        self
42    }
43
44    pub fn timeout(&mut self, timeout: u64) -> &mut Self {
45        let _ = self.udp_request.config.write().and_then(|mut data| {
46            data.timeout = timeout;
47            Ok(())
48        });
49        self
50    }
51
52    pub fn build(&mut self) -> BoxRequestTrait {
53        self.builder = self.udp_request.clone();
54        self.udp_request = UdpRequest::default();
55        Box::new(self.builder.clone())
56    }
57}