remove fixed rx buffer allow definition per protocol
authorAndy Green <andy.green@linaro.org>
Wed, 6 Feb 2013 12:10:16 +0000 (21:10 +0900)
committerAndy Green <andy.green@linaro.org>
Fri, 8 Feb 2013 05:16:07 +0000 (13:16 +0800)
commit5449511d3ee27e93d1f3ef41d91d460103865d06
tree13cc4b13a899dcf1f99f41a7023c5b908a53b1d8
parentf27034201fa468f5d56c50f14a58124ebdbfb2f1
remove fixed rx buffer allow definition per protocol

A new protocol member is defined that controls the size of rx
buffer allocation per connection.  For compatibility 0 size
allocates 4096, but you should adapt your protocol definition
array in the user code to declare an appropriate value.

See the changelog for more detail.

The advantage is the rx frame buffer size is now tailored to
what is expected from the protocol, rather than being fixed
to a default of 4096.  If your protocol only sends frames of
a dozen bytes this allows you to only allocate an rx frame
buffer of the same size.

For example the per-connection allocation (excluding headers)
for the test server fell from ~4500 to < 750 bytes with this.

Signed-off-by: Andy Green <andy.green@linaro.org>
16 files changed:
README.build
changelog
lib/client-parser.c
lib/client.c
lib/extension-deflate-frame.c
lib/extension-deflate-stream.h
lib/handshake.c
lib/libwebsockets.c
lib/libwebsockets.h
lib/parsers.c
lib/private-libwebsockets.h
lib/server-handshake.c
lib/server.c
libwebsockets-api-doc.html
test-server/test-client.c
test-server/test-server.c