qb
2.0.0.0
C++17 Actor Framework
|
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>
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. |
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.
http://www.apache.org/licenses/LICENSE-2.0
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.