ACE_QoS 8.0.2
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Attributes | List of all members
ACE_QoS_Session Class Referenceabstract

A QoS Session object. More...

#include <QoS_Session.h>

Inheritance diagram for ACE_QoS_Session:
Inheritance graph
[legend]
Collaboration diagram for ACE_QoS_Session:
Collaboration graph
[legend]

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 ()
 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 ()=0
 Close the QoS Session.
 
virtual ACE_QoS qos () 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 ()=0
 
virtual ACE_End_Point_Type flags () const =0
 Get/Set methods for the flags_.
 
virtual void flags (const ACE_End_Point_Type flags)=0
 
virtual int session_id () 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 ()=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 ()=0
 Set the RAPI event that last occurred.
 
virtual ACE_INET_Addr dest_addr () const =0
 Get the RAPI event that last occurred.
 
virtual void dest_addr (const ACE_INET_Addr &dest_addr)=0
 Set the destination address for this session.
 
virtual u_short source_port () 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_Addrsource_addr () const =0
 
virtual void source_addr (ACE_INET_Addr *source_addr)=0
 Set the source port for this session.
 
virtual int version ()=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_Addrsrc_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

◆ ACE_End_Point_Type

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

Enumerator
ACE_QOS_SENDER 
ACE_QOS_RECEIVER 
ACE_QOS_BOTH 

◆ RSVP_Event_Type

Enumerator
RSVP_PATH_EVENT 
RSVP_RESV_EVENT 
RSVP_RESV_CONFIRM 
RSVP_RESV_ERROR 
RSVP_PATH_ERROR 

Constructor & Destructor Documentation

◆ ~ACE_QoS_Session()

virtual ACE_QoS_Session::~ACE_QoS_Session ( )
inlinevirtual

to shutup g++.

Member Function Documentation

◆ close()

virtual int ACE_QoS_Session::close ( )
pure virtual

Close the QoS Session.

Implemented in ACE_GQoS_Session.

◆ dest_addr() [1/2]

virtual ACE_INET_Addr ACE_QoS_Session::dest_addr ( ) const
pure virtual

Get the RAPI event that last occurred.

Get the destination address for this session.

Implemented in ACE_GQoS_Session.

◆ dest_addr() [2/2]

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.

◆ flags() [1/2]

virtual ACE_End_Point_Type ACE_QoS_Session::flags ( ) const
pure virtual

Get/Set methods for the flags_.

Implemented in ACE_GQoS_Session.

◆ flags() [2/2]

virtual void ACE_QoS_Session::flags ( const ACE_End_Point_Type flags)
pure virtual

Implemented in ACE_GQoS_Session.

◆ open()

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.

◆ qos() [1/3]

virtual ACE_QoS ACE_QoS_Session::qos ( ) const
pure virtual

Returns the QoS in the current session.

Implemented in ACE_GQoS_Session.

◆ qos() [2/3]

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.

◆ qos() [3/3]

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.

◆ rsvp_event_type() [1/2]

virtual RSVP_Event_Type ACE_QoS_Session::rsvp_event_type ( )
pure virtual

Set the RAPI event that last occurred.

Implemented in ACE_GQoS_Session.

◆ rsvp_event_type() [2/2]

virtual void ACE_QoS_Session::rsvp_event_type ( RSVP_Event_Type event_type)
pure virtual

Implemented in ACE_GQoS_Session.

◆ rsvp_events_handle()

virtual ACE_HANDLE ACE_QoS_Session::rsvp_events_handle ( )
pure virtual

Get the file descriptor on which RSVP events will occur.

Implemented in ACE_GQoS_Session.

◆ session_id() [1/2]

virtual int ACE_QoS_Session::session_id ( ) const
pure virtual

Get the session id.

Implemented in ACE_GQoS_Session.

◆ session_id() [2/2]

virtual void ACE_QoS_Session::session_id ( const int session_id)
pure virtual

Set the session id.

Implemented in ACE_GQoS_Session.

◆ source_addr() [1/2]

virtual ACE_INET_Addr * ACE_QoS_Session::source_addr ( ) const
pure virtual

Implemented in ACE_GQoS_Session.

◆ source_addr() [2/2]

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.

◆ source_port() [1/2]

virtual u_short ACE_QoS_Session::source_port ( ) const
pure virtual

Get the source port for this session.

Implemented in ACE_GQoS_Session.

◆ source_port() [2/2]

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.

◆ update_qos()

virtual int ACE_QoS_Session::update_qos ( )
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.

◆ version()

virtual int ACE_QoS_Session::version ( )
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

◆ dest_addr_

ACE_INET_Addr ACE_QoS_Session::dest_addr_
protected

Destination address for this session.

◆ flags_

ACE_End_Point_Type ACE_QoS_Session::flags_
protected

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

◆ protocol_id_

ACE_Protocol_ID ACE_QoS_Session::protocol_id_
protected

Is this a TCP or a UDP session.

◆ qos_

ACE_QoS ACE_QoS_Session::qos_
protected

QoS for this session.

◆ rsvp_event_type_

RSVP_Event_Type ACE_QoS_Session::rsvp_event_type_
protected

◆ session_id_

int ACE_QoS_Session::session_id_
protected

session id for the session.

◆ source_port_

u_short ACE_QoS_Session::source_port_
protected

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

◆ src_addr_

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: