Author: eilemann@gmail.com
State:
- Implemented in 0.3
The following table lists the order of operations during eq::Config::init. The
same operation for different instances will happen in parallel when the
instances belong to different threads, e.g., all Pipe::configInit
are executed in parallel.
Operations for non-threaded
pipes are executed in the node thread immediately and in the app thread
during Config::finishInit
. The children for an entity are
initialized before the next sibling of the entity is initialized, e.g,
the Channel::configInit
task methods for all channels of a window
are called before the next Window::configInit
is executed.
App thread | Node thread(s) | Pipe thread(s) |
---|---|---|
Config::init | ||
Config::Config | ||
Node::Node | ||
Node::configInit | ||
Pipe::Pipe | ||
Pipe::configInit | ||
Window::Window | ||
Window::configInit | ||
Channel::Channel | ||
Channel::configInit | ||
Config::init returns | ||
Config::exit | ||
Channel::configExit | ||
Window::configExit | ||
Pipe::configExit | ||
Node::configExit | ||
Channel::~Channel | ||
Window::~Window | ||
Pipe::~Pipe | ||
Node::~Node | ||
Config::~Config | ||
Config::exit returns | ||
Open Issues
Config::exit
should also be separated into startExit
and finishExit
. This will be implemented as soon as it is needed.