1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-16 00:00:07 +01:00
Commit graph

148 commits

Author SHA1 Message Date
Edwin van der Oetelaar
8db451f363 extpoll break out of loop when set or clear finds fd
Signed-off-by: Edwin van der Oetelaar <oetelaar.automatisering@gmail.com>
2013-01-15 16:22:34 +08:00
Andy Green
d280b6ecb3 http service break into outer loop states
Previously we sat and looped to dump a file over http protocol.

Actually that's a source of blocking to the other sockets being serviced.

This patch breaks up the file service into a roundtrip around the poll()
loop for each 512-byte packet.  It doesn't make much difference if the
server is idle, but if it's busy it makes sure everyone else is getting
service while the file is sent.

It doesn't try to optimize multiple users of the file or to keep the
descriptor open, the point of this patch is to establish the breaking up
of the file send action into the poll loop.

On the user side, there are two differences:

 - context is now needed in the first argument to libwebsockets_serve_http_file()
that's not too bad since we provide context in the callback.

 - file send is now asynchronous to the user code, you get a new callback coming
in protocol 0 when it's done, LWS_CALLBACK_HTTP_FILE_COMPLETION

libwebsockets-test-server is updated accordingly.

Signed-off-by: Andy Green <andy.green@linaro.org>
2013-01-15 16:00:36 +08:00
Andy Green
a50dd1af40 merge test server extpoll into test server
the -extpoll version of the test server was starting to rot compared to
the test-server.c it was originally based on.

This patch deletes the -extpoll.c version and instead has the test-server.c
source built two different ways in the makefile, once with the define
EXTERNAL_POLL which forces non-fork mode and enables the "by hand"
pollfd array handling.  The resulting binary of that is still called
libwebsockets-test-server-extpoll.

Another problem was that the pollfd array length needs to match MAX_CLIENTS, that
now happens during the build.

Signed-off-by: Andy Green <andy.green@linaro.org>
2013-01-15 15:50:31 +08:00
Andy Green
f7609e9ada logging ensure everyone has a newline
Signed-off-by: Andy Green <andy.green@linaro.org>
2013-01-15 15:41:15 +08:00
Andy Green
24b588b6d9 absorb README.rst into main README and code
Some of the advice in README.rst became deprecated with recent patches,
the (good) advice about http connection close is better demonstrated
in the code and API docs, and the remainder can go in the main README,
which will have to be refactored itself at some point.

Signed-off-by: Andy Green <andy.green@linaro.org>
2013-01-13 09:53:18 +08:00
Andy Green
de8f27a80b logging extend level set api to allow setting emission function
Signed-off-by: Andy Green <andy.green@linaro.org>
2013-01-12 09:17:42 +08:00
Andy Green
46ef0cf3c5 allow enabling debug contexts from test apps
Adds a -d switch to everything so you can set the log level bitfeld.

Signed-off-by: Andy Green <andy.green@linaro.org>
2013-01-10 23:34:33 +08:00
David Galeano
2f82be89d5 Added context creation parameter for CA certificates file. 2013-01-09 16:25:54 +08:00
Alon Levy
0291eb3b95 libwebsocket_context: add userspace pointer for use before wsi creation
Signed-off-by: Alon Levy <alevy@redhat.com>
2012-10-19 18:27:19 +08:00
Andy Green
3928f6178a restore accept error as closure signal
Signed-off-by: Andy Green <andy.green@linaro.org>
2012-07-20 12:58:38 +08:00
Andy Green
cce2a81e85 change DATADIR to INSTALL_DATADIR solve mingw conflict
Based on work from Radu Sorici <soriciradu@gmail.com>

Signed-off-by: Andy Green <andy.green@linaro.org>
2012-04-12 13:31:25 +08:00
Andy Green
6ee372fcd8 style cleaning
Signed-off-by: Andy Green <andy.green@linaro.org>
2012-04-09 15:24:22 +08:00
Andy Green
a41314f3bf introduce x google mux very draft indeed
This is initial x-google-mux support.  It's disabled by default
since it's very pre-alpha.

1) To enable it, reconfigure with --enable-x-google-mux

2) It conflicts with deflate-stream, use the -u switch on
   the test client to disable deflate-stream

3) It deviates from the google standard by sending full
   headers in the addchannel subcommand rather than just
   changed ones from original connect

4) Quota is not implemented yet

5) Close of subchannel is not really implemented yet

6) Google opcode 0xf is changed to 0x7 to account for
   v7 protocol changes to opcode layout

However despite those caveats, in fact it can run the
test client reliably over one socket (both dumb-increment
and lws-mirror-protocol), you can open a browser on the
same test server too and see the circles, etc.

Signed-off-by: Andy Green <andy@warmcat.com>
2011-05-23 10:00:03 +01:00
Andy Green
9e4c2b6e35 add separate server writeable and change naming to match rest of callbacks
Notice that the naming is changed, the notification to a server that it can write to
the client is now called LWS_CALLBACK_SERVER_WRITEABLE, and the notification to a client
that it can write to a server is LWS_CALLBACK_CLIENT_WRITEABLE.

Signed-off-by: Andy Green <andy@warmcat.com>
2011-03-07 20:47:39 +00:00
Andy Green
69758fa809 introduce test server close testing switch
Signed-off-by: Andy Green <andy@warmcat.com>
2011-03-07 07:08:07 +00:00
Andy Green
4cd87a0bd9 introduce internal extensions array
Signed-off-by: Andy Green <andy@warmcat.com>
2011-03-06 13:15:32 +00:00
Andy Green
d6e09110bb introduce struct libwebsocket_extension
Signed-off-by: Andy Green <andy@warmcat.com>
2011-03-05 16:12:15 +00:00
Peter Hinz
56885f3084 introduce win32 build capability
This adds win32 build compatability to libwebsockets.

The patch is from Peter Hinz, Andy Green has cleaned it up a bit and
possibly broken win32 compatability since I can't test it, so there
may be followup patches.  It compiles fine under Linux after this
patch anyway.

Much of the patch is changing a reserved keyword for Visual C compiler
"this" to "context", but there is no real C99 support in the MSFT
compiler even though it is 2011 so C99 style array declarations
have been mangled back into "ancient C" style.

Some windows-isms are also added like closesocket() but these are
quite localized.  Win32 random is just using C library random() call
at the moment vs Linux /dev/urandom.  canonical hostname detection is
broken in win32 at the moment.

Signed-off-by: Peter Hinz <cerebusrc@gmail.com>
Signed-off-by: Andy Green <andy@warmcat.com>
2011-03-02 22:03:47 +00:00
Andy Green
32375b7e9e introduce listen on specific interface
Signed-off-by: Andy Green <andy@warmcat.com>
2011-02-19 08:32:53 +00:00
Andy Green
62c54d2f56 introduce this param in callback fix server close on client socket
Signed-off-by: Andy Green <andy@warmcat.com>
2011-02-14 09:14:25 +00:00
Andy Green
38c4f0c556 add-example-protocol-handshake-filter-callback.patch
Signed-off-by: Andy Green <andy.green@linaro.org>
2011-02-13 08:54:05 +00:00
Andy Green
863d4d25e7 add-example-network-filter-callback.patch
Signed-off-by: Andy Green <andy.green@linaro.org>
2011-02-13 08:40:37 +00:00
Andy Green
8014b29d20 introduce-k-switch-defeat-masking.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2011-01-30 20:57:25 +00:00
Andy Green
90c7cbcc00 introduce-ssl-client-connections--flow-control.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2011-01-27 06:26:52 +00:00
Andy Green
6964bb5ee5 clean--fix-sigpipe.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2011-01-23 16:50:33 +00:00
Andy Green
4739e5c450 introduce-client-support.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2011-01-22 12:51:57 +00:00
Andy Green
ed11a02201 add-enable-nofork-config-option.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2011-01-20 10:23:50 +00:00
Andy Green
e92cd1764e expose-event-loop.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2011-01-19 13:11:55 +00:00
Andy Green
c87fc2f0a9 use-enum-for-demo-protocols.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2011-01-18 15:29:04 +00:00
Andy Green
0ca6a1719b clean-and-add-pedantic-remove-long-long.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2010-12-19 20:50:01 +00:00
Andy Green
b45993caf3 fork-sever-process-and-introduce-broadcast-api.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2010-12-18 15:13:50 +00:00
Andy Green
6192c74fa7 remove-md5-struct.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2010-11-15 12:46:25 +00:00
Andy Green
e77ddd828d coding-style-cleanups.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2010-11-13 10:03:47 +00:00
Andy Green
5195968224 mirror-protocol-chrome-and-firefox.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2010-11-12 14:12:13 +00:00
Andy Green
fe2a0d2e88 introduce-mirror-test-protocol.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2010-11-12 13:10:40 +00:00
Andy Green
05464c6b7b remove-last-fork.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2010-11-12 10:44:18 +00:00
Andy Green
4f3943a8f8 move-to-automatic-protocol-list-scheme.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2010-11-12 10:44:16 +00:00
Andy Green
ab7d933d9d test-applet-add-reset-button-and-colour-socket-status.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2010-11-11 13:19:19 +00:00
Andy Green
462bbf711e require-specific-test-protocol.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2010-11-11 12:52:28 +00:00
Andy Green
ce510c6beb add-Sec-WebSocket-Draft-and-protocol-autodetect.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2010-11-11 12:48:13 +00:00
Andy Green
a2b0ab0e30 add-protocol-filter.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2010-11-11 12:28:29 +00:00
Andy Green
6452f1eff6 fix-rx-action-76.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2010-11-11 09:22:22 +00:00
Andy Green
7c212ccf3c break-out-lib-sources.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2010-11-08 20:20:42 +00:00
Andy Green
a0da8a8edd add-COPYING-lgpl-2.1.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2010-11-08 17:12:19 +00:00
Andy Green
3faa9c716c add-wss-ssl-openssl-support.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2010-11-08 17:03:03 +00:00
Andy Green
251f6faf7b add-per-session-user-data.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2010-11-03 11:13:06 +00:00
Andy Green
3138e44826 test-assets-into-usr-share.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2010-11-01 09:20:48 +00:00
Andy Green
7310e9c77b refactor-into-dirs.patch
Signed-off-by: Andy Green <andy@warmcat.com>
2010-11-01 09:12:17 +00:00
Renamed from test-server.c (Browse further)