From 1b93c0ca22f7d538fbc7f9c2f2809dcd63a3d5c8 Mon Sep 17 00:00:00 2001 From: timerix Date: Tue, 2 Jan 2024 12:16:28 +0600 Subject: [PATCH] fixed typos --- src/Network/README.md | 3 +++ src/Network/network.c | 27 +++++++++++++++++++++++++ src/Network/network.h | 5 ++++- src/Network/sockets/knSocketChanneled.c | 2 +- src/Network/sockets/knSocketChanneled.h | 4 ++-- src/Network/sockets/knSocketTCP.c | 5 +++-- src/Network/sockets/knSocketTCP.h | 4 ++-- src/Network/sockets/knSocketUDP.c | 5 +++-- src/Network/sockets/knSocketUDP.h | 4 ++-- src/kprint/kprint.c | 4 ++-- tests/main.cpp | 3 ++- tests/test_network.c | 21 +++++++++++++------ 12 files changed, 66 insertions(+), 21 deletions(-) create mode 100644 src/Network/network.c diff --git a/src/Network/README.md b/src/Network/README.md index 845561d..21b79e0 100644 --- a/src/Network/README.md +++ b/src/Network/README.md @@ -1 +1,4 @@ # kerep network + +Don't forget to call `kn_tryInit()` before doint anything with network. + \ No newline at end of file diff --git a/src/Network/network.c b/src/Network/network.c new file mode 100644 index 0000000..fc949c5 --- /dev/null +++ b/src/Network/network.c @@ -0,0 +1,27 @@ +#include "network.h" +#include "stdSocketHeaders.h" + +Maybe kn_tryInit(){ +#if _WIN32 + // Initialize Winsock + WSADATA wsaData = {0}; + int startupResult = WSAStartup(MAKEWORD(2,2), &wsaData); + if (startupResult != 0) { + char* errcode = toString_hex(&startupResult, sizeof(int), 0 , 1, 1); + safethrow(cptr_concat("WSAStartup failed with error: ", errcode), ;); + } + return SUCCESS(UniNull); +#endif +} + +Maybe kt_tryDispose(){ +#if _WIN32 + // Deinitialize Winsock + int cleanupResult = WSACleanup(); + if (cleanupResult != 0) { + char* errcode = toString_hex(&cleanupResult, sizeof(int), 0, 1, 1); + safethrow(cptr_concat("WSAStartup failed with error: ", errcode), ;); + } + return SUCCESS(UniNull); +#endif +} diff --git a/src/Network/network.h b/src/Network/network.h index 5136e5e..c2a8d46 100644 --- a/src/Network/network.h +++ b/src/Network/network.h @@ -11,6 +11,9 @@ extern "C" { #include "sockets/knSocketUDP.h" #include "sockets/knSocketChanneled.h" +Maybe kn_tryInit(); +Maybe kt_tryDispose(); + #if __cplusplus } -#endif \ No newline at end of file +#endif diff --git a/src/Network/sockets/knSocketChanneled.c b/src/Network/sockets/knSocketChanneled.c index 2bf4443..dd815d2 100644 --- a/src/Network/sockets/knSocketChanneled.c +++ b/src/Network/sockets/knSocketChanneled.c @@ -56,4 +56,4 @@ Maybe knSocketChanneled_accept(knSocketChanneled* socket); Maybe knSocketChanneled_send(knSocketChanneled* socket, u16 destinationIndex, u8* data, u32 dataLength); -Maybe knSocketChanneled_recieve(knSocketChanneled* socket, u16 destinationIndex, u8* buffer, u32 bufferLength); \ No newline at end of file +Maybe knSocketChanneled_receive(knSocketChanneled* socket, u16 destinationIndex, u8* buffer, u32 bufferLength); \ No newline at end of file diff --git a/src/Network/sockets/knSocketChanneled.h b/src/Network/sockets/knSocketChanneled.h index e5e3018..2de7483 100644 --- a/src/Network/sockets/knSocketChanneled.h +++ b/src/Network/sockets/knSocketChanneled.h @@ -76,8 +76,8 @@ Maybe knSocketChanneled_send(knSocketChanneled* socket, u16 destinationIndex, u8 ///@param buffer buffer for recieving data ///@param bufferLength 0-4294967295 -///@return Maybe recieved bytes amount -Maybe knSocketChanneled_recieve(knSocketChanneled* socket, u16 destinationIndex, u8* buffer, u32 bufferLength); +///@return Maybe received bytes amount +Maybe knSocketChanneled_receive(knSocketChanneled* socket, u16 destinationIndex, u8* buffer, u32 bufferLength); #if __cplusplus } diff --git a/src/Network/sockets/knSocketTCP.c b/src/Network/sockets/knSocketTCP.c index 41902e8..d24dd2d 100644 --- a/src/Network/sockets/knSocketTCP.c +++ b/src/Network/sockets/knSocketTCP.c @@ -10,6 +10,7 @@ Maybe knSocketTCP_open(){ newSocket->socketfd=socket(AF_INET, SOCK_STREAM, 0); if(newSocket->socketfd==-1) safethrow("can't create TCP socket", free(newSocket)); + return SUCCESS(UniHeapPtr(knSocketTCP, newSocket)); } @@ -69,5 +70,5 @@ Maybe knSocketTCP_send(knSocketTCP* socket, char* data, u32 dataLength); ///@param buffer buffer for recieving data ///@param bufferLength 0-4294967295 -///@return Maybe recieved bytes amount -Maybe knSocketTCP_recieve(knSocketTCP* socket, char* buffer, u32 bufferLength); +///@return Maybe received bytes amount +Maybe knSocketTCP_receive(knSocketTCP* socket, char* buffer, u32 bufferLength); diff --git a/src/Network/sockets/knSocketTCP.h b/src/Network/sockets/knSocketTCP.h index d0cef79..6b1ad4a 100644 --- a/src/Network/sockets/knSocketTCP.h +++ b/src/Network/sockets/knSocketTCP.h @@ -37,8 +37,8 @@ Maybe knSocketTCP_send(knSocketTCP* socket, char* data, u32 dataLength); ///@param buffer buffer for recieving data ///@param bufferLength 0-4294967295 -///@return Maybe recieved bytes amount -Maybe knSocketTCP_recieve(knSocketTCP* socket, char* buffer, u32 bufferLength); +///@return Maybe received bytes amount +Maybe knSocketTCP_receive(knSocketTCP* socket, char* buffer, u32 bufferLength); #if __cplusplus } diff --git a/src/Network/sockets/knSocketUDP.c b/src/Network/sockets/knSocketUDP.c index 03fb1a4..aed2142 100644 --- a/src/Network/sockets/knSocketUDP.c +++ b/src/Network/sockets/knSocketUDP.c @@ -9,6 +9,7 @@ Maybe knSocketUDP_open(){ newSocket->socketfd=socket(AF_INET, SOCK_DGRAM, 0); if(newSocket->socketfd==-1) safethrow("can't create UDP socket", free(newSocket)); + return SUCCESS(UniHeapPtr(knSocketUDP, newSocket)); } @@ -25,5 +26,5 @@ Maybe knSocketUDP_sendto(knSocketUDP* socket, char* data, u32 dataLength, knIPV4 ///@param buffer buffer for recieving data ///@param bufferLength 0-4294967295 -///@return Maybe recieved bytes amount -Maybe knSocketUDP_recieve(knSocketUDP* socket, char* buffer, u32 bufferLength); +///@return Maybe received bytes amount +Maybe knSocketUDP_receive(knSocketUDP* socket, char* buffer, u32 bufferLength); diff --git a/src/Network/sockets/knSocketUDP.h b/src/Network/sockets/knSocketUDP.h index 1336b1a..4942c81 100644 --- a/src/Network/sockets/knSocketUDP.h +++ b/src/Network/sockets/knSocketUDP.h @@ -31,8 +31,8 @@ Maybe knSocketUDP_sendto(knSocketUDP* socket, char* data, u32 dataLength, knIPV4 ///@param buffer buffer for recieving data ///@param bufferLength 0-4294967295 -///@return Maybe recieved bytes amount -Maybe knSocketUDP_recieve(knSocketUDP* socket, char* buffer, u32 bufferLength); +///@return Maybe received bytes amount +Maybe knSocketUDP_receive(knSocketUDP* socket, char* buffer, u32 bufferLength); #if __cplusplus diff --git a/src/kprint/kprint.c b/src/kprint/kprint.c index 046cf29..4edfc8b 100644 --- a/src/kprint/kprint.c +++ b/src/kprint/kprint.c @@ -39,8 +39,8 @@ Maybe __next_toString(kp_fmt f, void* object){ } Maybe check_argsN(u8 n){ - if(n%2 != 0) safethrow("kprint recieved non-even number of arguments",;); - if(n > 32) safethrow("kprint recieved >32 number of arguments",;); + if(n%2 != 0) safethrow("kprint received non-even number of arguments",;); + if(n > 32) safethrow("kprint received >32 number of arguments",;); return MaybeNull; } diff --git a/tests/main.cpp b/tests/main.cpp index 7623ef9..b627772 100644 --- a/tests/main.cpp +++ b/tests/main.cpp @@ -6,7 +6,8 @@ i32 main(){ kt_beginInit(); kt_initKerepTypes(); kt_endInit(); - test_all(); + // test_all(); + test_network(); kt_free(); kprintf("\e[37m\n"); return 0; diff --git a/tests/test_network.c b/tests/test_network.c index 81c1623..f9c3516 100644 --- a/tests/test_network.c +++ b/tests/test_network.c @@ -22,24 +22,33 @@ void __test_knIPV4Address_fromStr(char* addrStr, u8 a, u8 b, u8 c, u8 d){ void test_network(){ optime(__func__,1,({ kprintf("\e[96m------------[test_network]------------\n"); + tryLast(kn_tryInit(), _mjj64g, ;); + kprintf("\e[92m\nkerepNetwork initialized"); PRINT_SIZEOF(knIPV4Address); PRINT_SIZEOF(knPort); PRINT_SIZEOF(knIPV4Endpoint); + PRINT_SIZEOF(knSocketTCP); + PRINT_SIZEOF(knSocketUDP); PRINT_SIZEOF(knPackage); PRINT_SIZEOF(knChannel); - PRINT_SIZEOF(knSocketTCP); test_knIPV4Address_fromStr(127,0,0,1); test_knIPV4Address_fromStr(34,255,45,0); test_knIPV4Address_fromStr(3,3,3,128); - /* + knSocketTCP* s; - tryLast(knSocket_open(knSocketProtocol_TCP), maybeS) - s=maybeS.value.VoidPtr; + tryLast(knSocketTCP_open(), maybeS, ;); + s=maybeS.value.VoidPtr; kprintf("\e[92mTCP socket created\n"); - tryLast(knSocket_close(s);,_); + + knIPV4Endpoint localEnd = knIPV4Endpoint_create(knIPV4Address_fromBytes(127,0,0,1), 4444); + tryLast(knSocketTCP_listen(s, localEnd), _m81775, ;) + + tryLast(knSocketTCP_close(s), _m676, ;); kprintf("\e[92mTCP socket closed\n"); - */ + + tryLast(kt_tryDispose(), _m88ag, ;); + kprintf("\e[92mkerepNetwork disposed\n"); })); } \ No newline at end of file