Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

BOOST/STD/AKKA: How do I do actor programming in C++?

(Question and description rephrased so as to be S.O. compatible)

It is strange that C++ has no widely-adopted, peer-reviewed actor model library yet (on the order of BOOST and STD). I see Theron, but it looks like a man and his code: no matter how good it is, it is not something I would want production code to rely on.

Thus, how do I do Actor Model programming in C++ without having to use unproven libraries? Which BOOST classes should I use?

Note: I am asking this in the face of one or two previous questions on S.O. that show up when one searches for "actor C++" because they had little or no traction. For SEE SHARP, there is this thread But for C++, even the one question that got medium traction this guy, a question from FIVE YEARS AGO was answered with a pointer to a dead link!

like image 372
Mark Gerolimatos Avatar asked Jan 24 '14 21:01

Mark Gerolimatos


2 Answers

libcppa can be a good choice. Looks better than Theron (which seems to be dead -- the author didn't respond to my email about a bug I've found). Also, there's a "fork" of libcppa named Boost.Actor from the same author here. So hopefully in a couple of years we'll have a proper well-tested peer-reviewed actor implementation in Boost :)

like image 84
Dmitry Sobinov Avatar answered Sep 29 '22 08:09

Dmitry Sobinov


The lack of an answer by now seems to imply that there is as of 2014 no strongly peer-reviewed Actor system in platform-independent C++.

If you're using Microsoft VS, you can use the Microsoft Asynchronous Agents library

There is also the Intel TBB FlowGraph library, but global availability seems questionable, so it is unclear as to how well it would work on Android/Exynos/Snapdragon/etc or iOS/armv systems. See this question.

like image 45
Mark Gerolimatos Avatar answered Sep 29 '22 07:09

Mark Gerolimatos