TAO_Linear_Network_Priority_Mapping Class Reference

A simple implementation of the Network_Priority_Mapping interface. More...

#include <Linear_Network_Priority_Mapping.h>

Inheritance diagram for TAO_Linear_Network_Priority_Mapping:

Inheritance graph
[legend]
Collaboration diagram for TAO_Linear_Network_Priority_Mapping:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_Linear_Network_Priority_Mapping (long)
CORBA::Boolean to_network (RTCORBA::Priority corba_priority, RTCORBA::NetworkPriority &network_priority)
CORBA::Boolean to_CORBA (RTCORBA::NetworkPriority network_priority, RTCORBA::Priority &corba_priority)

Detailed Description

A simple implementation of the Network_Priority_Mapping interface.

This implementation uses linear mapping between the range of DiffServ priorities and CORBA priorities.

Definition at line 43 of file Linear_Network_Priority_Mapping.h.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_Linear_Network_Priority_Mapping::TAO_Linear_Network_Priority_Mapping ( long   ) 

Definition at line 96 of file Linear_Network_Priority_Mapping.cpp.

00097 {
00098 }


Member Function Documentation

CORBA::Boolean TAO_Linear_Network_Priority_Mapping::to_CORBA ( RTCORBA::NetworkPriority  network_priority,
RTCORBA::Priority &  corba_priority 
) [virtual]

Implements TAO_Network_Priority_Mapping.

Definition at line 129 of file Linear_Network_Priority_Mapping.cpp.

References ACE_DEBUG, LM_DEBUG, and TAO_debug_level.

00131 {
00132   if (TAO_debug_level)
00133     ACE_DEBUG ((LM_DEBUG,
00134                 "TAO_Linear_Network_Priority_Mapping::to_CORBA network_priority %d\n",
00135                 network_priority));
00136 
00137   return 0;
00138 }

CORBA::Boolean TAO_Linear_Network_Priority_Mapping::to_network ( RTCORBA::Priority  corba_priority,
RTCORBA::NetworkPriority network_priority 
) [virtual]

Implements TAO_Network_Priority_Mapping.

Definition at line 101 of file Linear_Network_Priority_Mapping.cpp.

References ACE_DEBUG, LM_DEBUG, and TAO_debug_level.

00104 {
00105   if (TAO_debug_level)
00106     ACE_DEBUG ((LM_DEBUG,
00107                 "TAO_Linear_Network_Priority_Mapping::to_network corba_priority %d\n",
00108                 corba_priority));
00109 
00110   int const total_slots = sizeof (dscp) / sizeof (int);
00111 
00112   int array_slot =
00113     static_cast<int> (((corba_priority - RTCORBA::minPriority) / double (RTCORBA::maxPriority - RTCORBA::minPriority)) * total_slots);
00114 
00115   if (array_slot == total_slots)
00116     array_slot -= 1;
00117 
00118   network_priority = dscp[array_slot];
00119 
00120   if (TAO_debug_level)
00121     ACE_DEBUG ((LM_DEBUG,
00122                 "TAO_Linear_Network_Priority_Mapping::to_network = %x\n",
00123                 network_priority));
00124 
00125   return 1;
00126 }


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:42:57 2010 for TAO_RTCORBA by  doxygen 1.4.7