SObjectizer-5 Extra
|
New type of mbox is introduced: so_5::extra::mboxes::inflight_limit.
New type of mbox is introduced: so_5::extra::mboxes::composite.
New type of mbox is introduced: so_5::extra::mboxes::first_last_subscriber_notification.
Switch to SObjectizer-5.7.4.
so_5::extra::mboxes::unique_subscribers now support delivery filters.
Note: so_5::extra::mboxes::round_robin doesn't support delivery filters because it seems that such support has no sense for that type of mbox.
Traits-type for asio_one_thread and asio_thread_pool dispatchers is empty now. This is a breaking change for those who use asio_one_thread and/or asio_thread_pool dispatchers with custom thread type. Since v.1.5.0 so5extra utilizes the standard SObjectizer's mechanism based on abstract_work_thread_t/abstract_work_thread_factory_t interfaces. It means that a user has to create an instance of a custom thread factory, then pass this factory to the parameters of a dispatcher (or to the parameters of the whole SObjectizer Environment).
New type of mbox is introduced: so_5::extra::mboxes::unique_subscribers.
No new features, just adaptation to SObjectizer-5.7.3. Some new features from SO-5.7.3 are used to avoid warnings about deprecations.
Attention. so_5_extra-1.4.2 can't be used with previous version of SObjectizer.
Updates for dependencies: Asio-1-21-0 and doctest-2.4.7.
New submodule so_5::extra::disp::asio_one_thread added with another Asio-base dispatcher that uses only one worker thread.
License for so5extra library changed. Since v.1.4.0 so5extra is distributed under BSD-3-CLAUSE license.
Switch to SObjectizer-5.7.0. Please note that so5extra-1.4.0 won't work with previous versions of SObjectizer.
New submodule so_5::extra::mchains::fixed_size added with several so_5::extra::mchains::fixed_size::create_mchain() functions.
New class so_5::extra::mboxes::broadcast::fixed_mbox_template_t added.
New submodule so_5::extra::sync added.
New example disp/asio_thread_pool/hello_world
added.
Now so_5_extra can be used via CMake. There is a CMakeFiles.txt file in dev/so_5_extra subdirectory. To use so_5_extra write something like that in your project's CMakeFiles.txt:
find_package(so5extra CONFIG REQUIRED) target_link_libraries(your_target PRIVATE sobjectizer::so5extra)
Since v.1.2.0 so_5_extra requires SObjectizer v.5.5.23. Older versions of SObjectizer 5.5 are not supported because of use of new SObjectizer API introduced in v.5.5.23.
Class so_5::extra::mboxes::proxy::simple_t is added. This class simplifies development of custom mboxes in cases when main mbox's work can be delegated to some existing mbox.
Namespace so_5::extra::revocable_msg added. This namespace contains several send() functions for sending revocable messages.
Namespace so_5::extra::revocable_timer added. This namespace contains various send_delayed() and send_periodic() functions for working with revocable timer messages.
Namespace so_5::extra::enveloped_msg added. This namespace contains various stuff for working with enveloped messages introduced in SObjectizer v.5.5.23. For example there is so_5::extra::enveloped_msg::time_limited_delivery_t envelope for delivery message/signal with a deadline.
Since v.1.1.0 so_5_extra requires SObjectizer v.5.5.22. Older versions of SObjectizer 5.5 are not supported because of changes in SObjectizer v.5.5.22.
Implementation of "async operation" added in form of so_5::extra::async_op::time_unlimited::make() and so_5::extra::async_op::time_limited::make() functions and related classes.
Since v.1.0.4 so_5_extra requires SO-5.5.21 as minimal SObjectizer's version.
Implementation of retained_msg mbox is added. Retained message mbox related stuff live in so_5::extra::mboxes::retained_msg namespace.
Implementation of single-thread and thread-safe environment infrastructure on top of Asio. A new namespace so_5::extra::env_infrastructures::asio::simple_mtsafe is added. New example resolve_interactive is added.
Implementation of collecting mbox is added. Collecting mbox related stuff live in so_5::extra::mboxes::collecting_mbox namespace. See the main template class so_5::extra::mboxes::collecting_mbox::mbox_template_t for more details.
Since v.1.0.1 so_5_extra required SO-5.5.19.3 as minimal SObjectizer's version.