OpenDDS
Snapshot(2023/04/07-19:43)
|
map TRANSPORT_PRIORITY values directly. More...
#include <DirectPriorityMapper.h>
Public Member Functions | |
DirectPriorityMapper (Priority priority=0) | |
Construct with a priority value. More... | |
virtual | ~DirectPriorityMapper () |
virtual short | codepoint () const |
Access the mapped DiffServ codepoint value. More... | |
virtual short | thread_priority () const |
Access the mapped thread priority value. More... | |
![]() | |
PriorityMapper (Priority priority=0) | |
Construct with a priority value. More... | |
virtual | ~PriorityMapper () |
Priority & | priority () |
Accessors for the TRANSPORT_PRIORITY value. More... | |
Priority | priority () const |
map TRANSPORT_PRIORITY values directly.
This implementation maps TRANSPORT_PRIORITY values directly to both DiffServ codepoint and thread priority values. The behavior is saturating - that is when the TRANSPORT_PRIORITY value is out of the target range, it is mapped to the nearest extremum.
DiffServ codepoint values are mapped within the closed interval [0,63], with the corresponding TRANSPORT_PRIORITY values mapped directly within this range.
Thread priorities are mapped to the system thread scheduler minimum value (obtained from the sched_get_priority_min(sched) system call, where available) up to the maximum value (obtained from the sched_get_priority_max(sched) system call, where available). The TRANSPORT_PRIORITY value of 0 is mapped to the minimum and a value of |max-min| is mapped to the maximum.
Definition at line 42 of file DirectPriorityMapper.h.
ACE_INLINE OpenDDS::DCPS::DirectPriorityMapper::DirectPriorityMapper | ( | Priority | priority = 0 | ) |
Construct with a priority value.
Definition at line 14 of file DirectPriorityMapper.inl.
References OPENDDS_END_VERSIONED_NAMESPACE_DECL.
|
virtual |
Definition at line 22 of file DirectPriorityMapper.cpp.
|
virtual |
Access the mapped DiffServ codepoint value.
Implements OpenDDS::DCPS::PriorityMapper.
Definition at line 27 of file DirectPriorityMapper.cpp.
References ACE_DEBUG, ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, LM_DEBUG, OpenDDS::DCPS::PriorityMapper::priority(), and value.
Referenced by OpenDDS::DCPS::TcpConnection::on_active_connection_established(), and OpenDDS::DCPS::UdpDataLink::open().
|
virtual |
Access the mapped thread priority value.
Implements OpenDDS::DCPS::PriorityMapper.
Definition at line 50 of file DirectPriorityMapper.cpp.
References ACE_DEBUG, ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, LM_DEBUG, OPENDDS_END_VERSIONED_NAMESPACE_DECL, OpenDDS::DCPS::PriorityMapper::priority(), TheServiceParticipant, and value.
Referenced by OpenDDS::DCPS::TransportSendStrategy::TransportSendStrategy().