#include "../lib/libwebsockets.h"
+static int close_testing;
/*
* This demo server shows how to use libwebsockets for one or more
fprintf(stderr, "ERROR writing to socket");
return 1;
}
+ if (close_testing && pss->number == 50) {
+ fprintf(stderr, "close tesing limit, closing\n");
+ libwebsocket_close_and_free_session(context, wsi,
+ LWS_CLOSE_STATUS_NORMAL);
+ }
break;
case LWS_CALLBACK_RECEIVE:
break;
case LWS_CALLBACK_CLIENT_WRITEABLE:
+ if (close_testing)
+ break;
if (pss->ringbuffer_tail != ringbuffer_head) {
n = libwebsocket_write(wsi, (unsigned char *)
{ "ssl", no_argument, NULL, 's' },
{ "killmask", no_argument, NULL, 'k' },
{ "interface", required_argument, NULL, 'i' },
+ { "closetest", no_argument, NULL, 'c' },
{ NULL, 0, 0, 0 }
};
"licensed under LGPL2.1\n");
while (n >= 0) {
- n = getopt_long(argc, argv, "i:khsp:", options, NULL);
+ n = getopt_long(argc, argv, "ci:khsp:", options, NULL);
if (n < 0)
continue;
switch (n) {
interface_name[(sizeof interface_name) - 1] = '\0';
interface = interface_name;
break;
+ case 'c':
+ close_testing = 1;
+ fprintf(stderr, " Close testing mode -- closes on "
+ "client after 50 dumb increments"
+ "and suppresses lws_mirror spam\n");
+ break;
case 'h':
fprintf(stderr, "Usage: test-server "
"[--port=<p>] [--ssl]\n");