C++ Actor Framework — Dev Blog

An Open Source implementation of the actor model in C++

Version 0.15.1 Released!

Version 0.15.1 of CAF has just released. This patch removes the non-null guarantee on actor handles. While the non-null guarantee is a nice property and allows for cleaner code in some parts in CAF, the absence of a default constructor puts obstacles in the way of developers trying to port from earlier version of CAF. Also, using actor handles in containers or optional was painful. Sending messages to invalid handles is a no-op, no checking by the user required.

Further changes:

  • Fix handling of integer types in actor_system_config for custom parameters
  • Fix a possible race when spawning function-based actors
  • Avoid ambiguous overload with inspect() when serializing/deserializing
  • Deprecate .unsafe() (simply use bool conversion instead)
  • Fix spawn_in_group<T>
  • Fix a bug that matched any atom when querying type-erased tuple directly
  • Remove all try/catch blocks when compiling CAF with CAF_NO_EXCEPTIONS
  • Mark optional<T>'s move ctor/assignment noexcept if noexcept in T