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

References ACE_NEW_RETURN.

02621 {
02622   ACE_Deadline_Message_Strategy *adms = 0;
02623 
02624   ACE_NEW_RETURN (adms,
02625                   ACE_Deadline_Message_Strategy (static_bit_field_mask,
02626                                                  static_bit_field_shift,
02627                                                  dynamic_priority_max,
02628                                                  dynamic_priority_offset),
02629                   0);
02630 
02631   ACE_Dynamic_Message_Queue<ACE_SYNCH_USE> *tmp = 0;
02632   ACE_NEW_RETURN (tmp,
02633                   ACE_Dynamic_Message_Queue<ACE_SYNCH_USE> (*adms, hwm, lwm, ns),
02634                   0);
02635   return tmp;
02636 }

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

References ACE_NEW_RETURN.

02650 {
02651   ACE_Laxity_Message_Strategy *alms = 0;
02652 
02653   ACE_NEW_RETURN (alms,
02654                   ACE_Laxity_Message_Strategy (static_bit_field_mask,
02655                                                static_bit_field_shift,
02656                                                dynamic_priority_max,
02657                                                dynamic_priority_offset),
02658                   0);
02659 
02660   ACE_Dynamic_Message_Queue<ACE_SYNCH_USE> *tmp = 0;
02661   ACE_NEW_RETURN (tmp,
02662                   ACE_Dynamic_Message_Queue<ACE_SYNCH_USE> (*alms, hwm, lwm, ns),
02663                   0);
02664   return tmp;
02665 }

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

References ACE_NEW_RETURN.

02601 {
02602   ACE_Message_Queue<ACE_SYNCH_USE> *tmp = 0;
02603 
02604   ACE_NEW_RETURN (tmp,
02605                   ACE_Message_Queue<ACE_SYNCH_USE> (hwm, lwm, ns),
02606                   0);
02607   return tmp;
02608 }


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 11:24:52 2006 for ACE by doxygen 1.3.6