Releases: basiliscos/cpp-rotor
Releases · basiliscos/cpp-rotor
v0.34
0.34 (25-Mar-2025)
- [feature] improve c++20 support
- [workaround, fltk] more realiable message delivery for fltk backend. Fltk
might "forget" to invoke scheduledawakes
after shutdown process, which leads
to minor memory leaks - [cmake, breaking] use
CMAKE_CURRENT_SOURCE_DIR
instead ofCMAKE_SOURCE_DIR
- [cmake, breaking] configure option renamed
BUILD_BOOST_ASIO
=>ROTOR_BUILD_ASIO
- [cmake, breaking] configure option renamed
BUILD_WX
=>ROTOR_BUILD_WX
- [cmake, breaking] configure option renamed
BUILD_EV
=>ROTOR_BUILD_EV
- [cmake, breaking] configure option renamed
BUILD_FLTK
=>ROTOR_BUILD_FLTK
- [cmake, breaking] configure option renamed
BUILD_THREAD
=>ROTOR_BUILD_THREAD
- [cmake, breaking] configure option renamed
BUILD_DOC
=>ROTOR_BUILD_DOC
- [cmake, breaking] configure option renamed
BUILD_THREAD_UNSAFE
=>ROTOR_BUILD_THREAD_UNSAFE
- [cmake, new] configure option added
ROTOR_BUILD_TESTS
(instead ofENABLE_TESTING
)
v0.33
0.33 (26-Jan-2025)
- [cmake, bugfix, win32] add
ws2_32
lib for rotor_asion win32 build
v0.32
- [feature] added
make_routed_message()
free function.
The function is used for "synchronized" message post-processing, i.e. once a
message has been delivered and processed by all recipients (can be zero),
then it is routed to the specifed address to do cleanup.
Example:
- an db-actor and opens transaction and reads data (i.e. as
std::string_view
s, owned by db) - actors sends broadcast message to all interesting parties to deserialized data
- after the step 2 is finished the db-actor closes transaction and releases acquired resources.
The make_routed_message
is needed to perform recipient-agnostic 3rd step.
The alternative is to create a copy (snapshot) of data (i.e. std::string
instead of std::string_view
), but that seems redundant.
- [improvement, breaking] add
void*
parameter tomessage_visitor_t
v0.31
- [bugfix, fltk] more realiable message delivery for fltk backend
v0.30
- [feature] added fltk-backend
- [feature, conan]
enable_fltk
option which add fltk-support - [example] added
/examples/ping-pong-fltk.cpp
and
examples/ping-pong-fltk_and_thread.cpp
- [bugfix] wx-backend building and testing
- [improvement, breaking] output directories are set to
bin
for cmake - [improvement, breaking]
actor_base_t::make_error()
is marked as const
v0.29
0.29 (24-Feb-2024)
- [bugfix] fix segfault in delivery plugin in debugging mode
(try to set envROTOR_INSPECT_DELIVERY=99
to see)
v0.28
- [cmake, bugfix] add missing header into installation
v0.27
- [feature] new interface
message_visitor_t
- [feature] new interface
message_stringifier_t
and the default implementation
default_stringifier_t
which allows to dump messages. It is not a production but
a diagnostic/debug tool, due to performance restrictions. - [feature]
system_context_t
provides a reference to defaultmessage_stringifier_t
;
it is possible to have a custom one - [feature, breaking]
extended_error_t
holds a reference to a request message,
which caused an error - [examples, tests, win32] fix
ev
examples and tests - [example] modernize
examples/thread/sha512.cpp
to use recentopenssl
version - [breaking] cmake requirements are lowered to
3.15
- [breaking] fix minor compilation warnings
v0.26
- [feature]
start_timer
callback not only method, but any invocable - [feature, conan]
enable_ev
option which addlibev
- [breaking, conan]
boost
minimum version1.83.0
- [testing, conan] remove
catch2
from sources and make it dependencies - [bugfix, breaking] make plugins more dll-friendly
- [breaking]
cmake
minimum version3.23
- [breaking] rename
registry_t::revese_map_t revese_map
->registry_t::reverse_map_t reverse_map
- [breaking] rename struct
cancelation_t
->cancellation_t
- [doc] fix multiple typos
v0.25
- [bugfix] avoid response messages loose their order relative to regular message
- [bugfix, example] add missing header