ACE  6.2.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
ACE_Laxity_Message_Strategy Class Reference

Laxity based message priority strategy. More...

#include <Dynamic_Message_Strategy.h>

Inheritance diagram for ACE_Laxity_Message_Strategy:
Inheritance graph
[legend]
Collaboration diagram for ACE_Laxity_Message_Strategy:
Collaboration graph
[legend]

Public Member Functions

 ACE_Laxity_Message_Strategy (unsigned long static_bit_field_mask=0x3FFUL, unsigned long static_bit_field_shift=10, unsigned long dynamic_priority_max=0x3FFFFFUL, unsigned 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...
 
- Public Member Functions inherited from ACE_Dynamic_Message_Strategy
 ACE_Dynamic_Message_Strategy (unsigned long static_bit_field_mask, unsigned long static_bit_field_shift, unsigned long dynamic_priority_max, unsigned long dynamic_priority_offset)
 Constructor. More...
 
virtual ~ACE_Dynamic_Message_Strategy (void)
 Virtual destructor. More...
 
Priority_Status priority_status (ACE_Message_Block &mb, const ACE_Time_Value &tv)
 Updates the message's priority and returns its priority status. More...
 
unsigned long static_bit_field_mask (void) const
 Get static bit field mask. More...
 
void static_bit_field_mask (unsigned long)
 Set static bit field mask. More...
 
unsigned long static_bit_field_shift (void) const
 Get left shift value to make room for static bit field. More...
 
void static_bit_field_shift (unsigned long)
 Set left shift value to make room for static bit field. More...
 
unsigned long dynamic_priority_max (void) const
 Get maximum supported priority value. More...
 
void dynamic_priority_max (unsigned long)
 Set maximum supported priority value. More...
 
unsigned long dynamic_priority_offset (void) const
 Get offset to boundary between signed range and unsigned range. More...
 
void dynamic_priority_offset (unsigned long)
 Set offset to boundary between signed range and unsigned range. More...
 

Additional Inherited Members

- Public Types inherited from ACE_Dynamic_Message_Strategy
enum  Priority_Status { PENDING = 0x01, LATE = 0x02, BEYOND_LATE = 0x04, ANY_STATUS = 0x07 }
 
- Protected Attributes inherited from ACE_Dynamic_Message_Strategy
unsigned long static_bit_field_mask_
 This is a bit mask with all ones in the static bit field. More...
 
unsigned long static_bit_field_shift_
 
unsigned long dynamic_priority_max_
 Maximum supported priority value. More...
 
unsigned long dynamic_priority_offset_
 Offset to boundary between signed range and unsigned range. More...
 
ACE_Time_Value max_late_
 Maximum late time value that can be represented. More...
 
ACE_Time_Value min_pending_
 Minimum pending time value that can be represented. More...
 
ACE_Time_Value pending_shift_
 Time value by which to shift pending priority. 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.

Constructor & Destructor Documentation

ACE_Laxity_Message_Strategy::ACE_Laxity_Message_Strategy ( unsigned long  static_bit_field_mask = 0x3FFUL,
unsigned long  static_bit_field_shift = 10,
unsigned long  dynamic_priority_max = 0x3FFFFFUL,
unsigned long  dynamic_priority_offset = 0x200000UL 
)

Ctor, with all arguments defaulted.

ACE_Laxity_Message_Strategy::~ACE_Laxity_Message_Strategy ( void  )
virtual

virtual dtor.

Member Function Documentation

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.

void ACE_Laxity_Message_Strategy::dump ( void  ) const
virtual

Dump the state of the strategy.

Reimplemented from ACE_Dynamic_Message_Strategy.


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