Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

137 lines (104 sloc) 4.657 kb

Version 0.5.1


  • New class response_handle, allowing actors to reply to message later on

Version 0.5


  • New logging facility
    • must be enabled using --with-cppa-log-level=LEVEL (TRACE-ERROR)
    • --enable-debug also enables ERROR log level implicitly
    • output files are named libcppa_PID_TIMESTAMP.log
    • log format is Log4j-like
  • New middleman (MM) architecture
    • MM multiplexes sockets but no longer knows communication internas
    • new protocol interface encapsulates any communication
    • users can add new communication protocols to MM
    • previously used binary protocol is not called 'DEFAULT'
    • MM provides run_later function to hook code into MM event-loop
  • New class: weak_intrusive_ptr
    • ref_counted has protected destructor to enforce use of request_deletion
    • default request_deletion calls delete
    • enable_weak_ptr_mixin overrides request_deletion to invalidate weak ptrs
  • Fixed issue #75: peers hold weak pointers to proxies (breaks cyclic refs)
  • actor_companion_mixin allows non-actor classes to communicate as/to actors
  • actor_proxy became an abstract class; must be implemented for each protocol
  • Removed global proxy cache singleton
  • actor_addressing manages proxies; must be implemented for each protocol
  • New factory function: make_counted (similar to std::make_shared)
  • Bugfix: reply matches correct message on nested receives

Version 0.4.2


  • Refactored announce
    • accept recursive containers, e.g., vector<vector<double>>
    • allow user-defined types as members of announced types
    • all-new, policy-based implementation
  • Use poll rather than select in middleman (based on the patch by ArtemGr)

Version 0.4.1


  • Bugfix: shutdown caused segfault if no scheduler or middleman was started

Version 0.4


  • New network layer implementation
  • Added acceptor and input/output stream interfaces
  • Added overload for publish and remote_actor using the new interfaces
  • Changed group::add_module to take unique_ptr rather than a raw pointer
  • Refactored serialization process for group_ptr
  • Changed anyonymous groups to use the implementation of the "local" module
  • Added scheduled_and_hidden policy for system-internal, event-based actors
  • Enabled serialization of floating point values
  • Added shutdown function
  • Implemented broker-based forwarding of local groups for 'pseudo multicast'
  • Added then and await member functions to message_future
  • Do not send more than one response message with reply

Version 0.3.3


  • Bugfix: serialize message id for synchronous messaging
  • Added macro to unit_testing/CMakeLists.txt for less verbose CMake setup
  • Added function "forward_to" to enable transparent forwarding of sync requests
  • Removed obsolete files (gen_server/* and queue_performances/*)
  • Bugfix: avoid possible stack overflow in debug mode for test__spawn
  • Added functions "send_tuple", "sync_send_tuple" and "reply_tuple"
  • Let "make" fail on first error in dual-build mode
  • Added rvalue overload for receive_loop
  • Added "delayed_send_tuple" and "delayed_reply_tuple"

Version 0.3.2


  • Bugfix: added 'bool' to the list of announced types

Version 0.3.1


  • Bugfix: always return from a synchronous handler if a timeout occurs
  • Bugfix: request next timeout after timeout handler invocation if needed

Version 0.3


  • Implemented synchronous messages
  • The function become() no longer accepts pointers
  • Provide --disable-context-switching option to bypass Boost.Context if needed
  • Configure script to hide CMake details behind a nice interface
  • Include "tuple_cast.hpp" in "cppa.hpp"
  • Added forwarding header "cppa_fwd.hpp"
  • Allow raw read & write operations in synchronization interface
  • Group subscriptions are no longer attachables

Version 0.2.1


  • More efficient behavior implementation
  • Relaxed definition of become to accept const lvalue references as well

Version 0.2


  • Removed become_void [use quit instead]
  • Renamed future_send to delayed_send
  • Removed stacked_actor; moved functionality to event_based_actor
  • Renamed fsm_actor to sb_actor
  • Refactored spawn: spawn(new T(...)) => spawn<T>(...)
  • Implemented become & unbecome for context-switching & thread-mapped actors
  • Moved become & unbecome to local_actor
  • Ported libcppa from <ucontext.h> to Boost.Context library
Jump to Line
Something went wrong with that request. Please try again.