tcp_request/request/request_builder/
impl.rs1use crate::*;
2
3impl Default for RequestBuilder {
4 #[inline]
5 fn default() -> Self {
6 Self {
7 tcp_request: TcpRequest::default(),
8 builder: TcpRequest::default(),
9 }
10 }
11}
12
13impl RequestBuilder {
14 #[inline]
15 pub fn new() -> Self {
16 Self::default()
17 }
18
19 #[inline]
20 pub fn host<T>(&mut self, host: T) -> &mut Self
21 where
22 T: Into<String>,
23 {
24 let _ = self
25 .tcp_request
26 .get_mut_config()
27 .write()
28 .and_then(|mut data| {
29 data.host = host.into();
30 Ok(())
31 });
32 self
33 }
34
35 #[inline]
36 pub fn port(&mut self, port: usize) -> &mut Self {
37 let _ = self
38 .tcp_request
39 .get_mut_config()
40 .write()
41 .and_then(|mut data| {
42 data.port = port;
43 Ok(())
44 });
45 self
46 }
47
48 #[inline]
49 pub fn buffer(&mut self, buffer_size: usize) -> &mut Self {
50 let _ = self
51 .tcp_request
52 .get_mut_config()
53 .write()
54 .and_then(|mut data| {
55 data.buffer_size = buffer_size;
56 Ok(())
57 });
58 self
59 }
60
61 #[inline]
62 pub fn timeout(&mut self, timeout: u64) -> &mut Self {
63 let _ = self
64 .tcp_request
65 .get_mut_config()
66 .write()
67 .and_then(|mut data| {
68 data.timeout = timeout;
69 Ok(())
70 });
71 self
72 }
73
74 #[inline]
75 pub fn build(&mut self) -> BoxRequestTrait {
76 self.builder = self.tcp_request.clone();
77 self.tcp_request = TcpRequest::default();
78 Box::new(self.builder.clone())
79 }
80}