Coder Social home page Coder Social logo

org-mars / actor-framework Goto Github PK

View Code? Open in Web Editor NEW

This project forked from actor-framework/actor-framework

0.0 1.0 0.0 32.75 MB

An Open Source Implementation of the Actor Model in C++

Home Page: http://actor-framework.org/

License: BSD 3-Clause "New" or "Revised" License

CMake 0.78% C++ 98.09% Shell 0.37% R 0.35% Python 0.37% Dockerfile 0.05%

actor-framework's Introduction

CAF: C++ Actor Framework

CAF is an open source implementation of the actor model for C++ featuring lightweight & fast actor implementations, pattern matching for messages, network transparent messaging, and more.

Gitter Jenkins Documentation Status Coverity

Online Resources

Report Bugs / Get Help

Community

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 Conan Center.

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

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
cd build
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. The latter can be achieved by calling

find_package(CAF REQUIRED)

in respective project's CMake file. CAF's install location (e.g. by providing the CMAKE_PREFIX_PATH option) has to be known.

Using SNocs

A SNocs workspace is provided by GitHub user osblinnikov and documented online.

Dependencies

  • CMake
  • Pthread (until C++11 compilers support the new thread_local keyword)

Supported Compilers

  • GCC >= 7
  • Clang >= 4
  • MSVC >= 2019

Supported Operating Systems

  • Linux
  • Mac OS X
  • FreeBSD 10
  • Windows >= 7 (currently static builds only)

Build Documentation Locally

  • Building an offline version of the manual requires Sphinx:
    cd manual
    sphinx-build . html
  • Building an offline version of the API reference documentation requires Doxygen (simply run the doxygen command at the root directory of the repository).

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.

actor-framework's People

Contributors

andrismednis avatar bedzior avatar cppphil avatar dominiklohmann avatar ffontaine avatar firegurafiku avatar hamdor avatar i-ky avatar inet-jenkins avatar ingerdev avatar jakobod avatar jokalode avatar josephnoir avatar jsiwek avatar lingxi-li avatar mavam avatar mephi42 avatar mroethke avatar neverlord avatar nq-ebaratte avatar outro56 avatar rkfg avatar rsmmr avatar sourcedelica avatar suadh avatar tobim avatar toffaletti avatar uentity avatar ufownl avatar woelke avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.