ACE_GQoS_Session Class Reference

A GQoS session object. More...

#include <QoS_Session_Impl.h>

Inheritance diagram for ACE_GQoS_Session:

Inheritance graph
[legend]
Collaboration diagram for ACE_GQoS_Session:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 ~ACE_GQoS_Session (void)
 Default destructor.
virtual int open (ACE_INET_Addr dest_addr, ACE_Protocol_ID protocol_id)
 Open a GQoS session [dest IP, dest port, Protocol ID].
virtual int close (void)
 Close the GQoS Session.
virtual ACE_QoS qos (void) const
 Returns the QoS for this GQoS session.
virtual int qos (ACE_SOCK *socket, ACE_QoS_Manager *qos_manager, const ACE_QoS &ace_qos)
virtual void qos (const ACE_QoS &ace_qos)
virtual int update_qos (void)
virtual ACE_End_Point_Type flags (void) const
 Get/Set methods for the flags_.
virtual void flags (const ACE_End_Point_Type flags)
virtual ACE_INET_Addr dest_addr (void) const
 Get the destination address for this GQoS session.
virtual void dest_addr (const ACE_INET_Addr &dest_addr)
 Set the destination address for this GQoS session.
virtual u_short source_port (void) const
 Get the source port for this session.
virtual void source_port (const u_short &source_port)
 Set the source port for this session.
virtual ACE_INET_Addrsource_addr (void) const
virtual void source_addr (ACE_INET_Addr *source_addr)
 Set the source port for this session.
virtual int session_id (void) const
 Get the GQoS session id.
virtual void session_id (const int session_id)
 Set the GQoS session id.
virtual ACE_HANDLE rsvp_events_handle (void)
 Get the file descriptor of the underlying socket.
virtual void rsvp_event_type (RSVP_Event_Type event_type)
virtual RSVP_Event_Type rsvp_event_type (void)
 Set the RAPI event that last occured.
virtual int version ()
 Get the RAPI event that last occured.

Static Public Attributes

static int GQoS_session_id = 0

Private Member Functions

 ACE_GQoS_Session (void)

Friends

class ACE_QoS_Session_Factory


Detailed Description

A GQoS session object.

This class is a GQoS (Generic QoS, an implementation of RSVP on Win2K) implementation of the ACE_QoS_Session interface.


Constructor & Destructor Documentation

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE ACE_GQoS_Session::~ACE_GQoS_Session ( void   ) 

Default destructor.

ACE_GQoS_Session::ACE_GQoS_Session ( void   )  [private]

Default constructor. Constructor is defined private so that only the friend factory can instantiate this class.


Member Function Documentation

int ACE_GQoS_Session::open ( ACE_INET_Addr  dest_addr,
ACE_Protocol_ID  protocol_id 
) [virtual]

Open a GQoS session [dest IP, dest port, Protocol ID].

Implements ACE_QoS_Session.

int ACE_GQoS_Session::close ( void   )  [virtual]

Close the GQoS Session.

Implements ACE_QoS_Session.

ACE_INLINE ACE_QoS ACE_GQoS_Session::qos ( void   )  const [virtual]

Returns the QoS for this GQoS session.

Implements ACE_QoS_Session.

int ACE_GQoS_Session::qos ( ACE_SOCK socket,
ACE_QoS_Manager qos_manager,
const ACE_QoS ace_qos 
) [virtual]

Set QoS for this GQoS session. The socket parameter is used to confirm if this QoS session was subscribed to by the socket.

Implements ACE_QoS_Session.

ACE_INLINE void ACE_GQoS_Session::qos ( const ACE_QoS ace_qos  )  [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 ().

Implements ACE_QoS_Session.

int ACE_GQoS_Session::update_qos ( void   )  [virtual]

Calls the ioctl (ACE_SIO_GET_QOS). It is a mechanism of updating the QoS for this session asynchronously, as RSVP events occur.

Implements ACE_QoS_Session.

ACE_INLINE ACE_QoS_Session::ACE_End_Point_Type ACE_GQoS_Session::flags ( void   )  const [virtual]

Get/Set methods for the flags_.

Implements ACE_QoS_Session.

ACE_INLINE void ACE_GQoS_Session::flags ( const ACE_End_Point_Type  flags  )  [virtual]

Implements ACE_QoS_Session.

ACE_INLINE ACE_INET_Addr ACE_GQoS_Session::dest_addr ( void   )  const [virtual]

Get the destination address for this GQoS session.

Implements ACE_QoS_Session.

ACE_INLINE void ACE_GQoS_Session::dest_addr ( const ACE_INET_Addr dest_addr  )  [virtual]

Set the destination address for this GQoS session.

Implements ACE_QoS_Session.

ACE_INLINE u_short ACE_GQoS_Session::source_port ( void   )  const [virtual]

Get the source port for this session.

Implements ACE_QoS_Session.

ACE_INLINE void ACE_GQoS_Session::source_port ( const u_short &  source_port  )  [virtual]

Set the source port for this session.

Implements ACE_QoS_Session.

ACE_INLINE ACE_INET_Addr * ACE_GQoS_Session::source_addr ( void   )  const [virtual]

Implements ACE_QoS_Session.

ACE_INLINE void ACE_GQoS_Session::source_addr ( ACE_INET_Addr source_addr  )  [virtual]

Set the source port for this session.

Implements ACE_QoS_Session.

ACE_INLINE int ACE_GQoS_Session::session_id ( void   )  const [virtual]

Get the GQoS session id.

Implements ACE_QoS_Session.

ACE_INLINE void ACE_GQoS_Session::session_id ( const int  session_id  )  [virtual]

Set the GQoS session id.

Implements ACE_QoS_Session.

ACE_INLINE ACE_HANDLE ACE_GQoS_Session::rsvp_events_handle ( void   )  [virtual]

Get the file descriptor of the underlying socket.

Implements ACE_QoS_Session.

void ACE_GQoS_Session::rsvp_event_type ( ACE_QoS_Session::RSVP_Event_Type  event_type  )  [virtual]

Implements ACE_QoS_Session.

ACE_QoS_Session::RSVP_Event_Type ACE_GQoS_Session::rsvp_event_type ( void   )  [virtual]

Set the RAPI event that last occured.

Implements ACE_QoS_Session.

ACE_INLINE int ACE_GQoS_Session::version ( void   )  [virtual]

Get the RAPI event that last occured.

GQoS version.

Implements ACE_QoS_Session.


Friends And Related Function Documentation

friend class ACE_QoS_Session_Factory [friend]

The factory is a friend so it can create this object through the only private constructor.


Member Data Documentation

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_END_VERSIONED_NAMESPACE_DECL ACE_BEGIN_VERSIONED_NAMESPACE_DECL int ACE_GQoS_Session::GQoS_session_id = 0 [static]

This is a session ID generator. It does a lot more than expected from an int!.


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

Generated on Thu Nov 27 04:56:59 2008 for ACE_QoS by  doxygen 1.5.6