Giter Site home page Giter Site logo

dilworm-zz / actor-framework Goto Github PK

View Code? Open in Web Editor NEW

This project forked from actor-framework/actor-framework

0.0 2.0 0.0 30.47 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 1.77% C++ 91.65% TeX 5.44% Makefile 0.06% Shell 0.33% R 0.76%

actor-framework's Introduction

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.

[Gitter] (https://gitter.im/actor-framework/chat) [Jenkins] (http://mobi39.cpt.haw-hamburg.de/view/CAF%20Dashboard) [Coverity] (https://scan.coverity.com/projects/5555) [In Progress] (https://waffle.io/actor-framework/actor-framework) [Fixed in Develop] (https://waffle.io/actor-framework/actor-framework)

On the Web

Get CAF

Linux Packages

We provide binary packages for several Linux distributions using the openSUSE Build Service. Please follow the linked installation guides below or alternatively visit our OBS project homepage: https://build.opensuse.org/package/show/devel:libraries:caf/caf

package description link
caf binaries only stable nightly
caf-devel binaries and headers stable nightly

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 development branch by using:

brew install caf --HEAD

Biicode

The official CAF channel is published under caf_bot/actor-framework and includes the following blocks:

  • libcaf_core
  • libcaf_io
  • libcaf_riac
  • libcaf_opencl (depends on OpenCL which is not distributed as part of CAF)

NOTE: You do not need to have CAF installed on your machine. Biicode will automatically do that for you during the build process. Visit this the bii guide for more information.

To use actor-framework in your project, reference the header file as: #include "caf_bot/actor-framework/libcaf_core/caf/all.hpp". Then run bii find to resolve and download the files and bii build to compile your code.

To avoid specifying the block name in your includes add the following to your bii.conf file to allow Biicode to associate all #include "caf/*.hpp" with the actor-framework block:

[includes]
  caf/riac/*.hpp : caf_bot/actor-framework/libcaf_riac
  caf/opencl/*.hpp : caf_bot/actor-framework/libcaf_opencl
  caf/io/*.hpp : caf_bot/actor-framework/libcaf_io
  caf/*.hpp : caf_bot/actor-framework/libcaf_core

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] (https://github.com/actor-framework/actor-framework/wiki/Configure-Options).

./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

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

Supported Compilers

  • GCC >= 4.8
  • Clang >= 3.2

Supported Operating Systems

  • Linux
  • Mac OS X
  • FreeBSD 10
  • Note for MS Windows: CAF relies on C++11 features such as variadic templates and unrestricted unions. We will support Visual Studio as soon as Microsoft's compiler implements all required C++11 features. In the meantime, you can use CAF via MinGW.

Scientific Use

If you use CAF in a scientific context, please use the following citation:

@inproceedings{chs-ccafs-14,
  author = {Dominik Charousset and Raphael Hiesgen and Thomas C. Schmidt},
  title = {{CAF - The C++ Actor Framework for Scalable and Resource-efficient Applications}},
  booktitle = {Proc. of the 5th ACM SIGPLAN Conf. on Systems, Programming, and Applications (SPLASH '14), Workshop AGERE!},
  month = {Oct.},
  year = {2014},
  publisher = {ACM},
  address = {New York, NY, USA},
  location = {Portland, OR},
}

You will find the paper online at http://dx.doi.org/10.1145/2687357.2687363

actor-framework's People

Contributors

1blankz7 avatar abigagli avatar adamcavendish avatar ajac avatar albertoma avatar artemgr avatar edwardcapriolo avatar firegurafiku avatar hamdor avatar inet-jenkins avatar j6lim avatar josephnoir avatar jsiwek avatar mavam avatar mephi42 avatar neverlord avatar nq-ebaratte avatar outro56 avatar photex avatar toffaletti avatar ufownl avatar

Watchers

 avatar  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.