#include <Dynamic_Message_Strategy.h>
Inheritance diagram for ACE_Laxity_Message_Strategy:
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. | |
virtual | ~ACE_Laxity_Message_Strategy (void) |
virtual dtor. | |
virtual void | convert_priority (ACE_Time_Value &priority, const ACE_Message_Block &mb) |
Dynamic priority conversion function based on laxity. | |
virtual void | dump (void) const |
Dump the state of the 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 189 of file Dynamic_Message_Strategy.h.
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.
Definition at line 161 of file Dynamic_Message_Strategy.cpp.
00165 : ACE_Dynamic_Message_Strategy (static_bit_field_mask, 00166 static_bit_field_shift, 00167 dynamic_priority_max, 00168 dynamic_priority_offset) 00169 { 00170 }
ACE_Laxity_Message_Strategy::~ACE_Laxity_Message_Strategy | ( | void | ) | [virtual] |
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 177 of file Dynamic_Message_Strategy.cpp.
References ACE_Message_Block::msg_deadline_time(), and ACE_Message_Block::msg_execution_time().
00179 { 00180 // Convert absolute time passed in tv to negative 00181 // laxity of mb with respect to that absolute time. 00182 priority += mb.msg_execution_time (); 00183 priority -= mb.msg_deadline_time (); 00184 }
void ACE_Laxity_Message_Strategy::dump | ( | void | ) | const [virtual] |
Dump the state of the strategy.
Reimplemented from ACE_Dynamic_Message_Strategy.
Definition at line 188 of file Dynamic_Message_Strategy.cpp.
References ACE_BEGIN_DUMP, ACE_DEBUG, ACE_END_DUMP, ACE_TEXT, ACE_TRACE, ACE_Dynamic_Message_Strategy::dump(), and LM_DEBUG.
00189 { 00190 #if defined (ACE_HAS_DUMP) 00191 ACE_TRACE ("ACE_Laxity_Message_Strategy::dump"); 00192 00193 ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); 00194 00195 ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("ACE_Dynamic_Message_Strategy base class: \n"))); 00196 this->ACE_Dynamic_Message_Strategy::dump (); 00197 00198 ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\nderived class: ACE_Laxity_Message_Strategy\n"))); 00199 00200 ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); 00201 #endif /* ACE_HAS_DUMP */ 00202 }