-
-
Notifications
You must be signed in to change notification settings - Fork 11
Home
High-Performance C++17 Actor Framework for Concurrent & Distributed Systems
The QB Actor Framework is a modern C++17 library designed for building high-performance, scalable, and robust concurrent and distributed applications. It leverages the Actor Model paradigm and an efficient Asynchronous I/O foundation (qb-io
) to simplify the development of complex systems.
QB provides developers with tools to manage concurrency through isolated actors and asynchronous message passing, while handling low-level I/O and system details efficiently.
Target Audience: Experienced C++ developers familiar with concurrency concepts, asynchronous programming, and system design.
QB is built upon principles designed for performance and maintainability in concurrent environments:
- Actor Model: State encapsulation and asynchronous message passing as the primary means of interaction, reducing complexity associated with shared state and locking. (Read More)
-
Asynchronous I/O: Non-blocking, event-driven I/O for high throughput and responsiveness, managed by the
qb-io
layer. (Read More) - Performance: Emphasis on multi-core scalability, efficient messaging (including lock-free mechanisms), and low-overhead abstractions. (Read More)
The framework consists of two main libraries:
-
qb-io
: The foundational asynchronous I/O and utilities library. It can be used standalone. -
qb-core
: The actor engine, built uponqb-io
, providing the actor implementation, scheduling, and messaging.
+---------------------+ +----------------------+
| Your Application | | Framework Examples |
+----------^----------+ +----------^-----------+
| |
| Uses | Uses
v v
+-----------------------------------------------------+
| qb-core |
| (qb::Actor, qb::Main, qb::VirtualCore, qb::Event)|
+--------------------------^--------------------------+
|
| Depends on / Integrates with
v
+-----------------------------------------------------+
| qb-io |
| (async::io, transports, protocols, crypto, utils) |
+-----------------------------------------------------+
|
| Uses / Abstracts
v
+-----------------------------------------------------+
| System (libev, Sockets, Files, OS) |
+-----------------------------------------------------+
This documentation provides a comprehensive guide to the QB framework:
- Introduction: Detailed overview and core design philosophy.
- Core Concepts: Fundamental ideas behind the framework (Actors, Events, Async IO, Concurrency).
- QB-IO Module: Deep dive into the asynchronous I/O library.
- QB-Core Module: Detailed exploration of the actor engine.
-
Core & IO Integration: How actors utilize
qb-io
features, with example analysis. - Guides: Practical tutorials and pattern implementations.
- Reference: Build system, testing procedures, and API summaries.
New Users: Start with the Getting Started Guide.
QB Actor Framework is licensed under the Apache License, Version 2.0.