Skip to content

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 name
  • pb 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