canonical libwebsockets.org websocket library
Find a file
Andy Green fc7c5e4539 reflect send completeness in lws_write return
under load, writing packet sizes to the socket that are normally fine
can do partial writes, eg asking to write 4096 may only take 2800 of
it and return 2800 from the actual send.

Until now lws assumed that if it was safe to send, it could take any
size buffer, that's not the case under load.

This patch changes lws_write to return the amount actually taken...
that and the meaning of it becomes tricky when dealing with
compressed links, the amount taken and the amount sent differ.  Also
there is no way to recover at the moment from a protocol-encoded
frame only being partially accepted... however for http file send
content it can and does recover now.

Small frames don't have to take any care about it but large atomic
sends (> 2K) have been seen to fail under load.

Signed-off-by: Andy Green <andy.green@linaro.org>
2013-02-23 10:50:10 +08:00
cmake Fixed ssl cert generation on Windows. 2013-02-22 09:28:11 +08:00
lib reflect send completeness in lws_write return 2013-02-23 10:50:10 +08:00
m4 add empty m4 dir as workaround for autoreconf issue 2013-01-15 21:56:12 +08:00
scripts refactor-into-dirs.patch 2010-11-01 09:12:17 +00:00
test-server reflect send completeness in lws_write return 2013-02-23 10:50:10 +08:00
win32port Fix running test programs from within visual studio. 2013-02-22 09:28:17 +08:00
.gitignore add static stack analysis 2013-02-10 10:49:15 +08:00
autogen.sh use autogen.sh 2012-10-06 15:17:01 +08:00
changelog reflect send completeness in lws_write return 2013-02-23 10:50:10 +08:00
CMakeLists.txt Fix running test programs from within visual studio. 2013-02-22 09:28:17 +08:00
config.h.cmake Set the _DEBUG macro for CMake also. 2013-02-22 09:28:13 +08:00
configure.ac bump version to 1.2 and soname to 3 2013-02-12 10:36:39 +08:00
COPYING add-COPYING-lgpl-2.1.patch 2010-11-08 17:12:19 +00:00
INSTALL add-INSTALL.patch 2010-11-12 13:11:50 +00:00
libwebsockets-api-doc.html reflect send completeness in lws_write return 2013-02-23 10:50:10 +08:00
libwebsockets.pc.in add pkg-config file libwebsockets.pc 2012-10-19 18:26:22 +08:00
libwebsockets.spec update rpm specfile 2013-02-12 15:48:00 +08:00
LICENSE add static linking exception to LICENSE 2013-02-07 23:44:21 +08:00
Makefile.am introduce library version plus git hash 2013-02-01 10:50:15 +08:00
README add README 2013-02-06 16:07:27 +09:00
README.build move ssl cipher list from compiletime to context creation time option 2013-02-22 09:54:35 +08:00
README.coding move ssl cipher list from compiletime to context creation time option 2013-02-22 09:54:35 +08:00
README.test-apps introduce test echo 2013-01-30 12:28:44 +08:00

This is the libwebsockets C library for lightweight websocket clients and
servers.  For support, visit

 http://libwebsockets.org

and consider joining the project mailing list at

 http://ml.libwebsockets.org/mailman/listinfo/libwebsockets

You can get the latest version of the library from git

http://git.libwebsockets.org
https://github.com/warmcat/libwebsockets

for more information:

README.build      - information on building the library
README.coding     - information for writing code using the library
README.test-apps  - information about the test apps built with the library