rotor
Event loop friendly C++ actor micro-framework
 
Loading...
Searching...
No Matches
rotor::address_t Struct Reference

Message subscription and delivery point. More...

#include <address.hpp>

Inheritance diagram for rotor::address_t:

Public Member Functions

 address_t (const address_t &)=delete
 
 address_t (address_t &&)=delete
 
bool operator== (const address_t &other) const noexcept
 returns true if two addresses are the same, i.e. are located in the same memory region
 
bool same_locality (const address_t &other) const noexcept
 compares locality fields of the addresses
 

Public Attributes

supervisor_tsupervisor
 reference to supervisor_t, which generated the address
 
const void * locality
 runtime label, describing some execution group
 

Friends

struct supervisor_t
 

Detailed Description

Message subscription and delivery point.

Address is an abstraction of "point of service", i.e. any actor can send an message to an address, and any actor can subscribe on any address to handle certain kind of messages.

An actor has "main" address, and in addition it may have "virtual" private addresses to perform routing messages for the specific methods.

Addresses are produced by supervisor_t, which also is responsible for initial delivery of messages on the address. Address lifetime should be no longer then corresponding supervisor lifetime.

Addresses are non-copyable and non-moveable. The constructor is private and it is intended to be created by supervisor only.


The documentation for this struct was generated from the following file: