NAME

ACE_QoS_Session - A QoS Session object.

SYNOPSIS

#include <ace/QoS_Session.h>

class ACE_QoS_Session { public: enum ACE_End_Point_Type{ ACE_QOS_SENDER, ACE_QOS_RECEIVER, ACE_QOS_BOTH }; virtual ~ACE_QoS_Session (void) {}; virtual int open ( ACE_INET_Addr dest_addr, ACE_Protocol_ID protocol_id ) = 0; virtual int close (void) = 0; virtual ACE_QoS qos (void) const = 0; virtual int qos (ACE_SOCK *socket, const ACE_QoS &ace_qos) = 0; virtual void qos (const ACE_QoS &ace_qos) = 0; virtual int update_qos (void) = 0; virtual int session_id (void) const = 0; virtual void session_id (const int session_id) = 0; virtual ACE_INET_Addr dest_addr (void) const = 0; virtual void dest_addr (const ACE_INET_Addr &dest_addr) = 0; virtual int version (void) = 0; protected: int session_id_; ACE_INET_Addr dest_addr_; ACE_Protocol_ID protocol_id_; ACE_QoS qos_; ACE_End_Point_Type flags_; };

DESCRIPTION

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.

PUBLIC MEMBERS

virtual ~ACE_QoS_Session (void) {};

virtual int open (
    ACE_INET_Addr dest_addr,
    ACE_Protocol_ID protocol_id
    ) = 0;

virtual int close (void) = 0;

virtual ACE_QoS qos (void) const = 0;

virtual int qos (ACE_SOCK *socket, const ACE_QoS &ace_qos) = 0;

virtual void qos (const ACE_QoS &ace_qos) = 0;

virtual int update_qos (void) = 0;

virtual int session_id (void) const = 0;

virtual void session_id (const int session_id) = 0;

virtual ACE_INET_Addr dest_addr (void) const = 0;

virtual void dest_addr (const ACE_INET_Addr &dest_addr) = 0;

virtual int version (void) = 0;

PROTECTED MEMBERS

int session_id_;

ACE_INET_Addr dest_addr_;

ACE_Protocol_ID protocol_id_;

ACE_QoS qos_;

ACE_End_Point_Type flags_;

AUTHOR

Vishal Kachroo vishal@cs.wustl.edu

LIBRARY

ace