Choose any mechanism that uses select(). We can change the threading model at a later stage if it turns out to be a bottleneck. `epoll` is Linux-only and even `poll` isn't always available, so as long as you choose a `select` based implementation, it should be fine for now.================================= NEXT STEPS =================================== Things which would be done in the coming week:* Finished on wget_test_start_server() in order to call Libmicrohttpd as service for wget_test(). Problems and questions need to be resolved: - Decide what the best threading model for Libmicrohttpd. Currently using MHD_USE_INTERNALLY_POLLING_THREAD which use external select. I still check the comparison with legacy code that use Wget2 API wget_thread_start.
This is important. The port should be a random number. Usually, passing 0 in the port number makes the kernel choose an open one for you.- http_server_port still hardcoded.
Having a randomised port is important to ensure that multiple runs don't step on each other.
We keep the FTP code intact for now. If time permits, we should look into different libraries that provide a FTP server in C and try to integrate that into your test suite as well. But for now, it is out of scope.- In ahc_eco() of Libmicrohttpd, urls data still using static checking for matching with requested urls. In other word, it's hardcoded. Need to be changed to dynamic method to accomodate variadic data. - https still not touched yet. - What to do with FTP and FTPS functions? Since Libmicrohttpd just provide service for HTTP. Do we need keep the function for FTP{s}, or removing it?
- Last check failed when the test try to resolve URL with question mark. E.g: "/subdir1/subpage1.html?query¶m", when I debug, it return just "/subdir1/subpage1.html" so the result is 404 not found. I also check using logging example source code provided in Libmicrohttpd tutorial [4]. When I access using http client such as Wget2 and Firefox, the result is still the same. The URL result omit the query part. Need to confirm to Libmicrohttpd side about this, whether it is intended behaviour or not. * Make sure all test suite running correctly. [1]: https://gitlab.com/dstw/wget2 [2]: https://www.gnu.org/software/libmicrohttpd/manual/libmicrohttpd.html#microhttpd_002ddauth [3]: https://gitlab.com/dstw/wget2/tree/use-mhd [4]: https://www.gnu.org/software/libmicrohttpd/tutorial.html#logging_002ec Regards, Didik Setiawan
-- Thanking You, Darshit Shah PGP Fingerprint: 7845 120B 07CB D8D6 ECE5 FF2B 2A17 43ED A91A 35B6
signature.asc
Description: PGP signature