• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..--

mount-origin/23-Nov-2023-148141

CMakeLists.txtD23-Nov-20233.9 KiB127110

README.mdD23-Nov-20232.1 KiB5944

localhost-100y.certD23-Nov-20232.1 KiB3534

localhost-100y.keyD23-Nov-20233.2 KiB5352

minimal-http-server-eventlib-foreign.cD23-Nov-202311.6 KiB494349

README.md

1# lws minimal http server eventlib foreign
2
3Commandline option|Meaning
4---|---
5-d <loglevel>|Debug verbosity in decimal, eg, -d15
6--uv|Use the libuv event library (lws must have been configured with `-DLWS_WITH_LIBUV=1`)
7--event|Use the libevent library (lws must have been configured with `-DLWS_WITH_LIBEVENT=1`)
8--ev|Use the libev event library (lws must have been configured with `-DLWS_WITH_LIBEV=1`)
9
10Notice libevent and libev cannot coexist in the one library.  But all the other combinations are OK.
11
12x|libuv|libevent|libev
13---|---|---|---
14libuv|-|OK|OK
15libevent|OK|-|no
16libev|OK|no|-
17
18This demonstrates having lws take part in a libuv loop owned by
19something else, with its own objects running in the loop.
20
21Lws can join the loop, and clean up perfectly after itself without
22leaving anything behind or making trouble in the larger loop, which
23does not need to stop during lws creation or destruction.
24
25First the foreign loop is created with a 1s timer, and runs alone for 5s.
26
27Then the lws context is created inside the timer callback and runs for 10s...
28during this period you can visit http://localhost:7681 for normal lws
29service using the foreign loop.
30
31After the 10s are up, the lws context is destroyed inside the foreign loop
32timer.  The foreign loop runs alone again for a further 5s and then
33exits itself.
34
35## build
36
37```
38 $ cmake . && make
39```
40
41## usage
42
43```
44 $ ./lws-minimal-http-server-eventlib-foreign
45[2018/03/29 12:19:31:3480] USER: LWS minimal http server eventlib + foreign loop | visit http://localhost:7681
46[2018/03/29 12:19:31:3724] NOTICE: Creating Vhost 'default' port 7681, 1 protocols, IPv6 off
47[2018/03/29 12:19:31:3804] NOTICE:  Using foreign event loop...
48[2018/03/29 12:19:31:3938] USER: Foreign 1Hz timer
49[2018/03/29 12:19:32:4011] USER: Foreign 1Hz timer
50[2018/03/29 12:19:33:4024] USER: Foreign 1Hz timer
51^C[2018/03/29 12:19:33:8868] NOTICE: Signal 2 caught, exiting...
52[2018/03/29 12:19:33:8963] USER: main: starting exit cleanup...
53[2018/03/29 12:19:33:9064] USER: main: lws context destroyed: cleaning the foreign loop
54[2018/03/29 12:19:33:9108] USER: main: exiting...
55```
56
57Visit http://localhost:7681
58
59