Class ILLIXR::lighthouse
ClassList > ILLIXR > lighthouse
#include <plugin.hpp>
Inherits the following classes: ILLIXR::threadloop
Public Functions
| Type | Name |
|---|---|
| lighthouse (const std::string & name_, phonebook * pb_) |
|
| virtual void | stop () override A method which Spindle calls when it stops the component. |
| ~lighthouse () override |
Public Functions inherited from ILLIXR::threadloop
| Type | Name |
|---|---|
| virtual void | internal_stop () Stops the thread. |
| virtual void | start () override Starts the thread. |
| virtual void | stop () override Joins the thread. |
| threadloop (const std::string & name, phonebook * pb) |
|
| ~threadloop () override |
Public Functions inherited from ILLIXR::plugin
See ILLIXR::plugin
| Type | Name |
|---|---|
| std::string | get_name () noexcept const |
| plugin (std::string name, phonebook * pb) |
|
| void | spd_add_file_sink (const std::string & file_name, const std::string & extension, const std::string & log_level) |
| auto | spdlogger (const char * log_level) |
| virtual void | start () A method which Spindle calls when it starts the component. |
| virtual void | stop () A method which Spindle calls when it stops the component. |
| virtual | ~plugin () = default |
Protected Types inherited from ILLIXR::threadloop
| Type | Name |
|---|---|
| enum | skip_option |
Protected Attributes inherited from ILLIXR::threadloop
| Type | Name |
|---|---|
| std::size_t | iteration_no = 0 |
| std::size_t | skip_no = 0 |
Protected Attributes inherited from ILLIXR::plugin
See ILLIXR::plugin
| Type | Name |
|---|---|
| const std::size_t | id_ |
| std::string | name_ |
| const phonebook * | phonebook_ |
| std::shared_ptr< spdlog::logger > | plugin_logger_ |
| const std::shared_ptr< record_logger > | record_logger_ |
Protected Functions
| Type | Name |
|---|---|
| virtual void | _p_one_iteration () override Override with the computation the thread does every loop. |
| virtual skip_option | _p_should_skip () override Gets called in a tight loop, to gate the invocation of _p_one_iteration() __ |
| virtual void | _p_thread_setup () override Gets called at setup time, from the new thread. |
Protected Functions inherited from ILLIXR::threadloop
| Type | Name |
|---|---|
| virtual void | _p_one_iteration () = 0 Override with the computation the thread does every loop. |
| virtual skip_option | _p_should_skip () Gets called in a tight loop, to gate the invocation of _p_one_iteration() __ |
| virtual void | _p_thread_setup () Gets called at setup time, from the new thread. |
| bool | should_terminate () Whether the thread has been asked to terminate. |
Protected Static Functions
| Type | Name |
|---|---|
| void | process_slow_pose (SurviveObject * so, survive_long_timecode timecode, const SurvivePose * pose) |
Public Functions Documentation
function lighthouse
ILLIXR::lighthouse::lighthouse (
const std::string & name_,
phonebook * pb_
)
function stop
A method which Spindle calls when it stops the component.
virtual void ILLIXR::lighthouse::stop () override
This is necessary because the parent class might define some actions that need to be taken prior to destructing the derived class. For example, threadloop must halt and join the thread before the derived class can be safely destructed. However, the derived class's destructor is called before its parent (threadloop), so threadloop doesn't get a chance to join the thread before the derived class is destroyed, and the thread accesses freed memory. Instead, we call plugin->stop manually before destroying anything.
Concrete plugins are responsible for initializing their specific logger and sinks.
Implements ILLIXR::plugin::stop
function ~lighthouse
ILLIXR::lighthouse::~lighthouse () override
Protected Functions Documentation
function _p_one_iteration
Override with the computation the thread does every loop.
virtual void ILLIXR::lighthouse::_p_one_iteration () override
This gets called in rapid succession.
Implements ILLIXR::threadloop::_p_one_iteration
function _p_should_skip
Gets called in a tight loop, to gate the invocation of _p_one_iteration() __
inline virtual skip_option ILLIXR::lighthouse::_p_should_skip () override
Implements ILLIXR::threadloop::_p_should_skip
function _p_thread_setup
Gets called at setup time, from the new thread.
virtual void ILLIXR::lighthouse::_p_thread_setup () override
Implements ILLIXR::threadloop::_p_thread_setup
Protected Static Functions Documentation
function process_slow_pose
static void ILLIXR::lighthouse::process_slow_pose (
SurviveObject * so,
survive_long_timecode timecode,
const SurvivePose * pose
)
The documentation for this class was generated from the following file /home/friedel/devel/ILLIXR/illixr_release/ILLIXR/plugins/lighthouse/plugin.hpp