# ACE_QoS_Session Class Reference

A QoS Session object. More...

`#include <QoS_Session.h>`

Inheritance diagram for ACE_QoS_Session:

[legend]
Collaboration diagram for ACE_QoS_Session:

[legend]
List of all members.

## Public Types

enum | RSVP_Event_Type { RSVP_PATH_EVENT, RSVP_RESV_EVENT, RSVP_RESV_CONFIRM, RSVP_RESV_ERROR, RSVP_PATH_ERROR }
enum | ACE_End_Point_Type { ACE_QOS_SENDER, ACE_QOS_RECEIVER, ACE_QOS_BOTH }

## Public Member Functions

virtual | ~ACE_QoS_Session (void)
| to shutup g++.
virtual int | open (ACE_INET_Addr dest_addr, ACE_Protocol_ID protocol_id)=0
| Open a QoS session [dest IP, dest port, Protocol ID].
virtual int | close (void)=0
| Close the QoS Session.
virtual ACE_QoS | qos (void) const =0
| Returns the QoS in the current session.
virtual int | qos (ACE_SOCK *socket, ACE_QoS_Manager *qos_manager, const ACE_QoS &ace_qos)=0
virtual void | qos (const ACE_QoS &ace_qos)=0
virtual int | update_qos (void)=0
virtual ACE_End_Point_Type | flags (void) const =0
| Get/Set methods for the flags_.
virtual void | flags (const ACE_End_Point_Type flags)=0
virtual int | session_id (void) const =0
| Get the session id.
virtual void | session_id (const int session_id)=0
| Set the session id.
virtual ACE_HANDLE | rsvp_events_handle (void)=0
| Get the file descriptor on which RSVP events will occur.
virtual void | rsvp_event_type (RSVP_Event_Type event_type)=0
virtual RSVP_Event_Type | rsvp_event_type (void)=0
| Set the RAPI event that last occured.
virtual ACE_INET_Addr | dest_addr (void) const =0
| Get the RAPI event that last occured Get the destination address for this session.
virtual void | dest_addr (const ACE_INET_Addr &dest_addr)=0
| Set the destination address for this session.
virtual u_short | source_port (void) const =0
| Get the source port for this session.
virtual void | source_port (const u_short &source_port)=0
| Set the source port for this session.
virtual ACE_INET_Addr * | source_addr (void) const =0
virtual void | source_addr (ACE_INET_Addr *source_addr)=0
| Set the source port for this session.
virtual int | version (void)=0

## Protected Attributes

u_short | source_port_
| Source port if this is a Sender session. Used for rapi_sender ().
int | session_id_
| session id for the session.
ACE_INET_Addr | dest_addr_
| Destination address for this session.
ACE_INET_Addr * | src_addr_
| Source address for this session.
ACE_Protocol_ID | protocol_id_
| Is this a TCP or a UDP session.
ACE_QoS | qos_
| QoS for this session.
ACE_End_Point_Type | flags_
| Specifies if this is a sending/receiving/both session.
RSVP_Event_Type | rsvp_event_type_

## Detailed Description

A QoS Session object.

This class defines the interface for a QoS Session. It abstracts the notion of QoS on different platforms and presents a simple, easy-to-use API. Current [RAPI,GQoS] and future implementations will conform to this interface.

## Member Enumeration Documentation

enum ACE_QoS_Session::ACE_End_Point_Type

A flag to indicate if this endpoint is a sender or a receiver or both.

Enumeration values:

  ACE_QOS_SENDER |
  ACE_QOS_RECEIVER |
  ACE_QOS_BOTH |

enum ACE_QoS_Session::RSVP_Event_Type

Enumeration values:

  RSVP_PATH_EVENT |
  RSVP_RESV_EVENT |
  RSVP_RESV_CONFIRM |
  RSVP_RESV_ERROR |
  RSVP_PATH_ERROR |

## Constructor & Destructor Documentation

virtual ACE_QoS_Session::~ACE_QoS_Session | ( | void |  | ) | `[inline, virtual]`

| to shutup g++.

## Member Function Documentation

virtual int ACE_QoS_Session::close | ( | void |  | ) | `[pure virtual]`

| Close the QoS Session. Implemented in ACE_GQoS_Session.

virtual void ACE_QoS_Session::dest_addr | ( | const ACE_INET_Addr & | dest_addr | ) | `[pure virtual]`

| Set the destination address for this session. Implemented in ACE_GQoS_Session.

virtual ACE_INET_Addr ACE_QoS_Session::dest_addr | ( | void |  | ) | const`[pure virtual]`

| Get the RAPI event that last occured Get the destination address for this session. Implemented in ACE_GQoS_Session.

virtual void ACE_QoS_Session::flags | ( | const ACE_End_Point_Type | flags | ) | `[pure virtual]`

| Implemented in ACE_GQoS_Session.

virtual ACE_End_Point_Type ACE_QoS_Session::flags | ( | void |  | ) | const`[pure virtual]`

| Get/Set methods for the flags_. Implemented in ACE_GQoS_Session.

virtual int ACE_QoS_Session::open | ( | ACE_INET_Addr | dest_addr,
|  | ACE_Protocol_ID | protocol_id
| ) | `[pure virtual]`

| Open a QoS session [dest IP, dest port, Protocol ID]. Implemented in ACE_GQoS_Session.

virtual void ACE_QoS_Session::qos | ( | const ACE_QoS & | ace_qos | ) | `[pure virtual]`

| Sets the QoS for this session object to ace_qos. Does not interfere with the QoS in the underlying socket. This call is useful to update the QoS object when the underlying socket QoS is being set through a mechanism other than the previous qos () method e.g. inside the dgram_mcast.subscribe () where the QoS for the socket is set through ACE_OS::join_leaf (). Implemented in ACE_GQoS_Session.

virtual int ACE_QoS_Session::qos | ( | ACE_SOCK * | socket,
|  | ACE_QoS_Manager * | qos_manager,
|  | const ACE_QoS & | ace_qos
| ) | `[pure virtual]`

| Set QoS for the current session. The qos manager is used to confirm if this QoS session was subscribed to by the socket. Implemented in ACE_GQoS_Session.

virtual ACE_QoS ACE_QoS_Session::qos | ( | void |  | ) | const`[pure virtual]`

| Returns the QoS in the current session. Implemented in ACE_GQoS_Session.

virtual RSVP_Event_Type ACE_QoS_Session::rsvp_event_type | ( | void |  | ) | `[pure virtual]`

| Set the RAPI event that last occured. Implemented in ACE_GQoS_Session.

virtual void ACE_QoS_Session::rsvp_event_type | ( | RSVP_Event_Type | event_type | ) | `[pure virtual]`

virtual ACE_HANDLE ACE_QoS_Session::rsvp_events_handle | ( | void |  | ) | `[pure virtual]`

| Get the file descriptor on which RSVP events will occur. Implemented in ACE_GQoS_Session.

virtual void ACE_QoS_Session::session_id | ( | const int | session_id | ) | `[pure virtual]`

| Set the session id. Implemented in ACE_GQoS_Session.

virtual int ACE_QoS_Session::session_id | ( | void |  | ) | const`[pure virtual]`

| Get the session id. Implemented in ACE_GQoS_Session.

virtual void ACE_QoS_Session::source_addr | ( | ACE_INET_Addr * | source_addr | ) | `[pure virtual]`

| Set the source port for this session. Implemented in ACE_GQoS_Session.

virtual ACE_INET_Addr* ACE_QoS_Session::source_addr | ( | void |  | ) | const`[pure virtual]`

| Implemented in ACE_GQoS_Session.

virtual void ACE_QoS_Session::source_port | ( | const u_short & | source_port | ) | `[pure virtual]`

| Set the source port for this session. Implemented in ACE_GQoS_Session.

virtual u_short ACE_QoS_Session::source_port | ( | void |  | ) | const`[pure virtual]`

| Get the source port for this session. Implemented in ACE_GQoS_Session.

virtual int ACE_QoS_Session::update_qos | ( | void |  | ) | `[pure virtual]`

| This is called from handle_qos () method of the the QoS Event Handler. Invoking this method is an indication of a QoS event occurring, that may have resulted in a change of QoS for the underlying session. This method updates the QoS object associated with this session. Implemented in ACE_GQoS_Session.

virtual int ACE_QoS_Session::version | ( | void |  | ) | `[pure virtual]`

| Returns the version of the underlying RSVP implementation. Is meaningful only when the underlying implementation has versioning. Implemented in ACE_GQoS_Session.

## Member Data Documentation

ACE_INET_Addr ACE_QoS_Session::dest_addr_`[protected]`

| Destination address for this session.

ACE_End_Point_Type ACE_QoS_Session::flags_`[protected]`

| Specifies if this is a sending/receiving/both session.

ACE_Protocol_ID ACE_QoS_Session::protocol_id_`[protected]`

| Is this a TCP or a UDP session.

ACE_QoS ACE_QoS_Session::qos_`[protected]`

| QoS for this session.

RSVP_Event_Type ACE_QoS_Session::rsvp_event_type_`[protected]`

int ACE_QoS_Session::session_id_`[protected]`

| session id for the session.

u_short ACE_QoS_Session::source_port_`[protected]`

| Source port if this is a Sender session. Used for rapi_sender ().

ACE_INET_Addr* ACE_QoS_Session::src_addr_`[protected]`

| Source address for this session.

The documentation for this class was generated from the following file:

- QoS_Session.h