serviceflowqos.h
上传用户:hzie11
上传日期:2013-10-07
资源大小:1487k
文件大小:2k
源码类别:

网络

开发平台:

C/C++

  1. /* This software was developed at the National Institute of Standards and
  2.  * Technology by employees of the Federal Government in the course of
  3.  * their official duties. Pursuant to title 17 Section 105 of the United
  4.  * States Code this software is not subject to copyright protection and
  5.  * is in the public domain.
  6.  * NIST assumes no responsibility whatsoever for its use by other parties,
  7.  * and makes no guarantees, expressed or implied, about its quality,
  8.  * reliability, or any other characteristic.
  9.  * <BR>
  10.  * We would appreciate acknowledgement if the software is used.
  11.  * <BR>
  12.  * NIST ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION AND
  13.  * DISCLAIM ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING
  14.  * FROM THE USE OF THIS SOFTWARE.
  15.  * </PRE></P>
  16.  * @author  rouil
  17.  */
  18. #ifndef SERVICEFLOWQOS_H
  19. #define SERVICEFLOWQOS_H
  20. /**
  21.  * Class ServiceFlowQoS
  22.  * Defines Qos requirements for the flows
  23.  */ 
  24. class ServiceFlowQoS {
  25.   
  26.  public:
  27.   /**
  28.    * Constructor
  29.    * @param delay The maximum supported delay for the connection
  30.    * @param datarate Average datarate
  31.    * @param burstsize Size of each burst
  32.    */
  33.   ServiceFlowQoS (int delay, int datarate, int burstsize);
  34.   
  35.   /**
  36.    * Return the maximum delay supported by the connection
  37.    */
  38.   inline double  getDelay () { return delay_; }
  39.   
  40.   /**
  41.    * Return the average datarate
  42.    */
  43.   inline double  getDatarate () { return datarate_; }
  44.   
  45.   /**
  46.    * Return the burst size
  47.    */
  48.   inline int  getBurstSize () { return burstsize_; }
  49.   
  50.   /**
  51.    * Set the maximum delay supported by the connection
  52.    * @param delay The new delay
  53.    */
  54.   inline void  setDelay (double delay) { delay_ = delay; }
  55.   
  56.   /**
  57.    * Set the average datarate for the connection
  58.    * @param datarate The average datarate
  59.    */
  60.   inline void  setDatarate (double datarate) { datarate_ = datarate; }
  61.   
  62.   /**
  63.    * Set the burst size for the connection
  64.    * @param size The number of byte sent for each burst
  65.    */
  66.   inline void  setBurstSize (int size) { burstsize_ = size; }
  67.   
  68.  protected:
  69.  private:
  70.   /**
  71.    * The maximum delay for this connection (in sec)
  72.    */
  73.    double delay_;
  74.   /**
  75.    * The average datarate
  76.    */
  77.    double datarate_;
  78.   /**
  79.    * The number of bytes per burst
  80.    */
  81.    int burstsize_;
  82. };
  83. #endif //SERVICEFLOWQOS_H