CAF: C++ Actor Framework
source link: https://github.com/actor-framework/actor-framework
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
CAF: C++ Actor Framework
CAF is an open source C++11 actor model implementation featuring lightweight & fast actor implementations, pattern matching for messages, network transparent messaging, and more.
Online Resources
- Homepage : http://www.actor-framework.org
- Developer Blog : http://blog.actor-framework.org
- Doxygen : http://www.actor-framework.org/doc
- HTML Manual : https://actor-framework.readthedocs.io
- PDF Manual : http://www.actor-framework.org/pdf/manual.pdf
Report Bugs / Get Help
- Open Issues on GitHub : https://github.com/actor-framework/actor-framework/issues/new
- Ask Questions on StackOverflow : https://stackoverflow.com/questions/ask?tags=c%2b%2b-actor-framework
Community
- Chat : https://gitter.im/actor-framework/chat
- Twitter : https://twitter.com/actor_framework
- User Mailing List : https://groups.google.com/d/forum/actor-framework
- Developer Mailing List : https://groups.google.com/d/forum/caf-devel
- Feature Proposals : https://github.com/actor-framework/evolution
Get CAF
FreeBSD Ports
We maintain a port for CAF, which you can install as follows:
pkg install caf
Alternatively, you can go to /usr/ports/devel/caf
and tweak a few configuration options before installing the port:
make config make install clean
Homebrew
You can install the latest stable release with:
brew install caf
Alternatively, you can use the current development version by using:
brew install caf --HEAD
Conan
A Conan recipe for CAF along with pre-built libraries for most platforms are available at bincrafters/caf .
VCPKG
You can build and install CAF using vcpkg dependency manager with a single command:
vcpkg install caf
The caf port in vcpkg is kept up to date by Microsoft team members and community contributors.
Get the Sources
- git clone https://github.com/actor-framework/actor-framework.git
- cd actor-framework
Build CAF from Source
The easiest way to build CAF is to use the configure
script. Other available options are using CMake directly or SNocs .
Using the configure
Script
The script is a convenient frontend for CMake
. See configure -h
for a list of available options or read the online documentation .
./configure make make test make install [as root, optional]
Using CMake
All available CMake variables are available online . CAF also can be included as CMake submodule or added as dependency to other CMake-based projects using the file cmake/FindCAF.cmake
.
Using SNocs
A SNocs workspace is provided by GitHub user osblinnikov and documented online .
Dependencies
thread_local
Supported Compilers
- GCC >= 7
- Clang >= 4
- MSVC >= 2019
Supported Operating Systems
- Linux
- Mac OS X
- FreeBSD 10
- Windows >= 7 (currently static builds only)
Optional Dependencies
doxygen manual
Build the Manual
CAF uses Sphinx :
cd manual sphinx-build . html
Scientific Use
If you use CAF in a scientific context, please use one of the following citations:
@inproceedings{cshw-nassp-13, author = {Dominik Charousset and Thomas C. Schmidt and Raphael Hiesgen and Matthias W{\"a}hlisch}, title = {{Native Actors -- A Scalable Software Platform for Distributed, Heterogeneous Environments}}, booktitle = {Proc. of the 4rd ACM SIGPLAN Conference on Systems, Programming, and Applications (SPLASH '13), Workshop AGERE!}, pages = {87--96}, month = {Oct.}, year = {2013}, publisher = {ACM}, address = {New York, NY, USA} } @article{chs-rapc-16, author = {Dominik Charousset and Raphael Hiesgen and Thomas C. Schmidt}, title = {{Revisiting Actor Programming in C++}}, journal = {Computer Languages, Systems \& Structures}, volume = {45}, year = {2016}, month = {April}, pages = {105--131}, publisher = {Elsevier} }
You can find the papers online at http://dx.doi.org/10.1145/2541329.2541336 and http://dx.doi.org/10.1016/j.cl.2016.01.002 .
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK