Provides functionality to spawn and control child processes.
A child process.
Each child process maintains a list of the internal
asyncio.Server instances it utilises. Each child also maintains a list of all connections being managed by the child.
List of clients connected to this process.
Start the child process.
Stop the child process.
Mark the process as being stopped, closes each client connected via this child, cancels internal communication with the supervisor and finally stops the process and exits.
Handle heartbeat between a worker and child.
If a child process stops communicating with it’s worker, it will be killed, the worker managing it will also be removed and a new worker and child will be spawned.