Public Member Functions

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_Linear_Network_Priority_Mapping::TAO_Linear_Network_Priority_Mapping ( long   ) 

Definition at line 96 of file Linear_Network_Priority_Mapping.cpp.

{
}


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.

{
  if (TAO_debug_level)
    ACE_DEBUG ((LM_DEBUG,
                "TAO_Linear_Network_Priority_Mapping::to_CORBA network_priority %d\n",
                network_priority));

  return 0;
}

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.

{
  if (TAO_debug_level)
    ACE_DEBUG ((LM_DEBUG,
                "TAO_Linear_Network_Priority_Mapping::to_network corba_priority %d\n",
                corba_priority));

  int const total_slots = sizeof (dscp) / sizeof (int);

  int array_slot =
    static_cast<int> (((corba_priority - RTCORBA::minPriority) / double (RTCORBA::maxPriority - RTCORBA::minPriority)) * total_slots);

  if (array_slot == total_slots)
    array_slot -= 1;

  network_priority = dscp[array_slot];

  if (TAO_debug_level)
    ACE_DEBUG ((LM_DEBUG,
                "TAO_Linear_Network_Priority_Mapping::to_network = %x\n",
                network_priority));

  return 1;
}


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines