----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviewboard.asterisk.org/r/4431/ -----------------------------------------------------------
(Updated Feb. 25, 2015, 2:46 p.m.) Status ------ This change has been marked as submitted. Review request for Asterisk Developers. Changes ------- Committed in revision 432236 Repository: Asterisk Description ------- Some WebSocket applications, like [chan_respoke][], require a larger frame size than the default 8k; this patch bumps the default to 16k. This patch also fixes some problems exacerbated by large frames. The sanity counter was decremented on every fread attempt in ws_safe_read(), regardless of whether data was read from the socket or not. For large frames, this could result in loss of sanity prior to reading the entire frame. (16k frame / 1448 bytes per segment = 12 segments). This patch changes the sanity counter so that it only decrements when fread() doesn't read any bytes. This more closely matches the original intention of ws_safe_read(), given that the error message is "Websocket seems unresponsive". This patch also properly logs EOF conditions, so disconnects are no longer confused with unresponsive connections. [chan_respoke]: https://github.com/respoke/chan_respoke Diffs ----- /branches/11/res/res_http_websocket.c 431915 Diff: https://reviewboard.asterisk.org/r/4431/diff/ Testing ------- Ran a Node app that continuously send large WebSocket frame to Asterisk. https://gist.github.com/leedm777/ba6d86468d7646073286 Without the patch, Asterisk fails in less than 10 frames. With the patch, it runs like a boss. Thanks, David Lee
-- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev