gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
Message Class Referenceabstract

#include <Message.hh>

Inheritance diagram for Message:
RubyRequest

Public Member Functions

 Message (Tick curTime)
 
 Message (const Message &other)
 
virtual ~Message ()
 
virtual MsgPtr clone () const =0
 
virtual void print (std::ostream &out) const =0
 
virtual const MessageSizeType & getMessageSize () const
 
virtual MessageSizeType & getMessageSize ()
 
virtual bool functionalRead (Packet *pkt)=0
 The two functions below are used for reading / writing the message functionally. More...
 
virtual bool functionalWrite (Packet *pkt)=0
 
void updateDelayedTicks (Tick curTime)
 Update the delay this message has experienced so far. More...
 
Tick getDelayedTicks () const
 
void setLastEnqueueTime (const Tick &time)
 
Tick getLastEnqueueTime () const
 
Tick getTime () const
 
void setMsgCounter (uint64_t c)
 
uint64_t getMsgCounter () const
 
virtual const NetDestgetDestination () const
 
virtual NetDestgetDestination ()
 
int getIncomingLink () const
 
void setIncomingLink (int link)
 
int getVnet () const
 
void setVnet (int net)
 

Private Attributes

const Tick m_time
 
Tick m_LastEnqueueTime
 
Tick m_DelayedTicks
 
uint64_t m_msg_counter
 
int incoming_link
 
int vnet
 

Detailed Description

Definition at line 43 of file Message.hh.

Constructor & Destructor Documentation

Message::Message ( Tick  curTime)
inline

Definition at line 46 of file Message.hh.

Message::Message ( const Message other)
inline

Definition at line 52 of file Message.hh.

virtual Message::~Message ( )
inlinevirtual

Definition at line 59 of file Message.hh.

Member Function Documentation

virtual MsgPtr Message::clone ( ) const
pure virtual

Implemented in RubyRequest.

virtual bool Message::functionalRead ( Packet pkt)
pure virtual

The two functions below are used for reading / writing the message functionally.

The methods return true if the address in the packet matches the address / address range in the message. Each message class that can be potentially searched for the address needs to implement these methods.

Implemented in RubyRequest.

virtual bool Message::functionalWrite ( Packet pkt)
pure virtual
Tick Message::getDelayedTicks ( ) const
inline

Definition at line 86 of file Message.hh.

References m_DelayedTicks.

virtual const NetDest& Message::getDestination ( ) const
inlinevirtual
virtual NetDest& Message::getDestination ( )
inlinevirtual

Definition at line 98 of file Message.hh.

References panic.

int Message::getIncomingLink ( ) const
inline

Definition at line 101 of file Message.hh.

References incoming_link.

Tick Message::getLastEnqueueTime ( ) const
inline

Definition at line 89 of file Message.hh.

References m_LastEnqueueTime.

Referenced by MessageBuffer::enqueue(), and operator>().

virtual const MessageSizeType& Message::getMessageSize ( ) const
inlinevirtual

Definition at line 64 of file Message.hh.

References panic.

Referenced by NetworkInterface::flitisizeMessage(), network_message_to_size(), and Throttle::operateVnet().

virtual MessageSizeType& Message::getMessageSize ( )
inlinevirtual

Definition at line 66 of file Message.hh.

References panic.

uint64_t Message::getMsgCounter ( ) const
inline

Definition at line 93 of file Message.hh.

References m_msg_counter.

Referenced by operator>().

Tick Message::getTime ( ) const
inline

Definition at line 91 of file Message.hh.

References m_time.

int Message::getVnet ( ) const
inline

Definition at line 103 of file Message.hh.

References vnet.

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

Implemented in RubyRequest.

Referenced by operator<<().

void Message::setIncomingLink ( int  link)
inline

Definition at line 102 of file Message.hh.

References incoming_link.

void Message::setLastEnqueueTime ( const Tick time)
inline

Definition at line 88 of file Message.hh.

References m_LastEnqueueTime.

Referenced by WireBuffer::enqueue(), and MessageBuffer::enqueue().

void Message::setMsgCounter ( uint64_t  c)
inline

Definition at line 92 of file Message.hh.

References ArmISA::c, and m_msg_counter.

Referenced by MessageBuffer::enqueue().

void Message::setVnet ( int  net)
inline

Definition at line 104 of file Message.hh.

References vnet.

void Message::updateDelayedTicks ( Tick  curTime)
inline

Update the delay this message has experienced so far.

Definition at line 80 of file Message.hh.

References m_DelayedTicks, and m_LastEnqueueTime.

Referenced by MessageBuffer::enqueue().

Member Data Documentation

int Message::incoming_link
private

Definition at line 113 of file Message.hh.

Referenced by getIncomingLink(), and setIncomingLink().

Tick Message::m_DelayedTicks
private

Definition at line 109 of file Message.hh.

Referenced by getDelayedTicks(), and updateDelayedTicks().

Tick Message::m_LastEnqueueTime
private

Definition at line 108 of file Message.hh.

Referenced by getLastEnqueueTime(), setLastEnqueueTime(), and updateDelayedTicks().

uint64_t Message::m_msg_counter
private

Definition at line 110 of file Message.hh.

Referenced by getMsgCounter(), and setMsgCounter().

const Tick Message::m_time
private

Definition at line 107 of file Message.hh.

Referenced by getTime().

int Message::vnet
private

Definition at line 114 of file Message.hh.

Referenced by getVnet(), and setVnet().


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

Generated on Fri Jun 9 2017 13:04:15 for gem5 by doxygen 1.8.6