From 9279f3ce3e42444191208b8e6f75377b2895adf1 Mon Sep 17 00:00:00 2001
From: Maxim Fedorov
Defaults to
Starts the default
Defaults to
This module implements process groups. A message can be sent + to one, some, or all group members.
+A group of processes can be accessed by a common name. For
+ example, if there is a group named
If a member terminates, it is automatically removed from the group.
+ +A process may join multiple groups. It may join the same group multiple times. + It is only allowed to join processes running on local node. +
+ +Process Groups implement strong eventual consistency.
+ Unlike
Membership view is not transitive. If
Groups are automatically created when any process joins, + and are removed when all processes leave the group. Non-existing group is + considered empty (containing no processes).
+ +Process groups can be organised into multiple scopes. Scopes are
+ completely independent of each other. A process may join any
+ number of groups in any number of scopes. Scopes are designed to
+ decouple single mesh into a set of overlay networks, reducing
+ amount of traffic required to propagate group membership
+ information. Default scope
+ Scope name is used to register process locally, and to name an ETS table. + If there is another process registered under this name, or another ETS table + exists, scope fails to start.
+Local membership is not preserved if scope process exits and
+ restarts. This behaviour is different from
+
The identifier of a process group.
Starts the default
Starts additional scope.
+Joins single process or multiple processes to the
+ group
Makes the process
When list of processes is passed as
Returns all processes running on the local node in the
+ group
Returns all processes in the group
Returns a list of all known groups.
+