Source: traceclientapppacket.h


Annotated List
Files
Globals
Hierarchy
Index
// ##########################################################################
// ####                                                                  ####
// ####                    Master Thesis Implementation                  ####
// ####  Management of Layered Variable Bitrate Multimedia Streams over  ####
// ####                  DiffServ with A Priori Knowledge                ####
// ####                                                                  ####
// #### ================================================================ ####
// ####                                                                  ####
// ####                                                                  ####
// #### Trace Client App Packet                                          ####
// ####                                                                  ####
// #### Version 1.00  --  October 10, 2000                               ####
// ####                                                                  ####
// #### Copyright (C) 2000 Thomas Dreibholz                              ####
// #### University of Bonn, Department of Computer Science IV            ####
// #### EMail: Dreibholz@bigfoot.com                                     ####
// #### WWW:   http://www.bigfoot.com/~dreibholz/diplom/index.html       ####
// ####                                                                  ####
// ##########################################################################


#ifndef AUDIOCLIENTAPP_H
#define AUDIOCLIENTAPP_H


// #include <linux/ip.h>


namespace Coral {


// ###### IPv6 Traffic Class Settings #######################################
/**
  * Default traffic class/TOS for RTP data connection from server to client.
  */
const card8 TraceServerDefaultTrafficClass = 0x00;
   // IPTOS_THROUGHPUT|IPTOS_RELIABILITY|IPTOS_LOWDELAY|IPTOS_PREC_FLASH;

/**
  * Default traffic class/TOS for RTCP control connection from client to server.
  */
const card8 TraceClientDefaultTrafficClass = 0x00;
   // IPTOS_RELIABILITY|IPTOS_PREC_PRIORITY;


/**
  * This class defines the packet format for the trace client's
  * RTCP APP-PRIV messages.
  *
  * @short   Trace Client RTCP-SDES-APP-PRIV Packet
  * @author  Thomas Dreibholz (Dreibholz@bigfoot.com)
  * @version 1.0
  *
  * @see TraceClient
  * @see TraceServer
  */
class TraceClientAppPacket
{
   // ====== Constructor ====================================================
   public:
   /**
     * Constructor.
     */
   TraceClientAppPacket();

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


   // ====== Status functions ===============================================
   /**
     * Reset report.
     */
   void reset();


   // ====== Constants ======================================================
   /**
     * Packet ID for TraceClient RTCP APP message.
     */
   static const card32 TraceClientFormatID = 0x64643554;

   /**
     * Definition of TraceClient commands in APP message.
     */
   enum TraceClientAppMode {
      TCAS_UnknownCommand = 0,
      TCAS_Play           = 1,
      TCAS_Pause          = 2
   };

   /**
     * RTP Trace Server default port.
     */
   static const cardinal RTPTraceDefaultPort = 7100;


   // ====== Packet data ====================================================
   public:
   /**
     * Packet ID.
     */
   card32 FormatID;

   /**
     * Sequence number.
     */
   card16 SequenceNumber;

   /**
     * Sequence number for position changes.
     */
   card16 PosChgSeqNumber;

   /**
     * Start position in nanoseconds or 0xffff...ff, if unused.
     */   
   card64 StartPosition;

   /**
     * Position to start from if server has been restarted.
     */
   card64 RestartPosition;

   /**
     * Wanted utilization;
     */
   card64 WantedUtilization;

   /**
     * Minimum wanted bandwidth.
     */
   card32 MinWantedBandwidth;

   /**
     * Maximum wanted bandwidth.
     */
   card32 MaxWantedBandwidth;

   /**
     * Max wanted delay.
     */
   card32 MaxWantedDelay;

   /**
     * Client status.
     */
   card16 Status;

   /**
     * Encoding.
     */
   card16 Encoding;

   /**
     * Stream priority.
     */
   int8 StreamPriority;

   /**
     * Session priority.
     */
   int8 SessionPriority;

   /**
     * Session descriptor.
     */
   card32 SessionDescriptor;

   /**
     * Media name, e.g. "TraceFiles/Test1.tdtf".
     */
   char MediaName[128];
};


}


#endif

Generated by: viper@odin on Mon Oct 16 11:49:26 2000, using kdoc 2.0a36.