YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
yarp::os::QosStyle Class Reference

Preferences for the port's Quality of Service. More...

#include <yarp/os/QosStyle.h>

Public Types

enum  PacketPriorityLevel {
  PacketPriorityInvalid = -1 ,
  PacketPriorityNormal = 0 ,
  PacketPriorityLow = 10 ,
  PacketPriorityHigh = 36 ,
  PacketPriorityCritical = 44 ,
  PacketPriorityUndefined = 0x7FFF
}
 The PacketPriorityLevel defines the packets quality of service (priority) levels. More...
 
enum  PacketPriorityDSCP {
  DSCP_Invalid = -1 ,
  DSCP_CS0 = 0 ,
  DSCP_CS1 = 8 ,
  DSCP_CS2 = 16 ,
  DSCP_CS3 = 24 ,
  DSCP_CS4 = 32 ,
  DSCP_CS5 = 40 ,
  DSCP_CS6 = 48 ,
  DSCP_CS7 = 56 ,
  DSCP_AF11 = 10 ,
  DSCP_AF12 = 12 ,
  DSCP_AF13 = 14 ,
  DSCP_AF21 = 18 ,
  DSCP_AF22 = 20 ,
  DSCP_AF23 = 22 ,
  DSCP_AF31 = 26 ,
  DSCP_AF32 = 28 ,
  DSCP_AF33 = 30 ,
  DSCP_AF41 = 34 ,
  DSCP_AF42 = 36 ,
  DSCP_AF43 = 38 ,
  DSCP_VA = 44 ,
  DSCP_EF = 46 ,
  DSCP_Undefined = 0x7FFF
}
 The PacketPriorityDSCP defines the packets quality of service (priority) using DSCP. More...
 

Public Member Functions

 QosStyle ()
 Constructor.
 
void setPacketPriorityByDscp (PacketPriorityDSCP dscp)
 sets the packet priority given as DSCP class
 
void setPacketPriorityByLevel (PacketPriorityLevel level)
 sets the packet priority given as PacketPriorityLevel
 
void setPacketPrioritybyTOS (int tos)
 sets the packet priority given as TOS value
 
bool setPacketPriority (const std::string &priority)
 sets the packet priority from a string.
 
void setThreadPriority (int priority)
 sets the communication thread priority level
 
void setThreadPolicy (int policy)
 sets the communication thread scheduling policy
 
int getPacketPriorityAsTOS () const
 returns the packet TOS value
 
PacketPriorityDSCP getPacketPriorityAsDSCP () const
 returns the packet DSCP class
 
PacketPriorityLevel getPacketPriorityAsLevel () const
 returns the packet TOS value
 
int getThreadPriority () const
 returns the communication thread priority level
 
int getThreadPolicy () const
 returns the communication thread scheduling policy
 

Static Public Member Functions

static PacketPriorityDSCP getDSCPByVocab (yarp::conf::vocab32_t vocab)
 returns the IPV4/6 DSCP value given as DSCP code
 
static PacketPriorityLevel getLevelByVocab (yarp::conf::vocab32_t vocab)
 returns the priority level
 

Detailed Description

Preferences for the port's Quality of Service.

All fields have sensible defaults.

Definition at line 22 of file QosStyle.h.

Member Enumeration Documentation

◆ PacketPriorityDSCP

The PacketPriorityDSCP defines the packets quality of service (priority) using DSCP.

Enumerator
DSCP_Invalid 
DSCP_CS0 
DSCP_CS1 
DSCP_CS2 
DSCP_CS3 
DSCP_CS4 
DSCP_CS5 
DSCP_CS6 
DSCP_CS7 
DSCP_AF11 
DSCP_AF12 
DSCP_AF13 
DSCP_AF21 
DSCP_AF22 
DSCP_AF23 
DSCP_AF31 
DSCP_AF32 
DSCP_AF33 
DSCP_AF41 
DSCP_AF42 
DSCP_AF43 
DSCP_VA 
DSCP_EF 
DSCP_Undefined 

Definition at line 44 of file QosStyle.h.

◆ PacketPriorityLevel

The PacketPriorityLevel defines the packets quality of service (priority) levels.

Enumerator
PacketPriorityInvalid 
PacketPriorityNormal 
PacketPriorityLow 
PacketPriorityHigh 
PacketPriorityCritical 
PacketPriorityUndefined 

Definition at line 29 of file QosStyle.h.

Constructor & Destructor Documentation

◆ QosStyle()

yarp::os::QosStyle::QosStyle ( )
explicit

Constructor.

Sets all options to reasonable defaults.

Definition at line 13 of file QosStyle.cpp.

Member Function Documentation

◆ getDSCPByVocab()

yarp::os::QosStyle::PacketPriorityDSCP yarp::os::QosStyle::getDSCPByVocab ( yarp::conf::vocab32_t  vocab)
static

returns the IPV4/6 DSCP value given as DSCP code

Parameters
vocaba DSCP code (e.g., CS0)
Returns
the actual DSCP value

Definition at line 155 of file QosStyle.cpp.

◆ getLevelByVocab()

yarp::os::QosStyle::PacketPriorityLevel yarp::os::QosStyle::getLevelByVocab ( yarp::conf::vocab32_t  vocab)
static

returns the priority level

Parameters
vocaba level code (e.g., HIGH)
Returns
the priority level

Definition at line 208 of file QosStyle.cpp.

◆ getPacketPriorityAsDSCP()

yarp::os::QosStyle::PacketPriorityDSCP yarp::os::QosStyle::getPacketPriorityAsDSCP ( ) const

returns the packet DSCP class

Returns
the DSCP class

Definition at line 77 of file QosStyle.cpp.

◆ getPacketPriorityAsLevel()

yarp::os::QosStyle::PacketPriorityLevel yarp::os::QosStyle::getPacketPriorityAsLevel ( ) const

returns the packet TOS value

Returns
the TOS

Definition at line 131 of file QosStyle.cpp.

◆ getPacketPriorityAsTOS()

int yarp::os::QosStyle::getPacketPriorityAsTOS ( ) const
inline

returns the packet TOS value

Returns
the TOS

Definition at line 147 of file QosStyle.h.

◆ getThreadPolicy()

int yarp::os::QosStyle::getThreadPolicy ( ) const
inline

returns the communication thread scheduling policy

Returns
the thread scheduling policy

Definition at line 181 of file QosStyle.h.

◆ getThreadPriority()

int yarp::os::QosStyle::getThreadPriority ( ) const
inline

returns the communication thread priority level

Returns
the thread priority

Definition at line 171 of file QosStyle.h.

◆ setPacketPriority()

bool yarp::os::QosStyle::setPacketPriority ( const std::string &  priority)

sets the packet priority from a string.

The string has this syntax:

  • LEVEL:[NORM|LOW|HIGH|CRIT]
  • DSCP:[CS0|AF11|...]
  • TOS:[value]

For example the following call

setPacketPriority("LEVEL:HIGH");
bool setPacketPriority(const std::string &priority)
sets the packet priority from a string.
Definition QosStyle.cpp:39

is equivalent to

void setPacketPriorityByLevel(PacketPriorityLevel level)
sets the packet priority given as PacketPriorityLevel
Definition QosStyle.cpp:30
Parameters
prioritythe string to be interpreted as priority
Returns
true if correctly set, false otherwise

Definition at line 39 of file QosStyle.cpp.

◆ setPacketPriorityByDscp()

void yarp::os::QosStyle::setPacketPriorityByDscp ( PacketPriorityDSCP  dscp)

sets the packet priority given as DSCP class

Parameters
dscpthe packet DSCP class

Definition at line 20 of file QosStyle.cpp.

◆ setPacketPriorityByLevel()

void yarp::os::QosStyle::setPacketPriorityByLevel ( PacketPriorityLevel  level)

sets the packet priority given as PacketPriorityLevel

Parameters
levelthe packet priority

Definition at line 30 of file QosStyle.cpp.

◆ setPacketPrioritybyTOS()

void yarp::os::QosStyle::setPacketPrioritybyTOS ( int  tos)
inline

sets the packet priority given as TOS value

Parameters
tosthe packet TOS

Definition at line 97 of file QosStyle.h.

◆ setThreadPolicy()

void yarp::os::QosStyle::setThreadPolicy ( int  policy)
inline

sets the communication thread scheduling policy

Parameters
policythe thread's real-time scheduling policy

Definition at line 137 of file QosStyle.h.

◆ setThreadPriority()

void yarp::os::QosStyle::setThreadPriority ( int  priority)
inline

sets the communication thread priority level

Parameters
prioritythe thread's priority

Definition at line 127 of file QosStyle.h.


The documentation for this class was generated from the following files: