Class ILLIXR::offload_rendering_server_loader
ClassList > ILLIXR > offload_rendering_server_loader
Plugin loader for the offload rendering server. More...
#include <plugin.hpp>
Inherits the following classes: ILLIXR::plugin, vulkan::vk_extension_request
Public Functions
Type | Name |
---|---|
std::vector< const char * > | get_required_devices_extensions () override Get required Vulkan device extensions. |
std::vector< const char * > | get_required_instance_extensions () override Get required Vulkan instance extensions. |
offload_rendering_server_loader (const std::string & name, phonebook * pb) Constructor registers the server plugin with the system. |
|
virtual void | start () override A method which Spindle calls when it starts the component. |
virtual void | stop () override A method which Spindle calls when it stops the component. |
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 Attributes inherited from ILLIXR::plugin
See ILLIXR::plugin
Type | Name |
---|---|
const std::shared_ptr< gen_guid > | gen_guid_ |
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_ |
Detailed Description
Handles plugin registration and Vulkan extension requirements for the offload rendering server component.
Public Functions Documentation
function get_required_devices_extensions
Get required Vulkan device extensions.
std::vector< const char * > ILLIXR::offload_rendering_server_loader::get_required_devices_extensions () override
Returns:
List of required device extension names
function get_required_instance_extensions
Get required Vulkan instance extensions.
std::vector< const char * > ILLIXR::offload_rendering_server_loader::get_required_instance_extensions () override
Returns:
List of required instance extension names
function offload_rendering_server_loader
Constructor registers the server plugin with the system.
ILLIXR::offload_rendering_server_loader::offload_rendering_server_loader (
const std::string & name,
phonebook * pb
)
Parameters:
name
Plugin namepb
Phonebook for component lookup
function start
A method which Spindle calls when it starts the component.
virtual void ILLIXR::offload_rendering_server_loader::start () override
This is necessary because a constructor can't call derived virtual methods (due to structure of C++). See threadloop
for an example of this use-case.
Implements ILLIXR::plugin::start
function stop
A method which Spindle calls when it stops the component.
virtual void ILLIXR::offload_rendering_server_loader::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
The documentation for this class was generated from the following file /home/friedel/devel/ILLIXR/plugins/offload_rendering_server/plugin.hpp