gem5 v24.0.0.0
|
#include <Message.hh>
Public Member Functions | |
Message (Tick curTime) | |
Message (const Message &other)=default | |
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) |
The two functions below are used for reading / writing the message functionally. | |
virtual bool | functionalRead (Packet *pkt, WriteMask &mask) |
virtual bool | functionalWrite (Packet *pkt) |
void | updateDelayedTicks (Tick curTime) |
Update the delay this message has experienced so far. | |
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 NetDest & | getDestination () const |
virtual NetDest & | getDestination () |
int | getIncomingLink () const |
void | setIncomingLink (int link) |
int | getVnet () const |
void | setVnet (int net) |
Private Attributes | |
Tick | m_time |
Tick | m_LastEnqueueTime |
Tick | m_DelayedTicks |
uint64_t | m_msg_counter |
int | incoming_link |
int | vnet |
Definition at line 62 of file Message.hh.
|
inline |
Definition at line 65 of file Message.hh.
|
default |
|
inlinevirtual |
Definition at line 73 of file Message.hh.
|
pure virtual |
Implemented in gem5::ruby::RubyRequest.
|
inlinevirtual |
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.
Reimplemented in gem5::ruby::RubyRequest.
Definition at line 90 of file Message.hh.
References panic.
Referenced by gem5::ruby::MessageBuffer::functionalAccess(), and gem5::ruby::garnet::flit::functionalRead().
Reimplemented in gem5::ruby::RubyRequest.
Definition at line 92 of file Message.hh.
References panic.
|
inlinevirtual |
Reimplemented in gem5::ruby::RubyRequest.
Definition at line 94 of file Message.hh.
References panic.
Referenced by gem5::ruby::MessageBuffer::functionalAccess(), and gem5::ruby::garnet::flit::functionalWrite().
|
inline |
Definition at line 104 of file Message.hh.
References m_DelayedTicks.
|
inlinevirtual |
Definition at line 116 of file Message.hh.
References panic.
|
inlinevirtual |
Definition at line 114 of file Message.hh.
References panic.
Referenced by gem5::ruby::WeightBased::findRoute(), gem5::ruby::garnet::NetworkInterface::flitisizeMessage(), gem5::ruby::network_message_to_size(), and gem5::ruby::PerfectSwitch::operateMessageBuffer().
|
inline |
Definition at line 119 of file Message.hh.
References incoming_link.
|
inline |
Definition at line 107 of file Message.hh.
References m_LastEnqueueTime.
Referenced by gem5::ruby::MessageBuffer::enqueue(), and gem5::ruby::Throttle::operateVnet().
|
inlinevirtual |
Definition at line 80 of file Message.hh.
References panic.
|
inlinevirtual |
Definition at line 78 of file Message.hh.
References panic.
Referenced by gem5::ruby::garnet::NetworkInterface::flitisizeMessage(), gem5::ruby::network_message_to_size(), and gem5::ruby::Throttle::operateVnet().
|
inline |
Definition at line 111 of file Message.hh.
References m_msg_counter.
Referenced by gem5::ruby::operator>().
|
inline |
Definition at line 109 of file Message.hh.
References m_time.
|
inline |
Definition at line 121 of file Message.hh.
References vnet.
|
pure virtual |
Implemented in gem5::ruby::RubyRequest.
Referenced by gem5::ruby::operator<<().
|
inline |
Definition at line 120 of file Message.hh.
References incoming_link.
|
inline |
Definition at line 106 of file Message.hh.
References m_LastEnqueueTime.
Referenced by gem5::ruby::MessageBuffer::enqueue(), and gem5::ruby::WireBuffer::enqueue().
|
inline |
Definition at line 110 of file Message.hh.
References gem5::ArmISA::c, and m_msg_counter.
Referenced by gem5::ruby::MessageBuffer::enqueue().
|
inline |
Definition at line 122 of file Message.hh.
References vnet.
|
inline |
Update the delay this message has experienced so far.
Definition at line 98 of file Message.hh.
References m_DelayedTicks, and m_LastEnqueueTime.
Referenced by gem5::ruby::MessageBuffer::enqueue().
|
private |
Definition at line 131 of file Message.hh.
Referenced by getIncomingLink(), and setIncomingLink().
|
private |
Definition at line 127 of file Message.hh.
Referenced by getDelayedTicks(), and updateDelayedTicks().
|
private |
Definition at line 126 of file Message.hh.
Referenced by getLastEnqueueTime(), setLastEnqueueTime(), and updateDelayedTicks().
|
private |
Definition at line 128 of file Message.hh.
Referenced by getMsgCounter(), and setMsgCounter().
|
private |
Definition at line 125 of file Message.hh.
Referenced by getTime().
|
private |
Definition at line 132 of file Message.hh.