Internals
The CppCMS framework consists of following parts:
Long Living Classes
Central
service— the major class that holds the main application loop and manages all resources.All global resources are accessed via this service.
It also hold the main event driven execution loop based on
boost::asio::io_service.applications_pool— it the class that holds a pool of user created applications and dispatches them according to requested url. It is the major connector between URL and application.Each time the page is requested an application fetched from it and then returned back for recycling.
thread_pool— is the thread pool for long running and time consuming jobs that can’t be executed withing asynchronous event loop.Generally, when new request arrives it is executed by application in the
thread_pool.locale::pool— is the gateway to i18n and l10n world. It holds the set ofstd::localefor each supported locale required by developer. It also adds custom facets likegettextin order to extend localization capabilities behind the strict set of facets provided by standard C++.