SlotTableSeq Class Reference

#include <slot.h>

Collaboration diagram for SlotTableSeq:

List of all members.

Public Member Functions

 SlotTableSeq (uint slotTableSize, TTime slotTablePeriod)
 ~SlotTableSeq ()
uint getSlotTableSize () const
TTime getSlotTablePeriod () const
uint nrFreeSlots (const TTime startTime, const TTime duration)
SlotTablesIter seqBegin ()
SlotTablesCIter seqBegin () const
SlotTablesIter seqEnd ()
SlotTablesCIter seqEnd () const
void insertSlotTable (SlotTablesIter pos, SlotTable &s)
void setUsedSlots (SlotReservations &s, TTime startTime, TTime endTime)
void reserveSlots (NoCSchedulingEntity *e, SlotReservations &s, const ulong linkSeqNr)
void releaseSlots (NoCSchedulingEntity *e, const ulong linkSeqNr)

Private Attributes

uint slotTableSize
TTime slotTablePeriod
SlotTables seq

Detailed Description

SlotTableSeq A sequence of slot tables


Constructor & Destructor Documentation

SlotTableSeq::SlotTableSeq ( uint  slotTableSize,
TTime  slotTablePeriod 
)

SlotTableSeq Constructor

References seq, SlotTable::setEndTime(), and SlotTable::setStartTime().

Here is the call graph for this function:

SlotTableSeq::~SlotTableSeq (  ) 

SlotTableSeq Constructor


Member Function Documentation

TTime SlotTableSeq::getSlotTablePeriod (  )  const [inline]
uint SlotTableSeq::getSlotTableSize (  )  const [inline]
void SlotTableSeq::insertSlotTable ( SlotTablesIter  pos,
SlotTable s 
) [inline]

References seq.

Referenced by reserveSlots(), and setUsedSlots().

uint SlotTableSeq::nrFreeSlots ( const TTime  startTime,
const TTime  duration 
)

nrFreeSlots () The function returns the number of free slots within the time interval given by the start time and duration.

References SlotTable::getEndTime(), getSlotTablePeriod(), getSlotTableSize(), SlotTable::isSlotFree(), seqBegin(), and seqEnd().

Here is the call graph for this function:

void SlotTableSeq::releaseSlots ( NoCSchedulingEntity e,
const ulong  linkSeqNr 
)

releaseSlots () Release the claim on the slot in the slot tables made by scheduling entity e. The 'linkSeqNr' indicates the position of the link this slot table sequence belongs to. The linkSeqNr starts at zero (=first link in route of e).

References NoCSchedulingEntity::getDuration(), SlotTable::getEndTime(), getSlotTablePeriod(), SlotTable::getStartTime(), NoCSchedulingEntity::getStartTime(), SlotTable::releaseSlots(), seqBegin(), and seqEnd().

Here is the call graph for this function:

void SlotTableSeq::reserveSlots ( NoCSchedulingEntity e,
SlotReservations slots,
const ulong  linkSeqNr 
)

reserveSlots () Reserve all slots in the slot tables for scheduling entity e. The 'linkSeqNr' indicates the position of the link this slot table sequence belongs to. The linkSeqNr starts at zero (=first link in route of e).

References ASSERT, NoCSchedulingEntity::getDuration(), SlotTable::getEndTime(), getSlotTablePeriod(), SlotTable::getStartTime(), NoCSchedulingEntity::getStartTime(), insertSlotTable(), SlotTable::reserveSlots(), seqBegin(), seqEnd(), SlotTable::setEndTime(), and SlotTable::setStartTime().

Referenced by Link::reserveSlots().

Here is the call graph for this function:

SlotTablesIter SlotTableSeq::seqBegin (  )  [inline]
SlotTablesCIter SlotTableSeq::seqBegin (  )  const [inline]

References seq.

SlotTablesCIter SlotTableSeq::seqEnd (  )  const [inline]

References seq.

void SlotTableSeq::setUsedSlots ( SlotReservations s,
TTime  startTime,
TTime  endTime 
)

setUsedSlots () The function marks the slots specified in s as occupied between the given start and end time by another schedule.

References SlotTable::getEndTime(), SlotTable::getStartTime(), insertSlotTable(), seqBegin(), seqEnd(), SlotTable::setEndTime(), SlotTable::setStartTime(), and SlotTable::setUsedSlots().

Referenced by Link::setUsedSlots().

Here is the call graph for this function:


Member Data Documentation


The documentation for this class was generated from the following files: