aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriceyrazor <iceyrazor@mailfence.com>2026-10-13 22:03:36 -0500
committericeyrazor <iceyrazor@mailfence.com>2026-10-13 22:03:36 -0500
commit1e89ac5d332ecc4da87c2a894146fd9bb0d4d1f9 (patch)
tree8c8447aade0652a91b4ae5f62d7fa7b85f890479
parentcd94292211dc4c7a019691cb00e092368489ca22 (diff)
updated socketHEADmain
added stress test script
-rwxr-xr-xbuild.sh5
m---------libs/socket0
-rwxr-xr-xsrc/client.c1
-rwxr-xr-xsrc/main.c9
-rwxr-xr-xstresstest.sh11
5 files changed, 17 insertions, 9 deletions
diff --git a/build.sh b/build.sh
index 5d75123..d3bccad 100755
--- a/build.sh
+++ b/build.sh
@@ -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))
diff --git a/src/main.c b/src/main.c
index eb9569e..9bc10c4 100755
--- a/src/main.c
+++ b/src/main.c
@@ -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