diff options
| author | iceyrazor <iceyrazor@mailfence.com> | 2026-10-13 22:03:36 -0500 |
|---|---|---|
| committer | iceyrazor <iceyrazor@mailfence.com> | 2026-10-13 22:03:36 -0500 |
| commit | 1e89ac5d332ecc4da87c2a894146fd9bb0d4d1f9 (patch) | |
| tree | 8c8447aade0652a91b4ae5f62d7fa7b85f890479 | |
| parent | cd94292211dc4c7a019691cb00e092368489ca22 (diff) | |
added stress test script
| -rwxr-xr-x | build.sh | 5 | ||||
| m--------- | libs/socket | 0 | ||||
| -rwxr-xr-x | src/client.c | 1 | ||||
| -rwxr-xr-x | src/main.c | 9 | ||||
| -rwxr-xr-x | stresstest.sh | 11 |
5 files changed, 17 insertions, 9 deletions
@@ -20,10 +20,9 @@ shift $((OPTIND-1)) [ "${1:-}" = "--" ] && shift printf "\n\nmaking project\n" -clang -O3 -Ilibs/socket -c libs/socket/Server.c -o obj/Server.o -clang -O3 -Ilibs/socket -c libs/socket/launch-socket.c -o obj/launch-socket.o +clang -O3 -Ilibs/socket -c libs/socket/socket_server.c -o obj/socket_server.o -clang -O3 obj/Server.o obj/launch-socket.o -o bin/socket src/main.c $LIB $DEBUG_FLAGS -lm +clang -O3 obj/socket_server.o -o bin/socket src/main.c $LIB $DEBUG_FLAGS -lm clang -o bin/client src/client.c $LIB $DEBUG_FLAGS -lm clang -o bin/client-polled src/client-polled.c $LIB $DEBUG_FLAGS -lm diff --git a/libs/socket b/libs/socket -Subproject a926ae205ecb42a603e428346cf99dc1e66ed69 +Subproject fb71cdafab9847a15ac67cd56b13d5ada1d7f20 diff --git a/src/client.c b/src/client.c index ad7b861..3a6c617 100755 --- a/src/client.c +++ b/src/client.c @@ -6,7 +6,6 @@ #include <poll.h> #include <pthread.h> #include <string.h> -#include "launch-socket.c" #define SA(ptr) ((struct sockaddr *)(ptr)) @@ -1,5 +1,4 @@ -#include <Server.h> -#include <launch-socket.h> +#include <socket_server.h> #include <pthread.h> #include <signal.h> #include <stdio.h> @@ -13,11 +12,11 @@ void sig_int_handler(int num) running = 0; } -void on_message(struct Server* server, char message[], ssize_t amountRecv, int socketFD) +void on_message(struct Server* server, struct AcceptedSocket* cur_socket, char message[], ssize_t amountRecv) { if (amountRecv > 0) { printf("%s\n", message); - broadcast(server,socketFD,message); //this calls mutex lock and unlock on server->list_lock + soc_broadcast(server,cur_socket,message); } } @@ -35,7 +34,7 @@ int main(int argc, char* argv[]) struct Server server = server_constructor(AF_INET, SOCK_STREAM, 0, INADDR_ANY, port, 10); server.on_message = on_message; - launch_socket(&server); + init_socket_server(&server); struct sigaction act = { 0 }; act.sa_handler = &sig_int_handler; diff --git a/stresstest.sh b/stresstest.sh new file mode 100755 index 0000000..2a1058f --- /dev/null +++ b/stresstest.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +i=0 +while :; do + for msg in "hi $i" "hello $i" "beans $i" "ham $i"; do + { echo "$msg"; sleep 0.05; } | socat - TCP:127.0.0.1:$1,linger=1 & + done + i=$((i+1)) + [ "$i" -gt 100 ] && break +done +wait |
