summaryrefslogtreecommitdiff
path: root/src/packet_stream.c
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2026-08-25 19:41:29 -0400
committerAndrew Opalach <andrew@akon.city> 2026-08-25 19:41:29 -0400
commit3a51988d764d54723288dc31a1779ece44cac1e9 (patch)
tree5a0d574049c3abdaac6d6a8a59b0804a88978802 /src/packet_stream.c
parent8ebcc1fa354fac87771caa88ee67600412bbcb57 (diff)
downloadlibnaunet-3a51988d764d54723288dc31a1779ece44cac1e9.tar.gz
libnaunet-3a51988d764d54723288dc31a1779ece44cac1e9.tar.bz2
libnaunet-3a51988d764d54723288dc31a1779ece44cac1e9.zip
Basic way to simulate connection failure
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/packet_stream.c')
-rw-r--r--src/packet_stream.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/packet_stream.c b/src/packet_stream.c
index 0a45b22..debc425 100644
--- a/src/packet_stream.c
+++ b/src/packet_stream.c
@@ -206,13 +206,23 @@ void nn_packet_stream_from_socket(struct nn_packet_stream *stream, struct nn_eve
}
}
+//#define SPORADIC_CONNECTION_FAILURE
+#ifdef SPORADIC_CONNECTION_FAILURE
+#include <al/random.h>
+#endif
+
static void do_connect_internal(struct nn_packet_stream *stream, str *addr, u16 port)
{
if (!nn_socket_init(&stream->sock, NNWT_SOCKET_NONBLOCKING)) {
stream->connection_closed_callback(stream->userdata, stream);
return;
}
+#ifdef SPORADIC_CONNECTION_FAILURE
+ bool error = al_random_int(0, 30) == 17;
+ if (error || !nn_socket_connect(&stream->sock, addr, port)) {
+#else
if (!nn_socket_connect(&stream->sock, addr, port)) {
+#endif
nn_socket_close(&stream->sock);
stream->connection_closed_callback(stream->userdata, stream);
return;