All Projects → cyberduckninja → Actor Zeta

cyberduckninja / Actor Zeta

Licence: bsd-3-clause
Library that provides an actor style message-passing programming model (in C++).

Projects that are alternatives of or similar to Actor Zeta

Actor4j Core
Actor4j is an actor-oriented Java framework. Useful for building lightweighted microservices (these are the actors themselves or groups of them). Enhanced performance of message passing.
Stars: ✭ 48 (+41.18%)
Mutual labels:  actor-model, message-passing
So 5 5
SObjectizer: it's all about in-process message dispatching!
Stars: ✭ 87 (+155.88%)
Mutual labels:  actor-model, message-passing
Sobjectizer
An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. With performance, quality, and stability proved by years in the production.
Stars: ✭ 172 (+405.88%)
Mutual labels:  actor-model, message-passing
Minecraftdev
Plugin for IntelliJ IDEA that gives special support for Minecraft modding projects.
Stars: ✭ 645 (+1797.06%)
Mutual labels:  jetbrains
Lucario
The best flat theme for Vim, Atom, Sublime Text, Jetbrains Editors, Terminal.app, iTerm, Xcode and XTerm
Stars: ✭ 711 (+1991.18%)
Mutual labels:  jetbrains
Nact
nact ⇒ node.js + actors ⇒ your services have never been so µ
Stars: ✭ 848 (+2394.12%)
Mutual labels:  actor-model
Pycos
Concurrent, Asynchronous, Distributed, Communicating Tasks with Python
Stars: ✭ 30 (-11.76%)
Mutual labels:  message-passing
Idea Markdown
Markdown language support for IntelliJ IDEA (abandonned).
Stars: ✭ 604 (+1676.47%)
Mutual labels:  jetbrains
Intellij Sdk Docs
IntelliJ SDK Platform Documentation
Stars: ✭ 913 (+2585.29%)
Mutual labels:  jetbrains
Runconfigurationasaction
Provides a way to use IntelliJ run configurations as buttons
Stars: ✭ 17 (-50%)
Mutual labels:  jetbrains
Bank Transactions
An Elixir project to make bank transactions using the actor model
Stars: ✭ 6 (-82.35%)
Mutual labels:  actor-model
Riker
Easily build efficient, highly concurrent and resilient applications. An Actor Framework for Rust.
Stars: ✭ 745 (+2091.18%)
Mutual labels:  actor-model
Mruby Actor
A actor library for distributed mruby
Stars: ✭ 11 (-67.65%)
Mutual labels:  actor-model
Docker Jetbrains License Server
JetBrains License Server Docker image
Stars: ✭ 699 (+1955.88%)
Mutual labels:  jetbrains
Pykka
🌀 Pykka makes it easier to build concurrent applications.
Stars: ✭ 944 (+2676.47%)
Mutual labels:  actor-model
Intellij Jvm Options Explained
Common JVM options used with Intellij and what they do
Stars: ✭ 636 (+1770.59%)
Mutual labels:  jetbrains
Akka Bootcamp
Self-paced training course to learn Akka.NET fundamentals from scratch
Stars: ✭ 880 (+2488.24%)
Mutual labels:  actor-model
Citybound
A work-in-progress, open-source, multi-player city simulation game.
Stars: ✭ 6,646 (+19447.06%)
Mutual labels:  actor-model
Idea Php Symfony2 Plugin
IntelliJ IDEA / PhpStorm Symfony Plugin
Stars: ✭ 797 (+2244.12%)
Mutual labels:  jetbrains
Os2
x86_64 OS kernel with completely async userspace and single address space [WIP; but basic kernel functionality implemented]
Stars: ✭ 25 (-26.47%)
Mutual labels:  message-passing

Build Status

actor-zeta

actor-zeta is an open source C++11/14/17 virtual actor model implementation featuring lightweight & fast and more.

Example

class method mode


#include <actor-zeta/core.hpp>

using actor_zeta::basic_async_actor;

class key_value_storage_t final : public basic_async_actor {
public:
    explicit key_value_storage_t(dummy_supervisor &ref) : basic_async_actor(ref, "storage") {

        add_handler(
                "init",
                &key_value_storage_t::init
        );

        add_handler(
                "search",
                &key_value_storage_t::search
        );

        add_handler(
                "add",
                &key_value_storage_t::add
        );

    }

    ~key_value_storage_t() override = default;

    void init() {
       /// ...
    }

private:

    void search(std::string &key) {
        /// ...
    }

    void add(const std::string &key, const std::string &value) {
        /// ...
    }
    
};

lambda mode


#include <actor-zeta/core.hpp>

using actor_zeta::basic_async_actor;

class storage_t final : public basic_async_actor {
public:
    storage_t() : basic_async_actor(nullptr, "storage") {
        add_handler(
                "update",
                [](storage_t & /*ctx*/, query_t& query) -> void {}
        );

        add_handler(
                "find",
                [](storage_t & /*ctx*/, query_t& query) -> void {}
        );

        add_handler(
                "remove",
                [](storage_t & /*ctx*/, query_t& query) -> void {}
        );
    }

    ~storage_t() override = default;
};

For Users

Add the corresponding remote to your conan:

    conan remote add jinncrafters https://api.bintray.com/conan/jinncrafters/conan

Basic setup

    $ conan install actor-zeta/[email protected]/stable

Project setup

If you handle multiple dependencies in your project is better to add a conanfile.txt

[requires]
actor-zeta/[email protected]/stable

[generators]
cmake

Dependencies

  • CMake >= 2.8

Supported Compilers

  • GCC >= 4.8.5
  • Clang >= 3.3
  • Microsoft Visual Studio >= 2015

Supported Operating Systems

  • Linux
  • Mac OS X
  • FreeBSD 10
  • Windows >= 7 (static builds)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].