ACE_Message_Queue_Factory is a static factory class template which provides a separate factory method for each of the major kinds of priority based message dispatching: static, earliest deadline first (EDF), and minimum laxity first (MLF). More...
#include <Message_Queue_T.h>
Static Public Member Functions | |
static ACE_Message_Queue < ACE_SYNCH_USE > * | create_static_message_queue (size_t hwm=ACE_Message_Queue_Base::DEFAULT_HWM, size_t lwm=ACE_Message_Queue_Base::DEFAULT_LWM, ACE_Notification_Strategy *=0) |
Factory method for a statically prioritized ACE_Message_Queue. | |
static ACE_Dynamic_Message_Queue < ACE_SYNCH_USE > * | create_deadline_message_queue (size_t hwm=ACE_Message_Queue_Base::DEFAULT_HWM, size_t lwm=ACE_Message_Queue_Base::DEFAULT_LWM, ACE_Notification_Strategy *=0, 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) |
Factory method for a dynamically prioritized (by time to deadline) ACE_Dynamic_Message_Queue. | |
static ACE_Dynamic_Message_Queue < ACE_SYNCH_USE > * | create_laxity_message_queue (size_t hwm=ACE_Message_Queue_Base::DEFAULT_HWM, size_t lwm=ACE_Message_Queue_Base::DEFAULT_LWM, ACE_Notification_Strategy *=0, 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) |
Factory method for a dynamically prioritized (by laxity) ACE_Dynamic_Message_Queue. |
ACE_Message_Queue_Factory is a static factory class template which provides a separate factory method for each of the major kinds of priority based message dispatching: static, earliest deadline first (EDF), and minimum laxity first (MLF).
The ACE_Dynamic_Message_Queue class assumes responsibility for releasing the resources of the strategy with which it was constructed: the user of a message queue constructed by any of these factory methods is only responsible for ensuring destruction of the message queue itself.
Definition at line 915 of file Message_Queue_T.h.
ACE_Dynamic_Message_Queue< ACE_SYNCH_USE > * ACE_Message_Queue_Factory< ACE_SYNCH_DECL >::create_deadline_message_queue | ( | size_t | hwm = ACE_Message_Queue_Base::DEFAULT_HWM , |
|
size_t | lwm = ACE_Message_Queue_Base::DEFAULT_LWM , |
|||
ACE_Notification_Strategy * | ns = 0 , |
|||
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 | |||
) | [static] |
Factory method for a dynamically prioritized (by time to deadline) ACE_Dynamic_Message_Queue.
Definition at line 2899 of file Message_Queue_T.cpp.
{ ACE_Deadline_Message_Strategy *adms = 0; ACE_NEW_RETURN (adms, ACE_Deadline_Message_Strategy (static_bit_field_mask, static_bit_field_shift, dynamic_priority_max, dynamic_priority_offset), 0); ACE_Dynamic_Message_Queue<ACE_SYNCH_USE> *tmp = 0; ACE_NEW_RETURN (tmp, ACE_Dynamic_Message_Queue<ACE_SYNCH_USE> (*adms, hwm, lwm, ns), 0); return tmp; }
ACE_Dynamic_Message_Queue< ACE_SYNCH_USE > * ACE_Message_Queue_Factory< ACE_SYNCH_DECL >::create_laxity_message_queue | ( | size_t | hwm = ACE_Message_Queue_Base::DEFAULT_HWM , |
|
size_t | lwm = ACE_Message_Queue_Base::DEFAULT_LWM , |
|||
ACE_Notification_Strategy * | ns = 0 , |
|||
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 | |||
) | [static] |
Factory method for a dynamically prioritized (by laxity) ACE_Dynamic_Message_Queue.
Definition at line 2928 of file Message_Queue_T.cpp.
{ ACE_Laxity_Message_Strategy *alms = 0; ACE_NEW_RETURN (alms, ACE_Laxity_Message_Strategy (static_bit_field_mask, static_bit_field_shift, dynamic_priority_max, dynamic_priority_offset), 0); ACE_Dynamic_Message_Queue<ACE_SYNCH_USE> *tmp = 0; ACE_NEW_RETURN (tmp, ACE_Dynamic_Message_Queue<ACE_SYNCH_USE> (*alms, hwm, lwm, ns), 0); return tmp; }
ACE_Message_Queue< ACE_SYNCH_USE > * ACE_Message_Queue_Factory< ACE_SYNCH_DECL >::create_static_message_queue | ( | size_t | hwm = ACE_Message_Queue_Base::DEFAULT_HWM , |
|
size_t | lwm = ACE_Message_Queue_Base::DEFAULT_LWM , |
|||
ACE_Notification_Strategy * | ns = 0 | |||
) | [static] |
Factory method for a statically prioritized ACE_Message_Queue.
Definition at line 2883 of file Message_Queue_T.cpp.
{ ACE_Message_Queue<ACE_SYNCH_USE> *tmp = 0; ACE_NEW_RETURN (tmp, ACE_Message_Queue<ACE_SYNCH_USE> (hwm, lwm, ns), 0); return tmp; }