# Module supervisor_cpg

- Description
- Function Index
- Function Details

### CPG Supervisor.

Can provide process migration after a failure, or simply load balancing for a supervisor. Use as an interface, not a behaviour (i.e., it is just a supervisor you can call functions on). cpg_supervisor only provides the one_for_one supervisor strategy to avoid complexity.

Meant to provide better functionality than: https://github.com/jbrisbin/rabbit_common/blob/master/src/mirrored_supervisor.erl (mnesia is avoided and state is minimized).

Copyright © 2013-2017 Michael Truog

Version: 1.7.1 Nov 26 2020 15:22:42 ------------------------------------------------------------------------

Behaviours: `supervisor`.

Authors: Michael Truog (`mjtruog at protonmail dot com`).

## Description

### CPG Supervisor.

Can provide process migration after a failure, or simply load balancing for a supervisor. Use as an interface, not a behaviour (i.e., it is just a supervisor you can call functions on). cpg_supervisor only provides the one_for_one supervisor strategy to avoid complexity.

Meant to provide better functionality than: https://github.com/jbrisbin/rabbit_common/blob/master/src/mirrored_supervisor.erl (mnesia is avoided and state is minimized)

## Function Index

check_childspecs/1 |
count_children/1 |
delete_child/2 |
init/1 |
restart_child/2 |
start_child/2 |
start_link/3 |
start_link/4 |
start_nomad_child/4 |
start_remote_child/2 |
terminate_child/2 |
which_children/1 |

## Function Details

### check_childspecs/1

`check_childspecs(ChildSpecs) -> any()`

### count_children/1

`count_children(Name) -> any()`

### delete_child/2

`delete_child(Name, Id) -> any()`

### init/1

`init(X1) -> any()`

### restart_child/2

`restart_child(Name, Id) -> any()`

### start_child/2

`start_child(Name, ChildSpec) -> any()`

### start_link/3

`start_link(Name, MaxR, MaxT) -> any()`

### start_link/4

`start_link(Name, MaxR, MaxT, ChildSpecs) -> any()`

### start_nomad_child/4

`start_nomad_child(Name, MaxR, MaxT, ChildSpec) -> any()`

### start_remote_child/2

`start_remote_child(Name, ChildSpec) -> any()`

### terminate_child/2

`terminate_child(Name, Id) -> any()`

### which_children/1

`which_children(Name) -> any()`

Generated by EDoc