gem5  v20.1.0.0
Public Member Functions | Private Attributes | List of all members
Consumer Class Referenceabstract

#include <Consumer.hh>

Inheritance diagram for Consumer:
AbstractController CrossbarSwitch InputUnit NetworkInterface NetworkLink OutputUnit PerfectSwitch Router SwitchAllocator Throttle

Public Member Functions

 Consumer (ClockedObject *_em)
 
virtual ~Consumer ()
 
virtual void wakeup ()=0
 
virtual void print (std::ostream &out) const =0
 
virtual void storeEventInfo (int info)
 
bool alreadyScheduled (Tick time)
 
void insertScheduledWakeupTime (Tick time)
 
ClockedObjectgetObject ()
 
void scheduleEventAbsolute (Tick timeAbs)
 
void scheduleEvent (Cycles timeDelta)
 

Private Attributes

std::set< Tickm_scheduled_wakeups
 
ClockedObjectem
 

Detailed Description

Definition at line 43 of file Consumer.hh.

Constructor & Destructor Documentation

◆ Consumer()

Consumer::Consumer ( ClockedObject _em)
inline

Definition at line 46 of file Consumer.hh.

◆ ~Consumer()

virtual Consumer::~Consumer ( )
inlinevirtual

Definition at line 52 of file Consumer.hh.

Member Function Documentation

◆ alreadyScheduled()

bool Consumer::alreadyScheduled ( Tick  time)
inline

Definition at line 60 of file Consumer.hh.

References m_scheduled_wakeups.

Referenced by SwitchAllocator::check_for_wakeup().

◆ getObject()

ClockedObject* Consumer::getObject ( )
inline

Definition at line 72 of file Consumer.hh.

References em.

Referenced by NetworkBridge::scheduleFlit().

◆ insertScheduledWakeupTime()

void Consumer::insertScheduledWakeupTime ( Tick  time)
inline

Definition at line 66 of file Consumer.hh.

References m_scheduled_wakeups.

◆ print()

virtual void Consumer::print ( std::ostream &  out) const
pure virtual

◆ scheduleEvent()

void Consumer::scheduleEvent ( Cycles  timeDelta)

◆ scheduleEventAbsolute()

void Consumer::scheduleEventAbsolute ( Tick  timeAbs)

◆ storeEventInfo()

virtual void Consumer::storeEventInfo ( int  info)
inlinevirtual

Reimplemented in PerfectSwitch.

Definition at line 57 of file Consumer.hh.

Referenced by MessageBuffer::enqueue().

◆ wakeup()

virtual void Consumer::wakeup ( )
pure virtual

Member Data Documentation

◆ em

ClockedObject* Consumer::em
private

Definition at line 83 of file Consumer.hh.

Referenced by getObject().

◆ m_scheduled_wakeups

std::set<Tick> Consumer::m_scheduled_wakeups
private

Definition at line 82 of file Consumer.hh.

Referenced by alreadyScheduled(), and insertScheduledWakeupTime().


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

Generated on Wed Sep 30 2020 14:02:22 for gem5 by doxygen 1.8.17