qb  2.0.0.0
C++17 Actor Framework
qb Issue Watch Star Fork Follow @isndev
Loading...
Searching...
No Matches
Main.h File Reference

Main control for the QB Actor Framework. More...

#include <condition_variable>
#include <qb/system/container/unordered_map.h>
#include <thread>
#include <vector>
#include <qb/system/lockfree/mpsc.h>
#include "CoreSet.h"
#include "Event.h"
Include dependency graph for Main.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  qb::CoreInitializer
 Handles pre-start configuration for a single VirtualCore. More...
class  qb::CoreInitializer::ActorBuilder
 Helper to fluently build multiple Actors for a CoreInitializer. More...
class  qb::SharedCoreCommunication
 Manages inter-core communication infrastructure (mailboxes). More...
struct  qb::CoreSpawnerParameter
 Internal structure for passing parameters to core spawning functions. More...
class  qb::Main
 The main controller for the QB Actor Framework engine. More...

Typedefs

using qb::CoreInitializerMap = qb::unordered_map<CoreId, CoreInitializer>
 Map of CoreId to CoreInitializer objects.
using qb::engine = Main
 Alias for the Main class.

Variables

constexpr const CoreId qb::NoAffinity = std::numeric_limits<CoreId>::max()
 Special constant indicating that no CPU affinity is desired.

Detailed Description

Main control for the QB Actor Framework.

This file defines the Main class which serves as the primary entry point and control mechanism for the QB Actor Framework. It provides functionality for initializing, configuring, and running the actor system, including management of virtual cores, actor creation, and system-wide signal handling.

The file also defines supporting classes such as CoreInitializer which handles per-core configuration, and SharedCoreCommunication which manages inter-core message passing.

Author
qb - C++ Actor Framework

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.