From 58c23d4fc151530b3204d82a03e3ef62553fb5de Mon Sep 17 00:00:00 2001 From: khrush Date: Sun, 14 Jun 2020 15:10:26 +0300 Subject: [PATCH 1/3] refactoring and reorganization of folders --- src/client/CMakeLists.txt | 2 +- src/client/client.c | 16 +++--- .../{ => utils}/extract_ip_port_from_string.c | 4 +- .../{ => utils}/extract_ip_port_from_string.h | 0 src/client/{ => utils}/opt_arg.c | 12 +--- src/client/{ => utils}/opt_arg.h | 0 src/lib/check_port.c | 14 +++++ src/lib/check_port.h | 12 ++++ src/lib/set_sockaddr_in.c | 10 ++++ src/lib/set_sockaddr_in.h | 9 +++ src/server/CMakeLists.txt | 2 +- src/server/server.c | 57 ++++++------------- src/server/utils/check_tnum.c | 13 +++++ src/server/utils/check_tnum.h | 8 +++ src/server/utils/factorial.c | 14 +++++ src/server/utils/factorial.h | 12 ++++ src/server/{ => utils}/opt_arg.c | 9 +-- src/server/{ => utils}/opt_arg.h | 2 +- 18 files changed, 129 insertions(+), 67 deletions(-) rename src/client/{ => utils}/extract_ip_port_from_string.c (87%) rename src/client/{ => utils}/extract_ip_port_from_string.h (100%) rename src/client/{ => utils}/opt_arg.c (87%) rename src/client/{ => utils}/opt_arg.h (100%) create mode 100644 src/lib/check_port.c create mode 100644 src/lib/check_port.h create mode 100644 src/lib/set_sockaddr_in.c create mode 100644 src/lib/set_sockaddr_in.h create mode 100644 src/server/utils/check_tnum.c create mode 100644 src/server/utils/check_tnum.h create mode 100644 src/server/utils/factorial.c create mode 100644 src/server/utils/factorial.h rename src/server/{ => utils}/opt_arg.c (77%) rename src/server/{ => utils}/opt_arg.h (91%) diff --git a/src/client/CMakeLists.txt b/src/client/CMakeLists.txt index 2abf668..f233c77 100644 --- a/src/client/CMakeLists.txt +++ b/src/client/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.1) project(TCPServerClient LANGUAGES C) -add_executable(client client.c extract_ip_port_from_string.c opt_arg.c) +add_executable(client client.c utils/extract_ip_port_from_string.c utils/opt_arg.c ../lib/check_port.h ../lib/check_port.c ../lib/set_sockaddr_in.h ../lib/set_sockaddr_in.c ../lib/set_sockaddr_in.c) target_include_directories(client PUBLIC ./) diff --git a/src/client/client.c b/src/client/client.c index f3832a1..618551c 100644 --- a/src/client/client.c +++ b/src/client/client.c @@ -11,7 +11,8 @@ #include #include #include -#include "opt_arg.h" +#include "utils/opt_arg.h" +#include "../lib/set_sockaddr_in.h" int main(int argc, char** argv) { @@ -21,11 +22,11 @@ int main(int argc, char** argv) { static struct option options[] = {{"factorial", required_argument, 0, 0}, {"server", required_argument, 0, 0}, {0, 0, 0, 0}}; - + printf("afrt sockaddr"); if (handle_options(argc, argv, options, 2, &factorial, &ip_port)) { return 1; } - + printf("afrt sockaddr"); if (factorial == -1 || !strlen(ip_port.ip)) { fprintf(stderr, "Using: %s --factorial n --server 127.0.0.1:20001\n", argv[0]); @@ -39,10 +40,9 @@ int main(int argc, char** argv) { } struct sockaddr_in server; - server.sin_family = AF_INET; - server.sin_port = htons(ip_port.port); - server.sin_addr.s_addr = *((unsigned long*)hostname->h_addr); - + set_sockaddr_in(&server, AF_INET, ip_port.port, + *((unsigned long*)hostname->h_addr)); + printf("afrt sockaddr"); int sck = socket(AF_INET, SOCK_STREAM, 0); if (sck < 0) { fprintf(stderr, "Socket creation failed!\n"); @@ -70,7 +70,7 @@ int main(int argc, char** argv) { uint64_t answer = 0; memcpy(&answer, response, sizeof(uint64_t)); - printf("answer: %llu\n", answer); + printf("answer: %lu\n", answer); close(sck); diff --git a/src/client/extract_ip_port_from_string.c b/src/client/utils/extract_ip_port_from_string.c similarity index 87% rename from src/client/extract_ip_port_from_string.c rename to src/client/utils/extract_ip_port_from_string.c index 1c4723b..361e6b4 100644 --- a/src/client/extract_ip_port_from_string.c +++ b/src/client/utils/extract_ip_port_from_string.c @@ -5,8 +5,8 @@ #include #include #include -#include "extract_ip_port_from_string.h" -#include "opt_arg.h" +#include "utils/extract_ip_port_from_string.h" +#include "utils/opt_arg.h" unsigned int convert(char* st) { diff --git a/src/client/extract_ip_port_from_string.h b/src/client/utils/extract_ip_port_from_string.h similarity index 100% rename from src/client/extract_ip_port_from_string.h rename to src/client/utils/extract_ip_port_from_string.h diff --git a/src/client/opt_arg.c b/src/client/utils/opt_arg.c similarity index 87% rename from src/client/opt_arg.c rename to src/client/utils/opt_arg.c index 4201c75..e96cc9e 100644 --- a/src/client/opt_arg.c +++ b/src/client/utils/opt_arg.c @@ -2,20 +2,14 @@ // Created by sergeyampo on 06.06.2020. // #include +#include #include #include #include "opt_arg.h" #include "extract_ip_port_from_string.h" +#include "../../lib/check_port.h" -int check_port(int port) { - if (port < 1024) { - printf("port lower than 1024 may not be free\n"); - return 1; - } - return 0; -} - int handle_options(int argc, char** argv, struct option options[], @@ -43,7 +37,7 @@ int handle_options(int argc, break; case 1: memcpy(server, optarg, strlen(optarg)); extract_ip_port_from_string(server, ':', ip_port); - if (check_port(ip_port->port)) + if (check_port(&ip_port->port)) return 1; break; default:printf("Index %d is out of options\n", option_index); diff --git a/src/client/opt_arg.h b/src/client/utils/opt_arg.h similarity index 100% rename from src/client/opt_arg.h rename to src/client/utils/opt_arg.h diff --git a/src/lib/check_port.c b/src/lib/check_port.c new file mode 100644 index 0000000..0e8780c --- /dev/null +++ b/src/lib/check_port.c @@ -0,0 +1,14 @@ +// +// Created by khrushv on 13.06.2020. +// +#include "check_port.h" +#include + + +int check_port(unsigned int* port) { + if (*port < 1024) { + printf("port lower than 1024 may not be free\n"); + return 1; + } + return 0; +} diff --git a/src/lib/check_port.h b/src/lib/check_port.h new file mode 100644 index 0000000..f21aebd --- /dev/null +++ b/src/lib/check_port.h @@ -0,0 +1,12 @@ +// +// Created by khrushv on 13.06.2020. +// + + + +#ifndef TCPSERVERCLIENT_SRC_LIB_CHECK_PORT_H_ +#define TCPSERVERCLIENT_SRC_LIB_CHECK_PORT_H_ + +int check_port(unsigned int* port); + +#endif //TCPSERVERCLIENT_SRC_LIB_CHECK_PORT_H_ diff --git a/src/lib/set_sockaddr_in.c b/src/lib/set_sockaddr_in.c new file mode 100644 index 0000000..ed8eef3 --- /dev/null +++ b/src/lib/set_sockaddr_in.c @@ -0,0 +1,10 @@ +// +// Created by khrushv on 14.06.2020. +// +#include +void set_sockaddr_in(struct sockaddr_in* server, + short s_port, unsigned short port, unsigned long s_addr){ + server->sin_family = s_port; + server->sin_port = htons(port); + server->sin_addr.s_addr = htonl(s_addr); +} \ No newline at end of file diff --git a/src/lib/set_sockaddr_in.h b/src/lib/set_sockaddr_in.h new file mode 100644 index 0000000..a6d4ed5 --- /dev/null +++ b/src/lib/set_sockaddr_in.h @@ -0,0 +1,9 @@ +// +// Created by khrushv on 14.06.2020. +// + +#ifndef TCPSERVERCLIENT_SRC_LIB_SET_SOCKADDR_IN_H_ +#define TCPSERVERCLIENT_SRC_LIB_SET_SOCKADDR_IN_H_ +void set_sockaddr_in(struct sockaddr_in* server, + short s_port, unsigned short port, unsigned long s_addr); +#endif //TCPSERVERCLIENT_SRC_LIB_SET_SOCKADDR_IN_H_ diff --git a/src/server/CMakeLists.txt b/src/server/CMakeLists.txt index 2db2b74..5784f35 100644 --- a/src/server/CMakeLists.txt +++ b/src/server/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.1) project(TCPServerClient LANGUAGES C) -add_executable(server server.c opt_arg.c) +add_executable(server server.c utils/opt_arg.c utils/factorial.h utils/factorial.c ../lib/check_port.h ../lib/check_port.c ../lib/set_sockaddr_in.h utils/check_tnum.h utils/check_tnum.c ../lib/set_sockaddr_in.c ../lib/set_sockaddr_in.h ../lib/set_sockaddr_in.c) find_package(Threads REQUIRED) target_link_libraries(server ${CMAKE_THREAD_LIBS_INIT}) diff --git a/src/server/server.c b/src/server/server.c index 0997178..aba0ed4 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -13,31 +13,12 @@ #include "pthread.h" #include "../lib/thread_pool/thpool.h" -#include "opt_arg.h" +#include "../lib/check_port.h" +#include "utils/opt_arg.h" +#include "utils/factorial.h" +#include "utils/check_tnum.h" +#include "../lib/set_sockaddr_in.h" -int check_tnum(int tnum) { - if (tnum <= 0) { - printf("tnum must be a positive number\n"); - return 1; - } - return 0; -} - -int check_port(int port) { - if (port < 1024) { - printf("port lower than 1024 may not be free\n"); - return 1; - } - return 0; -} - -uint64_t factorial(const uint64_t* n) { - uint64_t factorial = 1; - uint64_t r = *n; - for (uint64_t i = 2; i <= r; ++i) - factorial *= i; - return factorial; -} void* socket_thread(void* arg) { printf("Into thread %d\n", (int)pthread_self()); @@ -59,9 +40,9 @@ void* socket_thread(void* arg) { } uint64_t factorial_number = 0; memcpy(&factorial_number, from_client, sizeof(uint64_t)); - fprintf(stdout, "Receive: %llu \n", factorial_number); + fprintf(stdout, "Receive: %lu \n", factorial_number); uint64_t total = factorial(&factorial_number); - printf("Total: %llu\n", total); + printf("Total: %lu\n", total); char buffer[sizeof(total)]; memcpy(buffer, &total, sizeof(total)); @@ -78,25 +59,21 @@ void* socket_thread(void* arg) { int main(int argc, char** argv) { size_t options_amount = 2; - //TODO: remove "tnum" parameter static struct option options[] = {{"port", required_argument, 0, 0}, {"tnum", required_argument, 0, 0}, {0, 0, 0, 0}}; //Attach callbacks - int (* callbacks[options_amount])(int); //Array of callbacks + int (* callbacks[options_amount])(unsigned int*); //Array of callbacks callbacks[0] = check_port; callbacks[1] = check_tnum; + unsigned int* handled_options = handle_options(argc, argv, options, options_amount, callbacks); + unsigned port = handled_options[0]; + unsigned tnum = handled_options[1]; + threadpool thpool = thpool_init(tnum); - int* handled_options = handle_options(argc, argv, options, options_amount, callbacks); - - threadpool thpool = thpool_init(4); - - int port = handled_options[0]; - int tnum = handled_options[1]; - - if (port == -1 || tnum == -1) { - fprintf(stderr, "Using: %s --port 20001 --tnum 4\n", argv[0]); + if (port == -1) { + fprintf(stderr, "Using: %s --port 20001 \n", argv[0]); return 1; } @@ -107,9 +84,7 @@ int main(int argc, char** argv) { } struct sockaddr_in server; - server.sin_family = AF_INET; - server.sin_port = htons((uint16_t)port); - server.sin_addr.s_addr = htonl(INADDR_ANY); + set_sockaddr_in(&server, AF_INET, port, INADDR_ANY); int opt_val = 1; setsockopt(server_fd, SOL_SOCKET, SO_REUSEADDR, &opt_val, sizeof(opt_val)); @@ -137,7 +112,7 @@ int main(int argc, char** argv) { fprintf(stderr, "Could not establish new connection\n"); continue; } - + thpool_add_work(thpool, (void*)socket_thread, &client_fd); } thpool_destroy(thpool); diff --git a/src/server/utils/check_tnum.c b/src/server/utils/check_tnum.c new file mode 100644 index 0000000..77678c4 --- /dev/null +++ b/src/server/utils/check_tnum.c @@ -0,0 +1,13 @@ +// +// Created by khrushv on 13.06.2020. +// +#include + + +int check_tnum(unsigned int* tnum) { + if (*tnum <= 0) { + printf("tnum must be a positive number\n"); + return 1; + } + return 0; +} \ No newline at end of file diff --git a/src/server/utils/check_tnum.h b/src/server/utils/check_tnum.h new file mode 100644 index 0000000..e73ac7d --- /dev/null +++ b/src/server/utils/check_tnum.h @@ -0,0 +1,8 @@ +// +// Created by khrushv on 13.06.2020. +// + +#ifndef TCPSERVERCLIENT_SRC_SERVER_CHECK_TNUM_H_ +#define TCPSERVERCLIENT_SRC_SERVER_CHECK_TNUM_H_ +int check_tnum(unsigned int* tnum); +#endif //TCPSERVERCLIENT_SRC_SERVER_CHECK_TNUM_H_ diff --git a/src/server/utils/factorial.c b/src/server/utils/factorial.c new file mode 100644 index 0000000..feee35d --- /dev/null +++ b/src/server/utils/factorial.c @@ -0,0 +1,14 @@ +// +// Created by khrushv on 13.06.2020. +// + +#include "factorial.h" + + +uint64_t factorial(const uint64_t* n) { + uint64_t factorial = 1; + uint64_t r = *n; + for (uint64_t i = 2; i <= r; ++i) + factorial *= i; + return factorial; +} \ No newline at end of file diff --git a/src/server/utils/factorial.h b/src/server/utils/factorial.h new file mode 100644 index 0000000..a065575 --- /dev/null +++ b/src/server/utils/factorial.h @@ -0,0 +1,12 @@ +// +// Created by khrushv on 13.06.2020. +// + +#include + +#ifndef TCPSERVERCLIENT_SRC_SERVER_FACTORIAL_H_ +#define TCPSERVERCLIENT_SRC_SERVER_FACTORIAL_H_ + +uint64_t factorial(const uint64_t* n); + +#endif //TCPSERVERCLIENT_SRC_SERVER_FACTORIAL_H_ diff --git a/src/server/opt_arg.c b/src/server/utils/opt_arg.c similarity index 77% rename from src/server/opt_arg.c rename to src/server/utils/opt_arg.c index 2d57621..19efc67 100644 --- a/src/server/opt_arg.c +++ b/src/server/utils/opt_arg.c @@ -5,15 +5,16 @@ #include #include #include "opt_arg.h" +#include "../../lib/check_port.h" int* handle_options(int argc, char** argv, struct option options[], const int options_amount, - int (* check_callbacks[])(int) + int (* check_callbacks[])(unsigned int*) ) { - int* output_options = (int*)malloc(sizeof(int) * options_amount); + unsigned int* output_options = (unsigned int*)malloc(sizeof(unsigned int) * options_amount); for (size_t i = 0; i < options_amount; ++i) output_options[i] = -1; @@ -30,11 +31,11 @@ int* handle_options(int argc, case 0: { switch (option_index) { case 0:*output_options = atoi(optarg); - if ((*check_callbacks[0])(*output_options)) + if ((*check_callbacks[0])(output_options)) return 1; break; case 1:output_options[1] = atoi(optarg); - if ((*check_callbacks[1])(output_options[1])) + if ((*check_callbacks[1])(output_options + 1)) return 1; break; default:printf("Index %d is out of options\n", option_index); diff --git a/src/server/opt_arg.h b/src/server/utils/opt_arg.h similarity index 91% rename from src/server/opt_arg.h rename to src/server/utils/opt_arg.h index aca9b75..a6288b9 100644 --- a/src/server/opt_arg.h +++ b/src/server/utils/opt_arg.h @@ -8,6 +8,6 @@ #ifndef TCPSERVERCLIENT_SRC_SERVER_OPT_ARG_H_ #define TCPSERVERCLIENT_SRC_SERVER_OPT_ARG_H_ -int* handle_options(int, char**, struct option[], const int, int (* [])(int)); +int* handle_options(int, char**, struct option[], const int, int (* [])(unsigned int*)); #endif //TCPSERVERCLIENT_SRC_SERVER_OPT_ARG_H_ \ No newline at end of file From 9fef0c8c67ac925ac0223d8631be289f10e27f52 Mon Sep 17 00:00:00 2001 From: khrush Date: Sun, 14 Jun 2020 19:10:38 +0300 Subject: [PATCH 2/3] Fix set socket addres --- src/client/client.c | 3 --- src/lib/set_sockaddr_in.c | 7 ++++--- src/server/server.c | 1 - 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/client/client.c b/src/client/client.c index 618551c..d530ce3 100644 --- a/src/client/client.c +++ b/src/client/client.c @@ -22,11 +22,9 @@ int main(int argc, char** argv) { static struct option options[] = {{"factorial", required_argument, 0, 0}, {"server", required_argument, 0, 0}, {0, 0, 0, 0}}; - printf("afrt sockaddr"); if (handle_options(argc, argv, options, 2, &factorial, &ip_port)) { return 1; } - printf("afrt sockaddr"); if (factorial == -1 || !strlen(ip_port.ip)) { fprintf(stderr, "Using: %s --factorial n --server 127.0.0.1:20001\n", argv[0]); @@ -42,7 +40,6 @@ int main(int argc, char** argv) { struct sockaddr_in server; set_sockaddr_in(&server, AF_INET, ip_port.port, *((unsigned long*)hostname->h_addr)); - printf("afrt sockaddr"); int sck = socket(AF_INET, SOCK_STREAM, 0); if (sck < 0) { fprintf(stderr, "Socket creation failed!\n"); diff --git a/src/lib/set_sockaddr_in.c b/src/lib/set_sockaddr_in.c index ed8eef3..fd44608 100644 --- a/src/lib/set_sockaddr_in.c +++ b/src/lib/set_sockaddr_in.c @@ -4,7 +4,8 @@ #include void set_sockaddr_in(struct sockaddr_in* server, short s_port, unsigned short port, unsigned long s_addr){ - server->sin_family = s_port; - server->sin_port = htons(port); - server->sin_addr.s_addr = htonl(s_addr); + server->sin_family = s_port; + server->sin_port = htons(port); + server->sin_addr.s_addr = s_addr; + } \ No newline at end of file diff --git a/src/server/server.c b/src/server/server.c index aba0ed4..10ee092 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -24,7 +24,6 @@ void* socket_thread(void* arg) { printf("Into thread %d\n", (int)pthread_self()); int newSocket = *((int*)arg); while (true) { - //TODO: make variable for count of parameters unsigned int buffer_size = sizeof(uint64_t); char from_client[buffer_size]; int read = recv(newSocket, from_client, buffer_size, 0); From 5981ad6cdef6a861a82507d969ce8d84e32641f2 Mon Sep 17 00:00:00 2001 From: khrush Date: Wed, 17 Jun 2020 11:24:47 +0300 Subject: [PATCH 3/3] refactoring --- src/client/CMakeLists.txt | 2 +- src/client/client.c | 3 +-- src/lib/set_sockaddr_in.c | 12 +++++++----- src/server/CMakeLists.txt | 3 ++- src/server/server.c | 4 ++-- src/server/utils/check_tnum.c | 13 ------------- src/server/utils/check_tnum.h | 8 -------- src/server/utils/opt_arg.c | 9 ++++++++- src/server/utils/opt_arg.h | 2 ++ 9 files changed, 23 insertions(+), 33 deletions(-) delete mode 100644 src/server/utils/check_tnum.c delete mode 100644 src/server/utils/check_tnum.h diff --git a/src/client/CMakeLists.txt b/src/client/CMakeLists.txt index f233c77..e318f4a 100644 --- a/src/client/CMakeLists.txt +++ b/src/client/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.1) project(TCPServerClient LANGUAGES C) -add_executable(client client.c utils/extract_ip_port_from_string.c utils/opt_arg.c ../lib/check_port.h ../lib/check_port.c ../lib/set_sockaddr_in.h ../lib/set_sockaddr_in.c ../lib/set_sockaddr_in.c) +add_executable(client client.c utils/extract_ip_port_from_string.c utils/opt_arg.c ../lib/check_port.c ../lib/set_sockaddr_in.c) target_include_directories(client PUBLIC ./) diff --git a/src/client/client.c b/src/client/client.c index d530ce3..26212cd 100644 --- a/src/client/client.c +++ b/src/client/client.c @@ -39,7 +39,7 @@ int main(int argc, char** argv) { struct sockaddr_in server; set_sockaddr_in(&server, AF_INET, ip_port.port, - *((unsigned long*)hostname->h_addr)); + *((unsigned long*)hostname->h_addr)); int sck = socket(AF_INET, SOCK_STREAM, 0); if (sck < 0) { fprintf(stderr, "Socket creation failed!\n"); @@ -50,7 +50,6 @@ int main(int argc, char** argv) { fprintf(stderr, "Connection failed\n"); exit(1); } - char task[sizeof(uint64_t)]; memcpy(task, &factorial, sizeof(uint64_t)); diff --git a/src/lib/set_sockaddr_in.c b/src/lib/set_sockaddr_in.c index fd44608..b4a48b6 100644 --- a/src/lib/set_sockaddr_in.c +++ b/src/lib/set_sockaddr_in.c @@ -2,10 +2,12 @@ // Created by khrushv on 14.06.2020. // #include -void set_sockaddr_in(struct sockaddr_in* server, - short s_port, unsigned short port, unsigned long s_addr){ - server->sin_family = s_port; - server->sin_port = htons(port); - server->sin_addr.s_addr = s_addr; +#include "set_sockaddr_in.h" + +void set_sockaddr_in(struct sockaddr_in* server, + short s_port, unsigned short port, unsigned long s_addr) { + server->sin_family = s_port; + server->sin_port = htons(port); + server->sin_addr.s_addr = s_addr; } \ No newline at end of file diff --git a/src/server/CMakeLists.txt b/src/server/CMakeLists.txt index 5784f35..4bc4b33 100644 --- a/src/server/CMakeLists.txt +++ b/src/server/CMakeLists.txt @@ -1,8 +1,9 @@ cmake_minimum_required(VERSION 3.1) project(TCPServerClient LANGUAGES C) -add_executable(server server.c utils/opt_arg.c utils/factorial.h utils/factorial.c ../lib/check_port.h ../lib/check_port.c ../lib/set_sockaddr_in.h utils/check_tnum.h utils/check_tnum.c ../lib/set_sockaddr_in.c ../lib/set_sockaddr_in.h ../lib/set_sockaddr_in.c) +add_executable(server server.c utils/opt_arg.c utils/factorial.c ../lib/check_port.c ../lib/set_sockaddr_in.c) +target_include_directories(server PUBLIC ./) find_package(Threads REQUIRED) target_link_libraries(server ${CMAKE_THREAD_LIBS_INIT}) diff --git a/src/server/server.c b/src/server/server.c index 3088fdd..155a67e 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -16,11 +16,11 @@ #include "../lib/check_port.h" #include "utils/opt_arg.h" #include "utils/factorial.h" -#include "utils/check_tnum.h" #include "../lib/set_sockaddr_in.h" void* socket_thread(void* arg) { + printf("Into thread %d\n", (int)pthread_self()); int newSocket = *((int*)arg); while (true) { @@ -110,7 +110,7 @@ int main(int argc, char** argv) { fprintf(stderr, "Could not establish new connection\n"); continue; } - + printf("Num of active threads worker %d\n", thpool_num_threads_working(thpool)); thpool_add_work(thpool, (void*)socket_thread, &client_fd); } thpool_destroy(thpool); diff --git a/src/server/utils/check_tnum.c b/src/server/utils/check_tnum.c deleted file mode 100644 index 77678c4..0000000 --- a/src/server/utils/check_tnum.c +++ /dev/null @@ -1,13 +0,0 @@ -// -// Created by khrushv on 13.06.2020. -// -#include - - -int check_tnum(unsigned int* tnum) { - if (*tnum <= 0) { - printf("tnum must be a positive number\n"); - return 1; - } - return 0; -} \ No newline at end of file diff --git a/src/server/utils/check_tnum.h b/src/server/utils/check_tnum.h deleted file mode 100644 index e73ac7d..0000000 --- a/src/server/utils/check_tnum.h +++ /dev/null @@ -1,8 +0,0 @@ -// -// Created by khrushv on 13.06.2020. -// - -#ifndef TCPSERVERCLIENT_SRC_SERVER_CHECK_TNUM_H_ -#define TCPSERVERCLIENT_SRC_SERVER_CHECK_TNUM_H_ -int check_tnum(unsigned int* tnum); -#endif //TCPSERVERCLIENT_SRC_SERVER_CHECK_TNUM_H_ diff --git a/src/server/utils/opt_arg.c b/src/server/utils/opt_arg.c index 2f10af7..fc67ce7 100644 --- a/src/server/utils/opt_arg.c +++ b/src/server/utils/opt_arg.c @@ -5,9 +5,16 @@ #include #include #include "opt_arg.h" -#include "../../lib/check_port.h" +int check_tnum(unsigned int* tnum) { + if (*tnum <= 0) { + printf("tnum must be a positive number\n"); + return 1; + } + return 0; +} + unsigned int* handle_options(int argc, char** argv, struct option options[], diff --git a/src/server/utils/opt_arg.h b/src/server/utils/opt_arg.h index f7ac200..43b8372 100644 --- a/src/server/utils/opt_arg.h +++ b/src/server/utils/opt_arg.h @@ -10,4 +10,6 @@ unsigned int* handle_options(int, char**, struct option[], const int, int (* [])(unsigned int*)); +int check_tnum(unsigned int* tnum); + #endif //TCPSERVERCLIENT_SRC_SERVER_OPT_ARG_H_ \ No newline at end of file