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

QoS_Manager.h

Go to the documentation of this file.
00001 /* -*- C++ -*- */
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    QoS_Manager.h
00006  *
00007  *  $Id: QoS_Manager.h,v 1.1.1.2 2003/02/21 18:36:32 chad Exp $
00008  *
00009  *  @author Vishal Kachroo
00010  */
00011 //=============================================================================
00012 
00013 
00014 #ifndef ACE_QOS_MANAGER_H
00015 #define ACE_QOS_MANAGER_H
00016 #include "ace/pre.h"
00017 
00018 #include "ace/Addr.h"
00019 
00020 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00021 #define  ACE_LACKS_PRAGMA_ONCE
00022 #endif /* ACE_LACKS_PRAGMA_ONCE */
00023 
00024 #include "ace/IPC_SAP.h"
00025 #include "ace/Containers_T.h"
00026 #include "ACE_QoS_Export.h"
00027 #include "QoS_Session.h"
00028 
00029 /**
00030  * @class ACE_QoS_Manager
00031  *
00032  * @brief This class manages the QoS sessions associated with ACE_SOCK.
00033  *
00034  * This class provides functions to manage the QoS
00035  * associated with a socket.  The idea is to keep the management of
00036  * QoS for a socket separate from the socket itself. Currently, the
00037  * manager is used to manage the QoS session set. It will handle more
00038  * responsibilities in the future.
00039  */
00040 class ACE_QoS_Export ACE_QoS_Manager
00041 {
00042 
00043 public:
00044   /// Default constructor.
00045   ACE_QoS_Manager (void);
00046 
00047   /// Default destructor.
00048   ~ACE_QoS_Manager (void);
00049 
00050   /**
00051    * Join the given QoS session. A socket can join multiple QoS
00052    * sessions.  This call adds the given QoS session to the list of
00053    * QoS sessions that the socket has already joined.
00054    */
00055   int join_qos_session (ACE_QoS_Session *qos_session);
00056 
00057   typedef ACE_Unbounded_Set <ACE_QoS_Session *> ACE_QOS_SESSION_SET;
00058 
00059   /// Get the QoS session set.
00060   ACE_QOS_SESSION_SET qos_session_set (void);
00061 
00062 private:
00063 
00064   /// Set of QoS sessions that this socket has joined.
00065   ACE_QOS_SESSION_SET qos_session_set_;
00066 };
00067 
00068 #include "ace/post.h"
00069 #endif /* ACE_QOS_MANAGER_H */

Generated on Mon Jun 16 13:17:26 2003 for ACE_QoS by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002