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

Actor and core identification for the QB Actor Framework. More...

#include <algorithm>
#include <bitset>
#include <cstdint>
#include <limits>
#include <unordered_set>
#include <vector>
#include <qb/io.h>
#include <qb/system/container/unordered_set.h>
#include <qb/utility/build_macros.h>
#include <qb/utility/prefix.h>
Include dependency graph for ActorId.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  qb::CoreIdBitSet
 Efficient representation of a set of core IDs using a bitset. More...
class  qb::CoreIdBitSet::iterator
 Iterator for traversing set bits in a CoreIdBitSet. More...
class  qb::ActorId
 Unique identifier for actors. More...
class  qb::BroadcastId
 Specialized ActorId for broadcasting messages to all actors on a core. More...
struct  std::hash< qb::ActorId >
 Specialization of std::hash for qb::ActorId. More...

Typedefs

using qb::CoreId = uint16_t
 Type definition for core identifiers.
using qb::ServiceId = uint16_t
 Type definition for service identifiers.
using qb::TypeId = uint16_t
 Type definition for type identifiers.
using qb::EventId = TypeId
 Type definition for event identifiers.
using qb::CoreIdSet = CoreIdBitSet
 Efficient set implementation for storing CoreId values.
using qb::ActorIdList = std::vector<ActorId>
 List of actor identifiers.
using qb::ActorIdSet = std::unordered_set<ActorId>
 Set of unique actor identifiers.
using qb::core_id = CoreId
 Alias for CoreId.
using qb::service_id = ServiceId
 Alias for ServiceId.
using qb::actor_id = ActorId
 Alias for ActorId.
using qb::broadcast_id = BroadcastId
 Alias for BroadcastId.
using qb::actor_id_list = ActorIdList
 Alias for ActorIdList.
using qb::actor_is_set = ActorIdSet
 Alias for ActorIdSet.
using qb::core_id_set = CoreIdSet
 Alias for CoreIdSet.

Variables

constexpr size_t qb::MaxCores = 256
 Maximum number of cores supported in a system.

Detailed Description

Actor and core identification for the QB Actor Framework.

This file defines the core identification types and the ActorId class which is used for uniquely identifying actors within the QB Actor Framework. It provides types for core IDs, service IDs, and actor IDs, as well as utilities for set operations on collections of core IDs.

The ActorId is a compound identifier that includes both the core ID where an actor is located and a service ID that uniquely identifies the actor within that core.

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.