class StreamDescription

Stream Description. More...

Full nameCoral::StreamDescription
Definition#include <streamdescription.h>
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Methods

Public Members


Detailed Description

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

 StreamDescription ()

Constructor.

StreamDescription ()

Destructor.

void  init (ManagedStreamInterface* stream)

Initialize.

Parameters:
aqdThe stream's AbstractQoSDescription. ?????????

bool  calculateLayerClassMapping (const ServiceLevelAgreement* sla, const ResourceUtilizationPoint* rup)

Calculate list of possible layer -> DiffServ class mappings.

Parameters:
slaService level agreement.
rupResource/utilization point to do calculation for.

Returns: true, if a mapping has been found; false otherwise.

bool  tryAllocation (cardinal& totalAvailableBandwidth, cardinal* classAvailableBandwidthArray, ResourceUtilizationPoint* rup)

Try to allocate given layer bandwidths to a stream. If allocation is successful, the availability references are decremented by the bandwidth allocation.

Parameters:
totalAvailableBandwidthReference to total available bandwidth.
classAvailableBandwidthArrayAvailable bandwidths for each DiffServ class.
rupResource/utilization point to do allocation for.

ManagedStreamInterface* Interface

AbstractQoSDescription* QoSDescription

Stream's AbstractQoSDescription.

cardinal Layers

Number of layers.

cardinal [RTPConstants::RTPMaxQualityLayers] LayerClasses

Number of possible DiffServ classes for the layers.

cardinal [RTPConstants::RTPMaxQualityLayers][TrafficClassValues::MaxValues] LayerClassMapping

List of possible DiffServ classes for the layers.

cardinal [RTPConstants::RTPMaxQualityLayers] ClassNumber

The layer's allocated DiffServ class number.

cardinal [RTPConstants::RTPMaxQualityLayers] ClassBandwidth

The layer's allocated bandwidth.

double OldUtilization

Old utilization of the stream.

double NewUtilization

New utilization of the stream.

bool MaximumReached

True, if all following higher bandwidth allocations will fail (no more bandwidth available to achieve higher quality -> no more allocation trials necessary); false otherwise.

static const cardinal RUMaxEntries

ResourceUtilizationPoint Quality

card64 NextInterval

cardinal RUEntries

ResourceUtilizationPoint [RUMaxEntries] RUList