gem5 v25.0.0.1
Loading...
Searching...
No Matches
gem5::ruby::Consumer Class Referenceabstract

#include <Consumer.hh>

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

Public Member Functions

 Consumer (ClockedObject *em, Event::Priority ev_prio=Event::Default_Pri)
virtual ~Consumer ()
virtual void wakeup ()=0
virtual void print (std::ostream &out) const =0
virtual void storeEventInfo (int info)
bool alreadyScheduled (Tick time)
ClockedObject * getObject ()
void scheduleEventAbsolute (Tick timeAbs)
void scheduleEvent (Cycles timeDelta)

Private Member Functions

void scheduleNextWakeup ()
void processCurrentEvent ()

Private Attributes

std::set< Tick > m_wakeup_ticks
EventFunctionWrapper m_wakeup_event
ClockedObject * em

Detailed Description

Definition at line 61 of file Consumer.hh.

Constructor & Destructor Documentation

◆ Consumer()

◆ ~Consumer()

virtual gem5::ruby::Consumer::~Consumer ( )
inlinevirtual

Definition at line 68 of file Consumer.hh.

Member Function Documentation

◆ alreadyScheduled()

bool gem5::ruby::Consumer::alreadyScheduled ( Tick time)
inline

Definition at line 76 of file Consumer.hh.

References m_wakeup_ticks.

◆ getObject()

ClockedObject * gem5::ruby::Consumer::getObject ( )
inline

Definition at line 82 of file Consumer.hh.

References em.

◆ print()

◆ processCurrentEvent()

void gem5::ruby::Consumer::processCurrentEvent ( )
private

Definition at line 86 of file Consumer.cc.

References em, m_wakeup_ticks, scheduleNextWakeup(), and wakeup().

Referenced by Consumer().

◆ scheduleEvent()

◆ scheduleEventAbsolute()

◆ scheduleNextWakeup()

void gem5::ruby::Consumer::scheduleNextWakeup ( )
private

Definition at line 71 of file Consumer.cc.

References em, m_wakeup_event, and m_wakeup_ticks.

Referenced by processCurrentEvent(), scheduleEvent(), and scheduleEventAbsolute().

◆ storeEventInfo()

virtual void gem5::ruby::Consumer::storeEventInfo ( int info)
inlinevirtual

Reimplemented in gem5::ruby::PerfectSwitch.

Definition at line 73 of file Consumer.hh.

◆ wakeup()

Member Data Documentation

◆ em

◆ m_wakeup_event

EventFunctionWrapper gem5::ruby::Consumer::m_wakeup_event
private

Definition at line 92 of file Consumer.hh.

Referenced by Consumer(), and scheduleNextWakeup().

◆ m_wakeup_ticks

std::set<Tick> gem5::ruby::Consumer::m_wakeup_ticks
private

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

Generated on Sat Oct 18 2025 08:07:02 for gem5 by doxygen 1.14.0