udp_request/request/request_builder/
impl.rs1use 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}