Source: networkmonitorsimulator.h
|
|
|
|
// ##########################################################################
// #### ####
// #### RTP Audio Server Project ####
// #### ============================ ####
// #### ####
// #### Network Monitor Simulator ####
// #### ####
// #### Version 1.00 -- February 23, 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 Fri Feb 23 12:41:26 2001, using kdoc 2.0a36. |