Concrete QoS Decorator. More...
#include <QoS_Decorator.h>
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_Base * | decorator_base_ |
Requests on the class are forwarded to this base class;. | |
ACE_QoS_Event_Handler * | qos_event_handler_ |
ACE_QoS_Session * | qos_session_ |
ACE_Reactor * | reactor_ |
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.
ACE_QoS_Decorator::ACE_QoS_Decorator | ( | void | ) |
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.
: qos_session_ (qos_session), reactor_ (reactor) { ACE_NEW (this->decorator_base_, ACE_QoS_Decorator_Base (event_handler)); ACE_NEW (this->qos_event_handler_, ACE_QoS_Event_Handler (this->decorator_base_)); }
ACE_QoS_Decorator::~ACE_QoS_Decorator | ( | void | ) |
Destructor.
Definition at line 68 of file QoS_Decorator.cpp.
{ delete this->decorator_base_; delete this->qos_event_handler_; }
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.
{ return this->decorator_base_->get_handle (); }
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.
{ return this->decorator_base_->handle_input (fd); }
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.
{ return this->decorator_base_->handle_qos (fd); }
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.
{ #if defined (ACE_HAS_RAPI) // Pass the QoS session to QoS Event Handler. this->qos_event_handler_->qos_session (this->qos_session_); // Register the QoS Event Handler with the Reactor. return this->reactor_->register_handler (this->qos_event_handler_, ACE_Event_Handler::READ_MASK); #endif return 0; }
Requests on the class are forwarded to this base class;.
Definition at line 160 of file QoS_Decorator.h.
Handles the QoS events and in that sense decorates the usual ACE_Event_Handler.
Definition at line 164 of file QoS_Decorator.h.
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.