Skip to content

Repository files navigation

Actor System Lab — C++

An experimental C++ actor-system project exploring message-driven concurrency, bounded mailboxes, actor lifecycle management, failure recovery, scheduling, logging, and tracing.

Project status

This is a learning and experimentation repository, not a production-ready actor framework.

The repository was extracted from a larger collection of C++ practice projects while preserving its original development history.

Current implementations

  • actor_model.h — actor-per-dispatcher-thread implementation.
  • actor_model_threadpool_version.h — unfinished experiment exploring shared thread-pool scheduling for actors.
  • actor_model_logger_tracer.h — experimental event logging and tracing support.
  • actor_model_test.cpp — test and demonstration program from the original development work.

The thread-pool-based version is retained as historical experimental code. Its legacy thread-pool dependency has not been integrated into this repository and it should not currently be treated as a supported build target.

Queue dependency

Actor mailboxes use the bounded MPMC queue from Concurrent-Queues-Lab-cpp.

The queue repository is included as a pinned Git submodule.

Clone with submodules:

git clone --recurse-submodules \
    git@github.com:firefly24/Actor-System-Lab-cpp.git
    
    

For an existing clone:

git submodule update --init --recursive

Design and investigation notes

  • design_draft.md records the evolving architecture and design decisions.
  • progress.md records development progress and encountered problems.
  • visual_tracer_prog.py is an experimental trace-visualization utility.
  • The included images preserve profiling and debugging observations from the original experiments.

Build status

The historical source and dependency structure have been preserved, but the project has not yet been revalidated as a clean standalone build following the repository extraction.

About

An experimental C++ actor-system lab exploring bounded mailboxes, actor lifecycle, failure recovery, scheduling, tracing, and concurrency design.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages