-SUBDIRS=lib test-server
+SUBDIRS=lib test-server
+#communal-server
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-SUBDIRS = lib test-server
+SUBDIRS = lib test-server
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
ps ps-am tags tags-recursive uninstall uninstall-am
+#communal-server
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
case 0:
break;
}
+
+ if (c == 0) {
+ wsi->lws_rx_parse_state = LWS_RXPS_EAT_UNTIL_76_FF;
+ wsi->rx_user_buffer_head = 0;
+ }
+ break;
+ case LWS_RXPS_EAT_UNTIL_76_FF:
+ if (c == 0xff) {
+ wsi->lws_rx_parse_state = LWS_RXPS_NEW;
+ goto issue;
+ }
+ wsi->rx_user_buffer[LWS_SEND_BUFFER_PRE_PADDING +
+ (wsi->rx_user_buffer_head++)] = c;
+
+ if (wsi->rx_user_buffer_head != MAX_USER_RX_BUFFER)
+ break;
+issue:
+ if (wsi->callback)
+ wsi->callback(wsi, LWS_CALLBACK_RECEIVE,
+ &wsi->user_space[0],
+ &wsi->rx_user_buffer[LWS_SEND_BUFFER_PRE_PADDING],
+ wsi->rx_user_buffer_head);
+ wsi->rx_user_buffer_head = 0;
break;
case LWS_RXPS_SEEN_76_FF:
if (c)
LWS_RXPS_PAYLOAD_UNTIL_LENGTH_EXHAUSTED && n < len)
if (libwebsocket_rx_sm(wsi, buf[n++]) < 0)
return -1;
-
- if (n != len && wsi->callback)
- wsi->callback(wsi, LWS_CALLBACK_RECEIVE, &wsi->user_space[0],
- &buf[n], len - n);
return -0;
}
#define LWS_MAX_HEADER_LEN 4096
#define LWS_INITIAL_HDR_ALLOC 256
#define LWS_ADDITIONAL_HDR_ALLOC 64
-
+#define MAX_USER_RX_BUFFER 512
enum lws_connection_states {
LWS_RXPS_SEEN_76_FF,
LWS_RXPS_PULLING_76_LENGTH,
+ LWS_RXPS_EAT_UNTIL_76_FF,
LWS_RXPS_PAYLOAD_UNTIL_LENGTH_EXHAUSTED
};
enum lws_token_indexes parser_state;
struct lws_tokens utf8_token[WSI_TOKEN_COUNT];
int ietf_spec_revision;
-
+ char rx_user_buffer[LWS_SEND_BUFFER_PRE_PADDING + MAX_USER_RX_BUFFER +
+ LWS_SEND_BUFFER_POST_PADDING];
+ int rx_user_buffer_head;
+
int sock;
enum lws_rx_parse_state lws_rx_parse_state;
LOCAL_RESOURCE_PATH"/libwebsockets-test-server.key.pem";
fprintf(stderr, "libwebsockets test server\n"
- "Copyright 2010 Andy Green <andy@warmcat.com> "
- "licensed under GPL2\n");
+ "(C) Copyright 2010 Andy Green <andy@warmcat.com> "
+ "licensed under LGPL2.1\n");
while (n >= 0) {
n = getopt_long(argc, argv, "hp:r:", options, NULL);