Source: networkmonitorreport.h
|
|
|
|
// ##########################################################################
// #### ####
// #### RTP Audio Server Project ####
// #### ============================ ####
// #### ####
// #### Network Monitor Report ####
// #### ####
// #### 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 NETWORKMONITORREPORT_H
#define NETWORKMONITORREPORT_H
#include "system.h"
#include "trafficclassvalues.h"
namespace Coral {
/**
* This is a network report, which can be read from a NetworkMonitor.
*
* @short Network Monitor Report
* @author Thomas Dreibholz (Dreibholz@bigfoot.com)
* @version 1.0
*/
class NetworkMonitorReport
{
// ====== Constructor ====================================================
public:
/**
* Constructor.
*/
NetworkMonitorReport();
// ====== Byte order translation =========================================
/**
* Translate byte order.
*/
void translate();
// ====== Status functions ===============================================
/**
* Reset report.
*/
void reset();
// ====== Report data ===================================================
/**
* Interval of the report in microseconds.
*/
card64 Interval;
/**
* Timestamp of this report (microseconds since 01-Jan-1970).
*/
card64 TimeStamp;
/**
* Bytes of raw data transmitted over network interface.
*/
card64 BytesRaw;
/**
* Bytes transmitted in IPv6 packets.
*/
card64 BytesIPv4;
/**
* Bytes transmitted in IPv6 packets.
*/
card64 BytesIPv6;
/**
* Bytes transmitted in TCP packets inclusive TCP header.
*/
card64 BytesTCP;
/**
* Bytes transmitted in TCP packets without TCP headers.
*/
card64 BytesTCPData;
/**
* Bytes transmitted in UDP packets inclusive UDP header.
*/
card64 BytesUDP;
/**
* Bytes transmitted in UDP packets without UDP headers.
*/
card64 BytesUDPData;
/**
* Bytes transmitted in ICMP version 4 packets inclusive ICMP header.
*/
card64 BytesICMP4;
/**
* Bytes transmitted in ICMP version 6 packets inclusive ICMP header.
*/
card64 BytesICMP6;
/**
* Number of raw packets transmitted over network interface.
*/
card32 PacketsRaw;
/**
* Number of IPv4 packets transmitted.
*/
card32 PacketsIPv4;
/**
* Number of IPv6 packets transmitted.
*/
card32 PacketsIPv6;
/**
* Number of TCP packets transmitted.
*/
card32 PacketsTCP;
/**
* Number of UDP packets transmitted.
*/
card32 PacketsUDP;
/**
* Number of ICMP version 4 packets transmitted.
*/
card32 PacketsICMP4;
/**
* Number of ICMP version 6 packets transmitted.
*/
card32 PacketsICMP6;
/**
* Number of raw bytes grouped by QoS class.
*/
card64 ClassBytes[TrafficClassValues::MaxValues];
/**
* Number of packets grouped by QoS class.
*/
card32 ClassPackets[TrafficClassValues::MaxValues];
};
/**
* Implementation of << operator.
*/
ostream& operator<<(ostream& os, const NetworkMonitorReport& report);
}
#endif
Generated by: viper@odin on Sun Feb 4 18:54:51 2001, using kdoc 2.0a22. |