1616
1717#include < unistd.h>
1818
19- #include < simple_lib/message.h>
2019#include < simple_lib/common.h>
2120
21+ #include " message.h"
22+
2223namespace simpleApp
2324{
2425 UdpSession::UdpSession (int & epollfd) : ClientSession(epollfd, " UDP" )
2526 {
26- // TODO
27+
2728 }
2829
2930 UdpSession::~UdpSession ()
@@ -215,7 +216,7 @@ namespace simpleApp
215216
216217 auto sendMsgError = [this ]()
217218 {
218- const msg_headers header = msg_headers::err_server_msg ;
219+ const msg_headers header = msg_headers::incorrect_msg ;
219220 send (this ->_socket , &header, sizeof (msg_headers), 0 );
220221 };
221222
@@ -234,7 +235,7 @@ namespace simpleApp
234235 if (!(static_cast <header_base_type>(header) & static_cast <header_base_type>(msg_headers::sender_client)))
235236 {
236237 sendMsgError ();
237- return session_result {session_status::proceed_udp_wrong_header };
238+ return session_result {session_status::proceed_wrong_header };
238239 }
239240
240241 if (len == sizeof (msg_headers))
@@ -259,30 +260,23 @@ namespace simpleApp
259260
260261 default :
261262 sendMsgError ();
262- return session_result {session_status::proceed_udp_wrong_header };
263+ return session_result {session_status::proceed_wrong_header };
263264 };
264265 }
265266 else if (header == msg_headers::client_msg)
266267 {
267- // TODO replace this with required logic
268268 uint8_t buff[MESSAGE_MAX_BUFFER];
269269
270- const char * buff = " DELIVERED" ;
271- const msg_headers buffHeader = msg_headers::server_msg;
270+ auto sendLen = proceedMsg (msgBuff, len, buff);
272271
273- this ->timerReset ();
274-
275- std::memcpy (buff, &buffHeader, sizeof (buffHeader));
276- std::memcpy (buff + static_cast <ptrdiff_t >(sizeof (buffHeader)), buff, sizeof (" DELIVERED" ));
277-
278- if (send (this ->_socket , buff, sizeof (buffHeader) + sizeof (" DELIVERED" ), 0 ) == -1 )
272+ if (send (this ->_socket , buff, sendLen, 0 ) == -1 )
279273 return session_result {session_status::proceed_send_fail, errno};
280274 return session_result {session_status::proceed_msg_send};
281275 }
282276 else
283277 {
284278 sendMsgError ();
285- return session_result {session_status::proceed_udp_wrong_header };
279+ return session_result {session_status::proceed_wrong_header };
286280 }
287281 }
288282 }
0 commit comments