mirror of
https://github.com/warmcat/libwebsockets.git
synced 2025-03-09 00:00:04 +01:00
introduce test server close testing switch
Signed-off-by: Andy Green <andy@warmcat.com>
This commit is contained in:
parent
2a8978feec
commit
69758fa809
1 changed files with 16 additions and 1 deletions
|
@ -28,6 +28,7 @@
|
|||
|
||||
#include "../lib/libwebsockets.h"
|
||||
|
||||
static int close_testing;
|
||||
|
||||
/*
|
||||
* This demo server shows how to use libwebsockets for one or more
|
||||
|
@ -202,6 +203,11 @@ callback_dumb_increment(struct libwebsocket_context * context,
|
|||
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:
|
||||
|
@ -265,6 +271,8 @@ callback_lws_mirror(struct libwebsocket_context * context,
|
|||
break;
|
||||
|
||||
case LWS_CALLBACK_CLIENT_WRITEABLE:
|
||||
if (close_testing)
|
||||
break;
|
||||
if (pss->ringbuffer_tail != ringbuffer_head) {
|
||||
|
||||
n = libwebsocket_write(wsi, (unsigned char *)
|
||||
|
@ -370,6 +378,7 @@ static struct option options[] = {
|
|||
{ "ssl", no_argument, NULL, 's' },
|
||||
{ "killmask", no_argument, NULL, 'k' },
|
||||
{ "interface", required_argument, NULL, 'i' },
|
||||
{ "closetest", no_argument, NULL, 'c' },
|
||||
{ NULL, 0, 0, 0 }
|
||||
};
|
||||
|
||||
|
@ -397,7 +406,7 @@ int main(int argc, char **argv)
|
|||
"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) {
|
||||
|
@ -415,6 +424,12 @@ int main(int argc, char **argv)
|
|||
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");
|
||||
|
|
Loading…
Add table
Reference in a new issue