Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

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 Methods

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. More...

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. More...

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. More...


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 816 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 2247 of file Message_Queue_T.cpp.

References ACE_NEW_RETURN.

02254 {
02255   ACE_Deadline_Message_Strategy *adms;
02256 
02257   ACE_NEW_RETURN (adms,
02258                   ACE_Deadline_Message_Strategy (static_bit_field_mask,
02259                                                  static_bit_field_shift,
02260                                                  dynamic_priority_max,
02261                                                  dynamic_priority_offset),
02262                   0);
02263 
02264   ACE_Dynamic_Message_Queue<ACE_SYNCH_USE> *tmp;
02265   ACE_NEW_RETURN (tmp,
02266                   ACE_Dynamic_Message_Queue<ACE_SYNCH_USE> (*adms, hwm, lwm, ns),
02267                   0);
02268   return tmp;
02269 }

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 2276 of file Message_Queue_T.cpp.

References ACE_NEW_RETURN.

02283 {
02284   ACE_Laxity_Message_Strategy *alms;
02285 
02286   ACE_NEW_RETURN (alms,
02287                   ACE_Laxity_Message_Strategy (static_bit_field_mask,
02288                                                static_bit_field_shift,
02289                                                dynamic_priority_max,
02290                                                dynamic_priority_offset),
02291                   0);
02292 
02293   ACE_Dynamic_Message_Queue<ACE_SYNCH_USE> *tmp;
02294   ACE_NEW_RETURN (tmp,
02295                   ACE_Dynamic_Message_Queue<ACE_SYNCH_USE> (*alms, hwm, lwm, ns),
02296                   0);
02297   return tmp;
02298 }

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 2231 of file Message_Queue_T.cpp.

References ACE_NEW_RETURN.

02234 {
02235   ACE_Message_Queue<ACE_SYNCH_USE> *tmp;
02236 
02237   ACE_NEW_RETURN (tmp,
02238                   ACE_Message_Queue<ACE_SYNCH_USE> (hwm, lwm, ns),
02239                   0);
02240   return tmp;
02241 }


The documentation for this class was generated from the following files:
Generated on Mon Jun 16 12:50:36 2003 for ACE by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002