The idea here seems wrong, if we have a mixture of frames of varying
sizes above and below the limit, we segfault in deflate after skipping
it once.
If the protocol doesn't want compression because many frames are
small, it should veto the extension in the user callback. If only
a few frames are tiny, the overhead for compressing it all is tiny.
Signed-off-by: Andy Green <andy.green@linaro.org>
Now we are building with -O0 -g and debug enabled by default.
--disable-debug in configure will get you a -04 without -g
Signed-off-by: Andy Green <andy.green@linaro.org>
*** This patch changes an API all apps use ***
Context creation parameters are getting a bit out of control, this
patch creates a struct to contain them.
All the test apps are updated accordingly.
Signed-off-by: Andy Green <andy.green@linaro.org>
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>
This exposes the library version and git head hash it was built from
into LWS_LIBRARY_VERSION and LWS_BUILD_HASH.
These are combined into a version string that's both printed as a
notice log by the library and made available to the app using a new
api lws_get_library_version(). The version looks like
1.1 178d78c
Signed-off-by: Andy Green <andy.green@linaro.org>