Public Member Functions |
| | BandwidthManager (ServiceLevelAgreement *sla, RoundTripTimePinger *rttp) |
| | ~BandwidthManager () |
| void | addStream (ManagedStreamInterface *stream, const cardinal sessionID=0, const char *name=NULL) |
| void | removeStream (ManagedStreamInterface *stream) |
| void | updateStream (ManagedStreamInterface *stream) |
| void | forceCompleteRemapping () |
| void | intervalChangeEvent (ManagedStreamInterface *stream, const bool isNew, const card64 when, const bool newRUList) |
| void | reportEvent (ManagedStreamInterface *stream, const RTCPReceptionReportBlock *report, const cardinal layer) |
| void | bufferFlushEvent (ManagedStreamInterface *stream, const cardinal layer) |
| void | timerEvent () |
| void | setLogStream (ostream *logStream) |
| void | getPartialRemapping (bool &enabled, double &reservedPortion, double &utilizationTolerance, double &maxRemappingInterval) const |
| void | setPartialRemapping (const bool enabled, const double reservedPortion, const double utilizationTolerance, const double maxRemappingInterval) |
| void | getFairness (double &fairnessSession, double &fairnessStream) const |
| void | setFairness (const double fairnessSession, const double fairnessStream) |
| void | getQoSOptimizationParameters (cardinal &maxRUPoints, double &utilizationThreshold, card64 &bandwidthThreshold, double &systemDelayTolerance, bool &unlayeredAllocation) const |
| void | setQoSOptimizationParameters (const cardinal maxRUPoints, const double utilizationThreshold, const card64 bandwidthThreshold, const double systemDelayTolerance, const bool unlayeredAllocation) |
| void | updateReservation (StreamDescription *streamDescription) |
Public Attributes |
| card64 | TotalAvailableBandwidth |
| card64 | ClassAvailableBandwidthArray [TrafficClassValues::MaxValues] |
| card64 | TotalBandwidth |
| card64 | ClassBandwidthArray [TrafficClassValues::MaxValues] |
| int64 | SLAUpdateRecommendation [TrafficClassValues::MaxValues] |
| card64 | StreamIDGenerator |
| card64 | LastCompleteRemapping |
| card64 | LastCompleteRemappingDuration |
| cardinal | CompleteRemappings |
| cardinal | PartialRemappings |
| cardinal | TotalBufferFlushes |
multimap
< ManagedStreamInterface
*, StreamDescription * > | StreamSet |
multimap< cardinal,
SessionDescription * > | SessionSet |
| ServiceLevelAgreement * | SLA |
| cardinal | Streams |
| cardinal | Sessions |
| cardinal | MaxRUPoints |
| double | UtilizationThreshold |
| card64 | BandwidthThreshold |
| double | SystemDelayTolerance |
| double | FairnessSession |
| double | FairnessStream |
| double | AlphaLossRate |
| double | AlphaJitter |
| double | PartialRemappingPortion |
| double | PartialRemappingUtilizationTolerance |
| card64 | MaxRemappingInterval |
| bool | EnablePartialRemappings |
| bool | UnlayeredAllocation |
Static Public Attributes |
| static card64 | SimulatorTime = 0 |
Private Member Functions |
| cardinal | calculateSessionMultiPoints (SessionDescription *session, const cardinal offset, const cardinal lastPoint, ResourceUtilizationMultiPoint *rumpList) |
| void | getRoundTripTimes (StreamDescription *sd) |
| double | getPriorityFactor (const int8 streamPriority) const |
| double | getResourcePart (const ResourceUtilizationSimplePoint &rup) const |
| double | getResourcePart (const ResourceUtilizationMultiPoint &rump) const |
| double | getStreamSortingValue (const ResourceUtilizationSimplePoint &rup) const |
| double | getSessionSortingValue (const ResourceUtilizationMultiPoint &rump) const |
| bool | tryAllocation (ResourceUtilizationMultiPoint &rump, const card64 bandwidthLimit=(card64)-1) |
| void | doAllocationTrials (ResourceUtilizationMultiPoint *rumpList, const cardinal points, const card64 bandwidthLimit=(card64)-1) |
| bool | doPartialRemapping (StreamDescription *streamDescription) |
| void | doCompleteRemapping () |
Static Private Member Functions |
| static void | smoothedUpdate (double &value, const double measured, const double alpha) |
Private Attributes |
| RoundTripTimePinger * | RTTP |
| ostream * | Log |
| card64 | LogStartupTimeStamp |
| bool | Changed |
Bandwidth Manager.
This is the bandwidth manager.
- Author:
- Thomas Dreibholz
- Version:
- 1.0