Re: [Cppcms-users] Next CppCMS Feature Poll
Brought to you by:
artyom-beilis
From: Artyom B. <art...@ya...> - 2020-08-13 08:05:20
|
Ok... So with majority of votes I took the C++11 support by default: it goes to this branch: https://github.com/artyom-beilis/cppcms/tree/cpp11 Note this is not 100% backward compatible change. So slight adjustments may be required. Most important one probably replacing auto_ptr with unique_ptr So far: 1. Switched booster shared_ptr, weak_ptr, enable_shared_from_this, auto_ptr to std versions of them + replacement of auto_ptr by unique_ptr2. Replaced booster::function by std::function3. Moving to use of std::system_error/std::error_code and so instead of booster::system Note all aliases are put into booster namespace so if you use booster::shared_ptr - it would continue to work as expected but it will be std::shared_ptr Next planned things 1. Updating templates compiler to use std::begin/std::end in foreach loop + use of auto by default. 2. Partial replacement of booster threading functionality with std::thread (note not all is possible due to lack of primitives and some other issues)3. Updating booster::callback/callable to use variadic templates (unlike std::function its content is reference counted and has internal callable block that can be detached) 4. Updating cppcms::url_mapper/url_dispatched to variadic (this need to be checked carefully if we can keep the ABI stability and such a template)5. Adding optional std::regex to mapping functionality (to be checked if needed) note booster::regex uses PCRE that supports UTF-8 unlike std::regex - so it can't be replaced entirely6. Adding move constructors to any class that may benefit from it like json, cookie and so on.7. Supporting both python2 and python3 for templates compiler due to python2 reaching its end of life8. Moving to python3 (or if possible support both) in unit-tests due to python2 EOL. More points I missed? Next Task will be HTTP/1.1 + WebSockets. Artyom Beilis On Monday, August 10, 2020, 10:02:47 PM GMT+3, Artyom Beilis <art...@gm...> wrote: Hello All, Following the discussion I want to make a commitment to implement a new feature required by the community. Here my options: 1. HTTP/1.1 support - it would allow keep alive support and better performance overall for multiple requests. It would allow future implementation of web sockets. 2. Multiple-Event-Loop support - today there is only 1 event loop for the service and it can be a bottleneck for small requests on systems with high core count 3. SSL support - for embedded systems that need proper web server 4. C++11 cleanup - replace all booster primitives that exist in C++11 with standard (shared_ptr, thread, mutex, etc) provide move constructors for many objects, replace auto_ptr by unique_ptr. Feel free to suggest other ideas that you can think of that would be beneficial Artyom Beilis _______________________________________________ Cppcms-users mailing list Cpp...@li... https://lists.sourceforge.net/lists/listinfo/cppcms-users |