Name |
Date |
Size |
#Lines |
LOC |
||
---|---|---|---|---|---|---|
.. | - | - | ||||
mount-origin/ | 12-May-2024 | - | 148 | 141 | ||
CMakeLists.txt | D | 12-May-2024 | 3.9 KiB | 127 | 110 | |
README.md | D | 12-May-2024 | 2.1 KiB | 59 | 44 | |
localhost-100y.cert | D | 12-May-2024 | 2.1 KiB | 35 | 34 | |
localhost-100y.key | D | 12-May-2024 | 3.2 KiB | 53 | 52 | |
minimal-http-server-eventlib-foreign.c | D | 12-May-2024 | 11.6 KiB | 494 | 349 |
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