gem5  v19.0.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Protected 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)
 
void scheduleEventAbsolute (Tick timeAbs)
 

Protected Member Functions

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.

References print(), and wakeup().

Member Function Documentation

◆ alreadyScheduled()

bool Consumer::alreadyScheduled ( Tick  time)
inline

Definition at line 60 of file Consumer.hh.

References m_scheduled_wakeups.

◆ insertScheduledWakeupTime()

void Consumer::insertScheduledWakeupTime ( Tick  time)
inline

Definition at line 66 of file Consumer.hh.

References m_scheduled_wakeups, scheduleEvent(), and scheduleEventAbsolute().

◆ print()

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

◆ scheduleEvent()

void Consumer::scheduleEvent ( Cycles  timeDelta)
protected

◆ 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 78 of file Consumer.hh.

◆ m_scheduled_wakeups

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

Definition at line 77 of file Consumer.hh.

Referenced by alreadyScheduled(), and insertScheduledWakeupTime().


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

Generated on Fri Feb 28 2020 16:27:09 for gem5 by doxygen 1.8.13