Copyright (c) 2020, Joakim Brännström. All rights reserved.
Authors
Joakim Brännström (joakim.brannstrom@gmx.com)
The design is derived from C++ Actor Framework (CAF).
Actors are always allocated with a control block that stores its identity
When allocating a new actor, CAF will always embed the user-defined actor in an
actor_storage with the control block prefixing the actual actor type, as
shown below.
+----------------------------------------+
| storage!T |
+----------------------------------------+
| +-----------------+------------------+ |
| | control block | data!T | |
| +-----------------+------------------+ |
| | actor ID | mailbox | |
| | node ID | . | |
| +-----------------+------------------+ |
+----------------------------------------+