11use crate :: * ;
22
3+ /// Default implementation for UdpRequest.
34impl Default for UdpRequest {
5+ /// Creates a default UdpRequest instance.
6+ ///
7+ /// # Returns
8+ ///
9+ /// - `UdpRequest` - Default request with default config and empty response.
410 fn default ( ) -> Self {
511 Self {
612 config : Arc :: new ( RwLock :: new ( Config :: default ( ) ) ) ,
@@ -10,6 +16,16 @@ impl Default for UdpRequest {
1016}
1117
1218impl UdpRequest {
19+ /// Sends UDP request data through socket.
20+ ///
21+ /// # Arguments
22+ ///
23+ /// - `&mut UdpSocket` - UDP socket for communication.
24+ /// - `&[u8]` - Data to send.
25+ ///
26+ /// # Returns
27+ ///
28+ /// - `Result<BoxResponseTrait, RequestError>` - Response or error.
1329 fn send_request (
1430 & mut self ,
1531 socket : & mut UdpSocket ,
@@ -21,6 +37,15 @@ impl UdpRequest {
2137 self . read_response ( socket)
2238 }
2339
40+ /// Reads response from UDP socket.
41+ ///
42+ /// # Arguments
43+ ///
44+ /// - `&mut UdpSocket` - UDP socket for communication.
45+ ///
46+ /// # Returns
47+ ///
48+ /// - `Result<BoxResponseTrait, RequestError>` - Response or error.
2449 fn read_response ( & mut self , socket : & mut UdpSocket ) -> Result < BoxResponseTrait , RequestError > {
2550 let cfg_buffer_size: usize = self
2651 . config
@@ -39,6 +64,16 @@ impl UdpRequest {
3964 ) ) ;
4065 }
4166
67+ /// Creates and configures UDP socket for connection.
68+ ///
69+ /// # Arguments
70+ ///
71+ /// - `String` - Host address.
72+ /// - `usize` - Port number.
73+ ///
74+ /// # Returns
75+ ///
76+ /// - `Result<UdpSocket, RequestError>` - Configured socket or error.
4277 fn get_connection_socket ( & self , host : String , port : usize ) -> Result < UdpSocket , RequestError > {
4378 let host_port: String = format ! ( "{}:{}" , host. clone( ) , port) ;
4479 let cfg_timeout: u64 = self
@@ -62,9 +97,19 @@ impl UdpRequest {
6297 }
6398}
6499
100+ /// RequestTrait implementation for UdpRequest.
65101impl RequestTrait for UdpRequest {
66102 type RequestResult = RequestResult ;
67103
104+ /// Sends UDP request with given data.
105+ ///
106+ /// # Arguments
107+ ///
108+ /// - `&[u8]` - Data to send.
109+ ///
110+ /// # Returns
111+ ///
112+ /// - `RequestResult` - Response or error.
68113 fn send ( & mut self , data : & [ u8 ] ) -> Self :: RequestResult {
69114 let cfg_timeout: Config = self
70115 . config
0 commit comments