Behaviours: supervisor.
Supervisor for Machi FLU servers and their related support servers.
Our parent supervisor, machi_flu_sup
, is responsible for
managing FLUs as a single entity. However, the actual
implementation of a FLU includes three major Erlang processes (not
including support/worker procs): the FLU itself, the FLU's
projection store, and the FLU's local chain manager. This
supervisor is responsible for managing those three major services
as a single "package", to be started & stopped together.
The illustration below shows the OTP process supervision tree for
the Machi application. Two FLUs are running, called a
and b
.
The chain is configured for a third FLU, c
, which is not running
at this time.
a
.
a_pstore
.
a_chmgr
. The three
linked subprocesses are long-lived machi_proxy_flu1_client
processes for communicating to all
chain participants' projection stores (including the local
store a_pstore
).
a_listener
, which is responsible for
listening on a TCP socket and creating new connections.
Currently, each listener has two processes handling incoming
requests, one from each chain manager proxy.
a
and a_listener
does
not have a registered name.
init/1 | |
make_mgr_supname/1 | |
make_p_regname/1 | |
make_package_spec/4 | |
make_proj_supname/1 | |
start_flu_package/4 | |
start_link/4 | |
stop_flu_package/1 |
init(X1) -> any()
make_mgr_supname(MgrName) -> any()
make_p_regname(FluName) -> any()
make_package_spec(FluName, TcpPort, DataDir, Props) -> any()
make_proj_supname(ProjName) -> any()
start_flu_package(FluName, TcpPort, DataDir, Props) -> any()
start_link(FluName, TcpPort, DataDir, Props) -> any()
stop_flu_package(FluName) -> any()
Generated by EDoc, May 20 2015, 12:50:53.