Skip to content

Class ILLIXR::network_latency_rx

ClassList > ILLIXR > network_latency_rx

Network latency measurement server plugin (RX side). More...

  • #include <plugin.hpp>

Inherits the following classes: ILLIXR::threadloop

Public Functions

Type Name
network_latency_rx (const std::string & name, phonebook * pb)
Construct the network latency server plugin.
~network_latency_rx () override
Destructor - ensures clean shutdown.

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
Main iteration - checks for pings and sends pong responses.
virtual skip_option _p_should_skip () override
Determines if the iteration should be skipped.

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.

Detailed Description

This plugin listens for ping packets from a client, and immediately responds with pong packets containing timing information. This allows the client to measure round-trip network latency.

No local switchboard publishing is done here - the server side time conversion data arrives via the combined_pose topic instead.

Public Functions Documentation

function network_latency_rx

Construct the network latency server plugin.

ILLIXR::network_latency_rx::network_latency_rx (
    const std::string & name,
    phonebook * pb
) 

Parameters:

  • name_ Plugin name
  • pb_ Phonebook pointer for accessing services

function ~network_latency_rx

Destructor - ensures clean shutdown.

ILLIXR::network_latency_rx::~network_latency_rx () override


Protected Functions Documentation

function _p_one_iteration

Main iteration - checks for pings and sends pong responses.

virtual void ILLIXR::network_latency_rx::_p_one_iteration () override

Implements ILLIXR::threadloop::_p_one_iteration


function _p_should_skip

Determines if the iteration should be skipped.

virtual skip_option ILLIXR::network_latency_rx::_p_should_skip () override

Returns:

skip_option indicating whether to run or skip

Implements ILLIXR::threadloop::_p_should_skip



The documentation for this class was generated from the following file /home/friedel/devel/ILLIXR/illixr_release/ILLIXR/plugins/network_latency/rx/plugin.hpp