summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;