ACE_Message_Queue_Factory<> Class Template Reference

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>

List of all members.

Static Public Member Functions

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.

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.

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.


Detailed Description

template<ACE_SYNCH_DECL>
class ACE_Message_Queue_Factory<>

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 898 of file Message_Queue_T.h.


Member Function Documentation

template<ACE_SYNCH_DECL >
ACE_Dynamic_Message_Queue< ACE_SYNCH_USE > * ACE_Message_Queue_Factory<>::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
[static]
 

Factory method for a dynamically prioritized (by time to deadline) ACE_Dynamic_Message_Queue.

Definition at line 2722 of file Message_Queue_T.cpp.

References ACE_NEW_RETURN.

02729 {
02730   ACE_Deadline_Message_Strategy *adms = 0;
02731 
02732   ACE_NEW_RETURN (adms,
02733                   ACE_Deadline_Message_Strategy (static_bit_field_mask,
02734                                                  static_bit_field_shift,
02735                                                  dynamic_priority_max,
02736                                                  dynamic_priority_offset),
02737                   0);
02738 
02739   ACE_Dynamic_Message_Queue<ACE_SYNCH_USE> *tmp = 0;
02740   ACE_NEW_RETURN (tmp,
02741                   ACE_Dynamic_Message_Queue<ACE_SYNCH_USE> (*adms, hwm, lwm, ns),
02742                   0);
02743   return tmp;
02744 }

template<ACE_SYNCH_DECL >
ACE_Dynamic_Message_Queue< ACE_SYNCH_USE > * ACE_Message_Queue_Factory<>::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
[static]
 

Factory method for a dynamically prioritized (by laxity) ACE_Dynamic_Message_Queue.

Definition at line 2751 of file Message_Queue_T.cpp.

References ACE_NEW_RETURN.

02758 {
02759   ACE_Laxity_Message_Strategy *alms = 0;
02760 
02761   ACE_NEW_RETURN (alms,
02762                   ACE_Laxity_Message_Strategy (static_bit_field_mask,
02763                                                static_bit_field_shift,
02764                                                dynamic_priority_max,
02765                                                dynamic_priority_offset),
02766                   0);
02767 
02768   ACE_Dynamic_Message_Queue<ACE_SYNCH_USE> *tmp = 0;
02769   ACE_NEW_RETURN (tmp,
02770                   ACE_Dynamic_Message_Queue<ACE_SYNCH_USE> (*alms, hwm, lwm, ns),
02771                   0);
02772   return tmp;
02773 }

template<ACE_SYNCH_DECL >
ACE_Message_Queue< ACE_SYNCH_USE > * ACE_Message_Queue_Factory<>::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
[static]
 

Factory method for a statically prioritized ACE_Message_Queue.

Definition at line 2706 of file Message_Queue_T.cpp.

References ACE_NEW_RETURN.

02709 {
02710   ACE_Message_Queue<ACE_SYNCH_USE> *tmp = 0;
02711 
02712   ACE_NEW_RETURN (tmp,
02713                   ACE_Message_Queue<ACE_SYNCH_USE> (hwm, lwm, ns),
02714                   0);
02715   return tmp;
02716 }


The documentation for this class was generated from the following files:
Generated on Sun Jan 27 12:55:53 2008 for ACE by doxygen 1.3.6