Source: streamreport.h


Annotated List
Files
Globals
Hierarchy
Index
// ##########################################################################
// ####                                                                  ####
// ####                      RTP Audio Server Project                    ####
// ####                    ============================                  ####
// ####                                                                  ####
// #### Stream Report                                                    ####
// ####                                                                  ####
// #### 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 STREAMREPORT_H
#define STREAMREPORT_H


#include "system.h"
#include "synchronizable.h"
#include "internetaddress.h"
#include "trafficclassvalues.h"


namespace Coral {


/**
  * This class contains a report for a single stream.
  *
  * @short   Stream Report
  * @author  Thomas Dreibholz (Dreibholz@bigfoot.com)
  * @version 1.0
  *
  * @see StreamManagerReport
  */
struct StreamReport
{
   // ====== Constructor ====================================================
   /**
     * Constructor.
     */
   StreamReport();

   // ====== Byte order translation =========================================
   /**
     * Translate byte order.
     */
   void translate();

   // ====== Reset ==========================================================
   /**
     * Reset.
     */
   void reset();


   // ====== Comparision operators ==========================================
   /**
     * Implementation of == operator.
     */
   int operator==(const StreamReport& report) const;

   /**
     * Implementation of == operator.
     */
   int operator!=(const StreamReport& report) const;

   
   // ====== Values =========================================================
   public:
   /**
     * Source address of the stream.
     */
   PortableAddress Source;

   /**
     * Destination address of the stream.
     */
   PortableAddress Destination;

   /**
     * Flow label.
     */
   card32 FlowLabel;


   /**
     * Raw bytes sent in each traffic class.
     */
   card64 BytesRaw[TrafficClassValues::MaxValues];

   /**
     * Payload bytes sent in each traffic class.
     */
   card64 BytesPayload[TrafficClassValues::MaxValues];

   /**
     * Packets sent in traffic class.
     */
   card32 Packets[TrafficClassValues::MaxValues];
};


/**
  * Implementation of << operator.
  */
ostream& operator<<(ostream& os, const StreamReport& report);


}


#endif

Generated by: viper@odin on Fri Feb 23 12:41:26 2001, using kdoc 2.0a36.