Skip to content

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

See 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

See ILLIXR::threadloop

Type Name
enum skip_option

Protected Attributes inherited from ILLIXR::threadloop

See 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

See 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