NAME

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

SYNOPSIS

#include <ace/Message_Queue_T.h>

template<ACE_SYNCH_DECL> class ACE_Message_Queue_Factory { public: 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 ); 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 ); 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 ); create_Vx_message_queue ( size_t max_messages, size_t max_message_length, ACE_Notification_Strategy *ns = 0 ); create_NT_message_queue (size_t max_threads); };

DESCRIPTION

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.

PUBLIC MEMBERS

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
    );

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
    );

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
    );

create_Vx_message_queue (
    size_t max_messages,
    size_t max_message_length,
    ACE_Notification_Strategy *ns = 0
    );

create_NT_message_queue (size_t max_threads);

AUTHOR

Douglas C. Schmidt schmidt@cs.wustl.edu

LIBRARY

ace