tcp_request/request/request_builder/
impl.rs1use crate::*;
2
3impl Default for RequestBuilder {
4 fn default() -> Self {
5 Self {
6 tcp_request: TcpRequest::default(),
7 builder: TcpRequest::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
22 .tcp_request
23 .get_mut_config()
24 .write()
25 .and_then(|mut data| {
26 data.host = host.into();
27 Ok(())
28 });
29 self
30 }
31
32 pub fn port(&mut self, port: usize) -> &mut Self {
33 let _ = self
34 .tcp_request
35 .get_mut_config()
36 .write()
37 .and_then(|mut data| {
38 data.port = port;
39 Ok(())
40 });
41 self
42 }
43
44 pub fn buffer(&mut self, buffer_size: usize) -> &mut Self {
45 let _ = self
46 .tcp_request
47 .get_mut_config()
48 .write()
49 .and_then(|mut data| {
50 data.buffer_size = buffer_size;
51 Ok(())
52 });
53 self
54 }
55
56 pub fn timeout(&mut self, timeout: u64) -> &mut Self {
57 let _ = self
58 .tcp_request
59 .get_mut_config()
60 .write()
61 .and_then(|mut data| {
62 data.timeout = timeout;
63 Ok(())
64 });
65 self
66 }
67
68 pub fn build(&mut self) -> BoxRequestTrait {
69 self.builder = self.tcp_request.clone();
70 self.tcp_request = TcpRequest::default();
71 Box::new(self.builder.clone())
72 }
73}