summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Jordan <mjordan@digium.com>2016-11-04 15:42:09 -0500
committerMatt Jordan <mjordan@digium.com>2016-11-04 15:47:51 -0500
commit59d25b2081056e36cadacddcb6bf830f8bc7df8e (patch)
tree122d5867d446374eb9dde3122d4c2516aef4de35
parentd889fb375bacc1e9ddea60af1cd847539b91b1a3 (diff)
res_http_websocket: Increase the buffer size for non-LOW_MEMORY systems
Not surprisingly, using Respoke (and possibly other systems) it is possible to blow past the 16k limit for a WebSocket packet size. This patch bumps it up to 32k, which, at least for Respoke, is sufficient. For now. Because 32k is laughable on a LOW_MEMORY system (as is 16k, for that matter), this patch adds a LOW_MEMORY directive that sets the buffer to 8k for systems who have asked for their reduced memory availability to be considered. Change-Id: Id235902537091b58608196844dc4b045e383cd2e
-rw-r--r--res/res_http_websocket.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/res/res_http_websocket.c b/res/res_http_websocket.c
index d63caec3e..8476e2631 100644
--- a/res/res_http_websocket.c
+++ b/res/res_http_websocket.c
@@ -52,16 +52,29 @@ ASTERISK_REGISTER_FILE()
/*! \brief Number of buckets for registered protocols */
#define MAX_PROTOCOL_BUCKETS 7
+#ifdef LOW_MEMORY
/*! \brief Size of the pre-determined buffer for WebSocket frames */
-#define MAXIMUM_FRAME_SIZE 16384
+#define MAXIMUM_FRAME_SIZE 8192
/*! \brief Default reconstruction size for multi-frame payload reconstruction. If exceeded the next frame will start a
* payload.
*/
-#define DEFAULT_RECONSTRUCTION_CEILING 16384
+#define DEFAULT_RECONSTRUCTION_CEILING 8192
/*! \brief Maximum reconstruction size for multi-frame payload reconstruction. */
-#define MAXIMUM_RECONSTRUCTION_CEILING 16384
+#define MAXIMUM_RECONSTRUCTION_CEILING 8192
+#else
+/*! \brief Size of the pre-determined buffer for WebSocket frames */
+#define MAXIMUM_FRAME_SIZE 32768
+
+/*! \brief Default reconstruction size for multi-frame payload reconstruction. If exceeded the next frame will start a
+ * payload.
+ */
+#define DEFAULT_RECONSTRUCTION_CEILING 32768
+
+/*! \brief Maximum reconstruction size for multi-frame payload reconstruction. */
+#define MAXIMUM_RECONSTRUCTION_CEILING 32768
+#endif
/*! \brief Maximum size of a websocket frame header
* 1 byte flags and opcode