Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

ACE_Laxity_Message_Strategy Class Reference

Laxity based message priority strategy. More...

#include <Message_Block.h>

Inheritance diagram for ACE_Laxity_Message_Strategy:

Inheritance graph
[legend]
Collaboration diagram for ACE_Laxity_Message_Strategy:

Collaboration graph
[legend]
List of all members.

Public Methods

 ACE_Laxity_Message_Strategy (u_long static_bit_field_mask=0x3FFUL, u_long static_bit_field_shift=10, u_long dynamic_priority_max=0x3FFFFFUL, u_long dynamic_priority_offset=0x200000UL)
 Ctor, with all arguments defaulted. More...

virtual ~ACE_Laxity_Message_Strategy (void)
 virtual dtor. More...

virtual void convert_priority (ACE_Time_Value &priority, const ACE_Message_Block &mb)
 Dynamic priority conversion function based on laxity. More...

virtual void dump (void) const
 Dump the state of the strategy. More...


Detailed Description

Laxity based message priority strategy.

Assigns dynamic message priority according to laxity (time to deadline minus worst case execution time). The message priority is divided into high and low order bit fields. The high order bit field is used for dynamic message priority, which is updated whenever the convert_priority() method is called. The low order bit field is used for static message priority and is left unchanged. The partitioning of the priority value into high and low order bit fields is done according to the arguments passed to the strategy object's constructor.

Definition at line 1008 of file Message_Block.h.


Constructor & Destructor Documentation

ACE_Laxity_Message_Strategy::ACE_Laxity_Message_Strategy u_long    static_bit_field_mask = 0x3FFUL,
u_long    static_bit_field_shift = 10,
u_long    dynamic_priority_max = 0x3FFFFFUL,
u_long    dynamic_priority_offset = 0x200000UL
 

Ctor, with all arguments defaulted.

Definition at line 1275 of file Message_Block.cpp.

ACE_Laxity_Message_Strategy::~ACE_Laxity_Message_Strategy void    [virtual]
 

virtual dtor.

Definition at line 1286 of file Message_Block.cpp.

01287 {
01288 }


Member Function Documentation

ACE_INLINE void ACE_Laxity_Message_Strategy::convert_priority ACE_Time_Value   priority,
const ACE_Message_Block   mb
[virtual]
 

Dynamic priority conversion function based on laxity.

Implements ACE_Dynamic_Message_Strategy.

Definition at line 650 of file Message_Block.i.

References ACE_Message_Block::msg_deadline_time, and ACE_Message_Block::msg_execution_time.

00652 {
00653   // Convert absolute time passed in tv to negative
00654   // laxity of mb with respect to that absolute time.
00655   priority += mb.msg_execution_time ();
00656   priority -= mb.msg_deadline_time ();
00657 }

void ACE_Laxity_Message_Strategy::dump void    const [virtual]
 

Dump the state of the strategy.

Reimplemented from ACE_Dynamic_Message_Strategy.

Definition at line 1291 of file Message_Block.cpp.

References ACE_BEGIN_DUMP, ACE_DEBUG, ACE_END_DUMP, ACE_LIB_TEXT, ACE_TRACE, ACE_Dynamic_Message_Strategy::dump, and LM_DEBUG.

01292 {
01293   ACE_TRACE ("ACE_Laxity_Message_Strategy::dump");
01294 
01295   ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
01296 
01297   ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("ACE_Dynamic_Message_Strategy base class: \n")));
01298   this->ACE_Dynamic_Message_Strategy::dump ();
01299 
01300   ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("\nderived class: ACE_Laxity_Message_Strategy\n")));
01301 
01302   ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
01303 }


The documentation for this class was generated from the following files:
Generated on Mon Jun 16 12:49:11 2003 for ACE by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002