Source: networkmonitorsimulator.h


Annotated List
Files
Globals
Hierarchy
Index
// ##########################################################################
// ####                                                                  ####
// ####                      RTP Audio Server Project                    ####
// ####                    ============================                  ####
// ####                                                                  ####
// #### Network Monitor Simulator                                        ####
// ####                                                                  ####
// #### Version 1.00  --  February 04, 2001                              ####
// ####                                                                  ####
// #### Copyright (C) 1999  Thomas Dreibholz                             ####
// ####               2000  Universität Bonn, Abt. IV                    ####
// ####               2001  EMail: Dreibholz@bigfoot.com                 ####
// ####                     WWW:   http://www.bigfoot.com/~dreibholz     ####
// ####                                                                  ####
// ##########################################################################


#ifndef NETWORKMONITORSIMULATOR_H
#define NETWORKMONITORSIMULATOR_H


#include "system.h"
#include "networkmonitorinterface.h"


namespace Coral {


/**
  * This class implements a network monitor simulator.
  *
  * @short   Network monitor simulator
  * @author  Thomas Dreibholz (Dreibholz@bigfoot.com)
  * @version 1.0
  */
class NetworkMonitorSimulator : virtual public NetworkMonitorInterface
{
   // ====== Constructor/Destructor =========================================
   public:
   /**
     * Constructor for new NetworkMonitorSimulator.
     */
   NetworkMonitorSimulator(const card64 bandwidth);

   /**
     * Destructor.
     */
   ~NetworkMonitorSimulator();


   // ====== Status functions ===============================================
   /**
     * ready() Implementation of NetworkMonitorInterface.
     *
     * @see NetworkMonitorInterface#ready
     */
   bool ready() const;

   /**
     * Set congestion for reports to be generated.
     */
   inline void setCongestion(const double percent);


   // ====== Lock functions =================================================
   /**
     * lock() implementation of NetworkMonitorInterface.
     *
     * @see NetworkMonitorInterface#lock
     */ 
   void lock();

   /**
     * unlock() implementation of NetworkMonitorInterface.
     *
     * @see NetworkMonitorInterface#unlock
     */ 
   void unlock();


   // ====== Report functions ===============================================
   /**
     * resetReport() Implementation of NetworkMonitorInterface.
     *
     * @see NetworkMonitorInterface#resetReport
     */
   void resetReport();

   /**
     * getReport() Implementation of NetworkMonitorInterface.
     *
     * @see NetworkMonitorInterface#getReport
     */
   void getReport(NetworkMonitorReport* report);

   /**
     * moveReport() Implementation of NetworkMonitorInterface.
     *
     * @see NetworkMonitorInterface#moveReport
     */
   void moveReport(NetworkMonitorReport* report);


   // ====== Private data ===================================================
   private:
   card64               Bandwidth;
   card64               TimeStamp;
   double               Congestion;
   NetworkMonitorReport Report;
};


}


#include "networkmonitorsimulator.icc"


#endif

Generated by: viper@odin on Sun Feb 4 18:54:51 2001, using kdoc 2.0a22.