diff -r 14322825cb3d -r 48f8f3fce7c0 bmsd/websocket.c --- a/bmsd/websocket.c Thu May 14 14:38:20 2020 +0200 +++ b/bmsd/websocket.c Mon May 18 11:00:59 2020 +0200 @@ -27,6 +27,7 @@ #include "bms.h" #include "xutil.h" #include "websocket.h" +#include "fermenters.h" #include "co2meters.h" #include @@ -48,6 +49,9 @@ */ #define MAX_MESSAGE_QUEUE 512 +#define WS_INBUF 2048 + + /* * one of these created for each message */ @@ -66,7 +70,7 @@ { struct per_session_data__lws_mirror *pss = (struct per_session_data__lws_mirror *)user; int n, m; - char buf[513]; + char buf[WS_INBUF + 1]; switch (reason) { @@ -116,7 +120,9 @@ memcpy(buf, in, len); buf[len] = '\0'; syslog(LOG_NOTICE, "ws: reveived %ld bytes %s", len, buf); - if (strncmp(buf, (char *)"{\"device\":\"co2meters\",", 22) == 0) { + if (strncmp(buf, (char *)"{\"device\":\"fermenters\",", 23) == 0) { + fermenter_ws_receive(buf); + } else if (strncmp(buf, (char *)"{\"device\":\"co2meters\",", 22) == 0) { co2meter_ws_receive(buf); } @@ -137,7 +143,7 @@ static struct lws_protocols protocols[] = { - { "bmsd-protocol", callback_ws, sizeof(struct per_session_data__lws_mirror), 512 }, + { "bmsd-protocol", callback_ws, sizeof(struct per_session_data__lws_mirror), WS_INBUF }, { NULL, NULL, 0, 0 } /* terminator */ };