ACE_QoS_Decorator Class Reference

Concrete QoS Decorator. More...

#include <QoS_Decorator.h>

Inheritance diagram for ACE_QoS_Decorator:

Inheritance graph
[legend]
Collaboration diagram for ACE_QoS_Decorator:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ACE_QoS_Decorator (void)
 Constructor.

 ACE_QoS_Decorator (ACE_Event_Handler *event_handler, ACE_QoS_Session *qos_session, ACE_Reactor *reactor=ACE_Reactor::instance())
 Constructor.

 ~ACE_QoS_Decorator (void)
 Destructor.

virtual ACE_HANDLE get_handle (void) const
 Calls the base class get_handle ().

virtual int handle_input (ACE_HANDLE fd)
 Calls the base class handle_input ().

virtual int handle_qos (ACE_HANDLE fd)
 Calls the base class handle_qos ().

int init (void)

Private Attributes

ACE_QoS_Decorator_Basedecorator_base_
 Requests on the class are forwarded to this base class;.

ACE_QoS_Event_Handlerqos_event_handler_
ACE_QoS_Sessionqos_session_
ACE_Reactorreactor_

Detailed Description

Concrete QoS Decorator.

Decorates the ACE_Event_Handler to additionally handle QoS events uniformly for different QoS mechanisms like RAPI and GQoS.

Definition at line 127 of file QoS_Decorator.h.


Constructor & Destructor Documentation

ACE_QoS_Decorator::ACE_QoS_Decorator void   ) 
 

Constructor.

Definition at line 50 of file QoS_Decorator.cpp.

00051 {}

ACE_QoS_Decorator::ACE_QoS_Decorator ACE_Event_Handler event_handler,
ACE_QoS_Session qos_session,
ACE_Reactor reactor = ACE_Reactor::instance()
 

Constructor.

Definition at line 54 of file QoS_Decorator.cpp.

References ACE_NEW.

00057   : qos_session_ (qos_session),
00058     reactor_ (reactor)
00059 {
00060   ACE_NEW (this->decorator_base_,
00061            ACE_QoS_Decorator_Base (event_handler));
00062 
00063   ACE_NEW (this->qos_event_handler_,
00064            ACE_QoS_Event_Handler (this->decorator_base_));
00065 }

ACE_QoS_Decorator::~ACE_QoS_Decorator void   ) 
 

Destructor.

Definition at line 68 of file QoS_Decorator.cpp.

References qos_event_handler_.

00069 {
00070   delete this->decorator_base_;
00071   delete this->qos_event_handler_;
00072 }


Member Function Documentation

ACE_HANDLE ACE_QoS_Decorator::get_handle void   )  const [virtual]
 

Calls the base class get_handle ().

Reimplemented from ACE_QoS_Decorator_Base.

Definition at line 78 of file QoS_Decorator.cpp.

References ACE_QoS_Decorator_Base::get_handle().

00079 {
00080   return this->decorator_base_->get_handle ();
00081 }

int ACE_QoS_Decorator::handle_input ACE_HANDLE  fd  )  [virtual]
 

Calls the base class handle_input ().

Reimplemented from ACE_QoS_Decorator_Base.

Definition at line 87 of file QoS_Decorator.cpp.

References ACE_QoS_Decorator_Base::handle_input().

00088 {
00089   return this->decorator_base_->handle_input (fd);
00090 }

int ACE_QoS_Decorator::handle_qos ACE_HANDLE  fd  )  [virtual]
 

Calls the base class handle_qos ().

Reimplemented from ACE_QoS_Decorator_Base.

Definition at line 96 of file QoS_Decorator.cpp.

References ACE_QoS_Decorator_Base::handle_qos().

00097 {
00098   return this->decorator_base_->handle_qos (fd);
00099 }

int ACE_QoS_Decorator::init void   ) 
 

This method registers the QoS Event Handler with the Reactor to receive RAPI events.

Definition at line 105 of file QoS_Decorator.cpp.

References qos_event_handler_, ACE_QoS_Event_Handler::qos_session(), and ACE_Reactor::register_handler().

00106 {
00107 #if defined (ACE_HAS_RAPI)
00108 
00109   // Pass the QoS session to QoS Event Handler.
00110   this->qos_event_handler_->qos_session (this->qos_session_);
00111 
00112   // Register the QoS Event Handler with the Reactor.
00113   return this->reactor_->register_handler (this->qos_event_handler_,
00114                                            ACE_Event_Handler::READ_MASK);
00115 #endif
00116   return 0;
00117 
00118 }


Member Data Documentation

ACE_QoS_Decorator_Base* ACE_QoS_Decorator::decorator_base_ [private]
 

Requests on the class are forwarded to this base class;.

Definition at line 160 of file QoS_Decorator.h.

ACE_QoS_Event_Handler* ACE_QoS_Decorator::qos_event_handler_ [private]
 

Handles the QoS events and in that sense decorates the usual ACE_Event_Handler.

Definition at line 164 of file QoS_Decorator.h.

Referenced by init(), and ~ACE_QoS_Decorator().

ACE_QoS_Session* ACE_QoS_Decorator::qos_session_ [private]
 

Passed to the ACE_QoS_Event_Handler for retrieving the RAPI session specific information like rapi_fd.

Definition at line 168 of file QoS_Decorator.h.

ACE_Reactor* ACE_QoS_Decorator::reactor_ [private]
 

If the application wants to use an instance of Reactor other than the Singleton one.

Reimplemented from ACE_Event_Handler.

Definition at line 172 of file QoS_Decorator.h.


The documentation for this class was generated from the following files:
Generated on Sun Jan 27 13:03:42 2008 for ACE_QoS by doxygen 1.3.6