<!--toc-->
|
|
## On Its Way
|
|
- C++11 support by default, cleanup of booster to use standard library where possible
|
- Python 3 and 2 support for templates compiler and unit testing.
|
|
## HTTP Server improvements - most required/urgent
|
|
- Implement HTTP/1.1
|
- Provide WebSockets support
|
|
## Add Support of multiple event loops
|
|
Today, asynchronous applications do not scale
|
well on multi-core systems.
|
|
Add required support of multiple event loops
|
so different asynchronous applications would
|
be able to use them.
|
|
## OpenAPI
|
|
What about making OpenAPI services with CppCMS?..
|
|
|
## HTTP Server improvements
|
|
- Implement HTTPS
|
- Implement Virtual Hosts support
|
|
## Cache Improvements
|
|
### Contention
|
|
When an entry is invalidated many requests
|
may try to generate it and create significant load.
|
|
Solution, delay "fetch" if some other fetching.
|
|
### Active Invalidation
|
|
Distributed Cache system implements L1/L2 cache
|
allowing a cache client to check if the data is
|
has is still up-to-date without reading it back.
|
|
However each access to cache still require TCP-ping-pong.
|
|
So instead active cache invalidation may be done: when
|
trigger is risen or new data is stored a sort of
|
a message that causes all clients to drop invalid
|
cache is broad-casted.
|
|
Need to be implemented.
|
|
|
### Object invalidation
|
|
Use cache to invalidate general object
|
|
### Enable O(1) invalidation and lazy collection
|
|
- Make triggers refcounted - and keep generation
|
- Invalidation options:
|
1. Triggers keep spliceable list of objects that moved to kill list and deleted on demand O(1) operation
|
2. Triggers do not have list of objects at all but rather have limited access to
|
|
|
----
|
|
← [Plugin Architecture][prev]
|
| [Top](#maincontent)
|
| [Internals of CppCMS 1.x.x][next] →
|
|
[prev]: /wikipp/en/page/cppcms_1x_plugin_architecture
|
[next]: /wikipp/en/page/cppcms_1x_internals |