Source: traceclientapppacket.h
|
|
|
|
// ##########################################################################
// #### ####
// #### 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. |