namespace Coral


List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Types

Public Methods

Public Members


Detailed Description

AbstractLayerDescription (class)

This class contains a layer's QoS requirements. Important node: All frames sizes in this class are *raw* frame sizes, the frames sizes in FrameSizeScalability are payload frame sizes. This class does necessary translation.

AbstractQoSDescription (class)

This class contains a stream's QoS requirements.

ostream&  operator<< (ostream& os, const AbstractQoSDescription& aqd)

Output operator.

BandwidthInfo (struct)

This is a description of bandwidth requirements.

ostream&  operator<< (ostream& os, const BandwidthInfo& bi)

Operator "<<".

BandwidthManager (class)

This is the bandwidth manager.

void  installBreakDetector ()

Install break handler.

void  uninstallBreakDetector ()

Uninstall break handler.

bool  breakDetected ()

Check, if break has been detected.

ConstantBitrateFrameSizeScalability (class)

This class is an implementation of FrameSizeScalabilityInterface. Important node: All frames sizes in this class are payload frame sizes!

DecoderPacket (struct)

This structure contains packet information for handleNextPacket() call.

DecoderInterface (class)

This class is the interface for a decoder.

DecoderRepositoryInterface (class)

This class is a repository for decoders.

EncoderPacket (struct)

This structure contains packet information for getNextPacket() call.

EncoderInterface (class)

This class is the interface for an encoder.

EncoderRepositoryInterface (class)

This class is a repository for encoders.

FrameRateScalabilityInterface (class)

This class is an interface for frame rate scalability.

FrameSizeScalabilityInterface (class)

This class is an interface for frame size scalability. Important node: All frames sizes in this class are payload frame sizes!

GenericFrameSizeScalability (class)

This class is a generic implementation of FrameSizeScalabilityInterface. It provides basic functionality for subclasses. Important node: All frames sizes in this class are payload frame sizes!

extern TraceConfiguration TraceConfig

Global trace configuration, filled with default values.

InternetAddress (class)

This class manages an internet address.

InternetFlow (class)

This class inherits InternetAddress and contains an additional flow label for IPv6 support.

ManagedStreamInterface (class)

This is an interface for a bandwidth-managed stream.

enum MediaError {ME_NoError = 0, ME_NoMedia = 1, ME_EOF = 2, ME_UnrecoverableError = 20, ME_BadMedia = ME_UnrecoverableError + 0, ME_ReadError = ME_UnrecoverableError + 1, ME_OutOfMemory = ME_UnrecoverableError + 2, }

Definition of encoder errors.

const card64 PositionStepsPerSecond

Constant for position steps per second: 1 step = 1 nanosecond;

MediaInfo (class)

This class contains information on a media.

ostream&  operator<< (ostream& os, const MediaInfo& mi)

Output operator.

MP3QoSDescription (class)

This class extends TraceWriterQoSDescription by MP3-specific utilization calculation necessary to generate resource/utilization lists.

MP3TraceArray (class)

This is an array of MP3 layer traces.

MP3WriterQoSDescription (class)

This is the QoS description of a trace, extended by methods for MP3 resource/utilization calculation. These overwrite the ones which are used for calculating utilization from the trace file by the ones which use a new configuration. This is necessary to update the utilization of the file.

MPEGQoSDescription (class)

This class extends TraceWriterQoSDescription by MPEG-specific utilization calculation necessary to generate resource/utilization lists.

MPEGTraceArray (class)

This is an array of MPEG layer traces.

MPEGWriterQoSDescription (class)

This is the QoS description of a trace, extended by methods for MPEG resource/utilization calculation. These overwrite the ones which are used for calculating utilization from the trace file by the ones which use a new configuration. This is necessary to update the utilization of the file.

PingerHost (struct)

This structure contains internal information for RoundTripTimePinger.

inline int  operator== (const PingerHost& ph1, const PingerHost& ph2)

Operator "==".

inline int  operator== (const PingerHost& ph1, const PingerHost& ph2)

Operator "!=".

inline int  operator< (const PingerHost& ph1, const PingerHost& ph2)

Operator "<".

inline int  operator> (const PingerHost& ph1, const PingerHost& ph2)

Operator ">".

PortableAddress (class)

Binary representation for a socket address for sending the address over a network. The difference between InternetAddress is that PortableAddress does not contain hidden information on virtual function management, which make network transfer of InternetAddress objects problematic.

Randomizer (class)

This class is an randomizer. The randomizer algorithm will calculate random numbers with seed given by system timer (microseconds since January 01, 1970) or given by a number.

ResourceUtilizationPoint (class)

This class is a resource/utilization point used for the bandwidth mapping algorithm.

ostream&  operator<< (ostream& os, const ResourceUtilizationPoint& rup)

Output operator.

RoundTripTimePinger (class)

This class implements a round trip time pinger.

RTCPAbstractServer (class)

This class is an abstract RTCP server.

enum RTCP_Type {RTCP_SR = 200, RTCP_RR = 201, RTCP_SDES = 202, RTCP_BYE = 203, RTCP_APP = 204 }

Definition of RTCP message types.

enum RTCP_SDES_Type {RTCP_SDES_END = 0, RTCP_SDES_CNAME = 1, RTCP_SDES_NAME = 2, RTCP_SDES_EMAIL = 3, RTCP_SDES_PHONE = 4, RTCP_SDES_LOC = 5, RTCP_SDES_TOOL = 6, RTCP_SDES_NOTE = 7, RTCP_SDES_PRIV = 8 }

Definition of RTCP SDES message types.

RTCPCommonHeader (class)

This class manages a common RTCP header.

See also: RTCPSender, RTCPReceiver, RTCPAbstractServer

RTCPSenderInfoBlock (class)

This class manages a sender info block

See also: RTCPSender, RTCPReceiver, RTCPAbstractServer

RTCPReceptionReportBlock (class)

This class manages a reception report block

See also: RTCPSender, RTCPReceiver, RTCPAbstractServer

RTCPReport (class)

This class manages an RTCP report.

See also: RTCPSender, RTCPReceiver, RTCPAbstractServer

RTCPSenderReport (class)

This class manages an RTCP sender report

See also: RTCPSender, RTCPReceiver, RTCPAbstractServer

RTCPReceiverReport (class)

This class manages an RTCP receiver report

See also: RTCPSender, RTCPReceiver, RTCPAbstractServer

RTCPSourceDescriptionItem (class)

This class manages an RTCP source description item

See also: RTCPSender, RTCPReceiver, RTCPAbstractServer

RTCPSourceDescriptionChunk (class)

This class manages an RTCP source description chunk

See also: RTCPSender, RTCPReceiver, RTCPAbstractServer

RTCPSourceDescription (class)

This class manages an RTCP source description (SDES)

See also: RTCPSender, RTCPReceiver, RTCPAbstractServer

RTCPBye (class)

This class manages an RTCP BYE message

See also: RTCPSender, RTCPReceiver, RTCPAbstractServer

RTCPApp (class)

This class manages an RTCP APP message

See also: RTCPSender, RTCPReceiver, RTCPAbstractServer

RTCPReceiver (class)

This class implements an RTCP receiver based on Thread.

RTCPSender (class)

This class implements an RTCP sender based on TimedThread.

RTPConstants (namespace)

RTPPacket (class)

This class manages an RTP packet

See also: RTPSender, RTPReceiver

RTPReceiver (class)

This class implements an RTP receiver based on Thread.

RTPSender (class)

This class implements an RTP sender based on TimedThread.

SeqNumValidator (class)

This class is a validator for sequence numbers. It is based on the algorithm described in RFC 1889. It can use sequence numbers up to a size of 64 bits. Jitter and fraction loss calculation is also done by this class.

DiffServClass (struct)

This is a DiffServ class.

ServiceLevelAgreement (class)

This class is a service level agreement (SLA).

ostream&  operator<< (ostream& os, const ServiceLevelAgreement config)

Output operator.

SocketAddress (class)

This class is an interface for a socket address.

inline ostream&  operator<< (ostream& os, const SocketAddress& sa)

Output operator.

const cardinal UDPHeaderSize

UDP header size.

const cardinal IPv4HeaderSize

IPv4 header size.

const cardinal IPv6HeaderSize

IPv6 header size.

Socket (class)

This class manages a socket. IPv6 support is automatically available, when supported by the system.

SourceStateInfo (class)

This class manages the source state information of an RTP receiver to be transmitted by a RTCPSender. See also RFC 1889 for more information on RTP.

See also: RTPReceiver, RTCPSender

StreamDescription (class)

This class contains a description of a stream. It is used for the bandwidth manager's remapping algorithm.

Synchronizable (class)

This class realizes synchronized access to a thread's data by other threads. Synchronization is done by using a global pthread mutex and obtaining access to this mutex by synchronized() for synchronized access and releasing this mutex for unsynchronized access. IMPORTANT: Do *not* use synchronized()/unsynchronized() within async signal handlers. This may cause deadlocks. See PThread's pthread_mutex_lock man-page, section "Async Signal Safety" for more information!

enum UtilityFunctions {/** * Linear: U(x) = x. * Parameters: none */ UF_Linear = 0x0000, /** * Exponential #1 (from [LS98]): U(x) = 1 - exp(a*x + b). * a = (ln(-0.95 + 1) - b) / q95 * b = (q95 * ln(-0.05 + 1) - q50 * ln(-0.95 + 1)) / (q95 - q50) * * Parameters: * q50 = Scale factor for 50% perceptual quality. * q95 = Scale facotr for 95% perceptual quality. */ UF_Exponential1 = 0x0010, /** * Exponential #2 (from [Rog98]): U(x) = a*ln(b*x + c). * U(1) = 0, U(2) = 1. * This is equal to U(x) = a*ln(b*(x+1) + c) with U(0) = 0, U(1) = 1. * a = 1 / (p - 10) * b = exp(1/a) - 1 * c = 2 - exp(1/a) * * Parameters: * p = Sensitivity */ UF_Exponential2 = 0x0011, /** * Undefined. */ UF_Undefined = 0xffff }

This is an enumeration of predefined utility function types.

TDTFPrefixExtensionHeader (struct)

This is the TDTF prefix extension header.

TDTFPrefix (struct)

This is a TDTF file's prefix.

TDTFSuffix (struct)

This is a TDTF file's suffix.

EmpiricalEnvelopePair (struct)

This is a D-BIND entry of an empirical envelope.

EmpiricalEnvelope (struct)

This is the header for an empirical envelope.

FrameDescription (struct)

This is an entry of a trace, it describes one frame.

TraceHeader (struct)

This is the header for a trace.

UtilizationHeader (struct)

This is the header for a trace.

ResourceUtilizationEntry (struct)

This is an entry of a resource/utilization list.

ResourceUtilizationHeader (struct)

This is the header for a resource/utilization list.

IntervalHeader (struct)

This is the header for an interval description.

LayerHeader (struct)

This is the header for a layer description.

PositionLengthIntervalIndexEntry (struct)

This is an entry of the Position/Length/Interval index.

PositionLengthIntervalIndexHeader (struct)

This is the header of the Position/Length/Interval index.

ResourceUtilizationListIndexEntry (struct)

This is an entry of the resource/utilization list index.

ResourceUtilizationListIndexHeader (struct)

This is the resource/utilization list index header.

MainIndexEntry (struct)

This is an entry of the frame rate index.

MainIndexHeader (struct)

This is the header of the frame rate index.

TDTFMediaReader (class)

This class is a media reader for TDTF trace files.

TDTFReader (class)

This class is a reader for a TDTF trace file. The file will be mapped to memory using mmap() to provide easy access to trace and interval data.

TDTFWriter (class)

This class is a writer for TDTF files.

Thread (class)

This abstract class realizes threads based on Linux's pthreads. The user of this class has to implement run(). Synchronization is implemented by inheriting Synchronizable. IMPORTANT: Do *not* use Thread methods within async signal handlers. This may cause deadlocks. See PThread's pthread_mutex_lock man-page, section "Async Signal Safety" for more information!

TimedThread (class)

This abstract class realizes a timed thread based on Thread. The user of this class has to implement timerEvent(). Inaccurate system timers are corrected by calling user's timerEvent() implementation multiple times if necessary. This feature can be modified by setTimerCorrection (Default is on at a maximum of 10 calls). IMPORTANT: Do *not* use Thread methods within async signal handlers. This may cause deadlocks. See PThread's pthread_mutex_lock man-page, section "Async Signal Safety" for more information!

inline void  debug (const char* string)

Debug output.

Parameters:
stringDebug string to be written to cerr.

card64  getMicroTime ()

Get microseconds since January 01, 1970.

Returns: Microseconds since January 01, 1970.

inline card16  translate16 (const card16 x)

Translate 16-bit value to network byte order.

Parameters:
xValue to be translated.

Returns: Translated value.

inline card32  translate32 (const card32 x)

Translate 32-bit value to network byte order.

Parameters:
xValue to be translated.

Returns: Translated value.

inline card64  translate64 (const card64 x)

Translate 64-bit value to network byte order.

Parameters:
xValue to be translated.

Returns: Translated value.

inline card64  translateToBinary (const double x)

Translate double to 64-bit binary.

Parameters:
xValue to be translated.

Returns: Translated value.

inline double  translateToDouble (const card64 x)

Translate 64-bit binary to double.

Parameters:
xValue to be translated.

Returns: Translated value.

cardinal  calculatePacketsPerSecond (const cardinal payloadBytesPerSecond, const cardinal framesPerSecond, const cardinal maxPacketSize, const cardinal headerLength)

Calculate packets per second.

Asumption: Every frame has it's own packets.

Parameters:
payloadBytesPerSecondByte rate of payload data.
framesPerSecondFrame rate.
maxPacketSizeMaximum size of a packet.
headerLengthLength of header for each frame.

Returns: Total bytes per second.

cardinal  calculateBytesPerSecond (const cardinal payloadBytesPerSecond, const cardinal framesPerSecond, const cardinal maxPacketSize, const cardinal headerLength)

Calculate frames per second.

Asumption: Every frame has it's own packets.

Parameters:
payloadBytesPerSecondByte rate of payload data.
framesPerSecondFrame rate.
maxPacketSizeMaximum size of a packet.
headerLengthLength of header for each frame.

Returns: Total frames per second.

bool  scanURL (const String& location, String& protocol, String& host, String& path)

Scan protocol, host and path from an URL string. The protocol my be missing, if the String "protocol" is initialized with a default.

Parameters:
locationString with URL.
protocolPlace to store the protocol name.
hostPlace to store the host name.
pathPlace to store the path.

Returns: true on success; false otherwise.

void  printTimeStamp (ostream& os = cout)

Print time stamp (date and time) to given output stream.

Parameters:
osOutput stream.

void*  operator new (size_t size) throw (std::bad_alloc)

operator new() replacement for usage with libefence.

void  operator delete (void* ptr) throw ()

operator delete() replacement for usage with libefence.

TraceArray (class)

This is an array of layer traces.

ostream&  operator<< (ostream& os, const TraceArray& traceArray)

Output operator.

const card8 TraceServerDefaultTrafficClass

Default traffic class/TOS for RTP data connection from server to client.

const card8 TraceClientDefaultTrafficClass

Default traffic class/TOS for RTCP control connection from client to server.

TraceClientAppPacket (class)

This class defines the packet format for the trace client's RTCP APP-PRIV messages.

See also: TraceClient, TraceServer

TraceClient (class)

This class is a trace client.

TraceLayerConfiguration (struct)

This is a layer's trace configuration.

TraceConfiguration (struct)

This is a trace configuration.

ostream&  operator<< (ostream& os, const TraceConfiguration& config)

Output operator.

TraceDecoder (class)

This class is a trace decoder.

TraceDecoderInterface (class)

This class is the interface for a trace decoder.

TraceDecoderRepository (class)

This class is a repository for trace decoders.

TraceEncoder (class)

This class is a trace encoder.

TraceEncoderInterface (class)

This class is the interface for a trace encoder.

TraceEncoderRepository (class)

This class is a repository for trace encoders.

TraceFrameRateScalability (class)

This class is an implementation of FrameRateScalabilityInterface.

TraceFrameSizeScalability (class)

This class is am implementation of FrameSizeScalabilityInterface. Important node: All frames sizes in this class are payload frame sizes!

TracePacket (class)

This class defines the packet format for the trace encoder.

See also: TraceEncoder, TraceDecoder

TracePacketData (struct)

This is the trace packet payload.

TraceLayerDescription (class)

This is the QoS description of a trace layer.

TraceQoSDescription (class)

This is the QoS description of a trace stream.

TraceServer (class)

This class is an trace server based on RTCPAbstractServer

TrafficClassValues (class)

This class contains a set of values for the traffic class/TOS byte of IP packets. This class contains only static methods and attributes.

UnixAddress (class)

This class manages an unix socket address.

double  evaluateUtilityFunction (const cardinal type, const double scaleFactor, const double* constantArray, const cardinal constants)

Evaluate utility function of given type.

Parameters:
typeUtility function type.
scaleFactorScale factor to evaluate utility function for (out of [0,1]).
constantArrayArray of utility function's constants.
constantsNumber of constants.

Returns: Result.

inline double  evaluateUtilityFunctionTranslated (const cardinal type, const double scaleFactor, const card64* constantArray, const cardinal constants)

Evaluate utility function of given type using byte-order translated constants (translateToDouble()).

Parameters:
typeUtility function type.
scaleFactorScale factor to evaluate utility function for (out of [0,1]).
constantArrayArray of utility function's constants.
constantsNumber of constants.

Returns: Result.

See also: translateToDouble, translateToBinary


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