ACE
6.3.3
|
Deadline based message priority strategy. More...
#include <Dynamic_Message_Strategy.h>
Public Member Functions | |
ACE_Deadline_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) | |
Constructor with all arguments defaulted. More... | |
virtual | ~ACE_Deadline_Message_Strategy (void) |
Virtual destructor. More... | |
virtual void | convert_priority (ACE_Time_Value &priority, const ACE_Message_Block &mb) |
Dynamic priority conversion function based on time to deadline. 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... | |
Deadline based message priority strategy.
Assigns dynamic message priority according to time to deadline. 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.
ACE_Deadline_Message_Strategy::ACE_Deadline_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 |
||
) |
Constructor with all arguments defaulted.
|
virtual |
Virtual destructor.
|
virtual |
Dynamic priority conversion function based on time to deadline.
Implements ACE_Dynamic_Message_Strategy.
|
virtual |
Dump the state of the strategy.
Reimplemented from ACE_Dynamic_Message_Strategy.