A small, mature C++ framework implementing Actor, Publish-Subscribe, and CSP models to simplify concurrent and multithreaded application development.
SObjectizer is a C++ framework that implements the Actor, Publish-Subscribe, and CSP concurrency models in a single, lightweight library. It simplifies building concurrent and multithreaded applications by abstracting message passing, agent coordination, and state management, reducing the complexity of low-level threading primitives.
C++ developers building concurrent systems such as proxy servers, control systems, message brokers, or database servers, where task coordination and message-driven architecture are critical.
Developers choose SObjectizer for its unique blend of three concurrency models in one stable, production-tested framework, offering a small codebase without external dependencies and decades of refinement for real-world use.
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.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
With development since 2002 and careful handling of breaking changes, SObjectizer is trusted in business-critical applications, ensuring long-term reliability.
Combines Actor, Publish-Subscribe, and CSP channels in a single framework, allowing developers to switch between abstractions based on needs without external libraries.
Runs on Windows, Linux, macOS, FreeBSD, and Android with no external dependencies, making deployment easy in diverse environments with a minimal footprint.
Offers tunable dispatchers to bind agents to different threads or execution contexts, simplifying concurrency optimization for specific workloads.
Limited to in-process communication; distributed applications require additional tools like the experimental mosquitto_transport, increasing integration effort.
Standard builds rely on Ruby and Mxx_ru, which are uncommon in C++ ecosystems, or CMake with specific configurations, posing a setup hurdle for some teams.
Advanced features such as Asio-based dispatchers and synchronous requests are housed in the separate so5extra project, necessitating extra dependencies and management.