Go to the documentation of this file.
29 #ifndef __MEM_RUBY_SLICC_INTERFACE_MESSAGE_HH__
30 #define __MEM_RUBY_SLICC_INTERFACE_MESSAGE_HH__
38 #include "mem/ruby/protocol/MessageSizeType.hh"
41 typedef std::shared_ptr<Message>
MsgPtr;
62 virtual void print(std::ostream& out)
const = 0;
65 {
panic(
"MessageSizeType() called on wrong message!"); }
67 {
panic(
"MessageSizeType() called on wrong message!"); }
97 {
panic(
"getDestination() called on wrong message!"); }
99 {
panic(
"getDestination() called on wrong message!"); }
123 if (
l->getLastEnqueueTime() ==
r->getLastEnqueueTime()) {
124 return l->getMsgCounter() >
r->getMsgCounter();
126 return l->getLastEnqueueTime() >
r->getLastEnqueueTime();
137 #endif // __MEM_RUBY_SLICC_INTERFACE_MESSAGE_HH__
Tick getDelayedTicks() const
virtual MessageSizeType & getMessageSize()
virtual const NetDest & getDestination() const
Tick getLastEnqueueTime() const
uint64_t Tick
Tick count type.
virtual const MessageSizeType & getMessageSize() const
virtual void print(std::ostream &out) const =0
int getIncomingLink() const
virtual MsgPtr clone() const =0
void updateDelayedTicks(Tick curTime)
Update the delay this message has experienced so far.
virtual NetDest & getDestination()
Message(const Message &other)
std::shared_ptr< Message > MsgPtr
void setLastEnqueueTime(const Tick &time)
bool operator>(const MsgPtr &lhs, const MsgPtr &rhs)
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
uint64_t getMsgCounter() const
std::ostream & operator<<(std::ostream &out, const Message &obj)
virtual bool functionalRead(Packet *pkt)=0
The two functions below are used for reading / writing the message functionally.
void setIncomingLink(int link)
void setMsgCounter(uint64_t c)
virtual bool functionalWrite(Packet *pkt)=0
#define panic(...)
This implements a cprintf based panic() function.
Generated on Wed Sep 30 2020 14:02:13 for gem5 by doxygen 1.8.17