diff options
author | Nilay Vaish <nilay@cs.wisc.edu> | 2015-07-04 10:43:46 -0500 |
---|---|---|
committer | Nilay Vaish <nilay@cs.wisc.edu> | 2015-07-04 10:43:46 -0500 |
commit | b4efb48a71c42085134e57840aa9562884404d11 (patch) | |
tree | 0626bf3d54745737f3553fcf0a6a931813e441e6 /src/mem/ruby/network/MessageBuffer.hh | |
parent | 25e1b1c1f5f4e0ad3976c88998161700135f4aae (diff) | |
download | gem5-b4efb48a71c42085134e57840aa9562884404d11.tar.xz |
ruby: remove message buffer node
This structure's only purpose was to provide a comparison function for
ordering messages in the MessageBuffer. The comparison function is now
being moved to the Message class itself. So we no longer require this
structure.
Diffstat (limited to 'src/mem/ruby/network/MessageBuffer.hh')
-rw-r--r-- | src/mem/ruby/network/MessageBuffer.hh | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/mem/ruby/network/MessageBuffer.hh b/src/mem/ruby/network/MessageBuffer.hh index 6d51eade9..b5d2b9eca 100644 --- a/src/mem/ruby/network/MessageBuffer.hh +++ b/src/mem/ruby/network/MessageBuffer.hh @@ -43,7 +43,6 @@ #include "mem/ruby/common/Address.hh" #include "mem/ruby/common/Consumer.hh" -#include "mem/ruby/network/MessageBufferNode.hh" #include "mem/ruby/slicc_interface/Message.hh" #include "mem/packet.hh" @@ -67,11 +66,11 @@ class MessageBuffer void delayHead() { - MessageBufferNode node = m_prio_heap.front(); + MsgPtr m = m_prio_heap.front(); std::pop_heap(m_prio_heap.begin(), m_prio_heap.end(), - std::greater<MessageBufferNode>()); + std::greater<MsgPtr>()); m_prio_heap.pop_back(); - enqueue(node.m_msgptr, Cycles(1)); + enqueue(m, Cycles(1)); } bool areNSlotsAvailable(unsigned int n); @@ -112,7 +111,7 @@ class MessageBuffer peekMsgPtr() const { assert(isReady()); - return m_prio_heap.front().m_msgptr; + return m_prio_heap.front(); } void enqueue(MsgPtr message) { enqueue(message, Cycles(1)); } @@ -168,7 +167,7 @@ class MessageBuffer //! Consumer to signal a wakeup(), can be NULL Consumer* m_consumer; - std::vector<MessageBufferNode> m_prio_heap; + std::vector<MsgPtr> m_prio_heap; // use a std::map for the stalled messages as this container is // sorted and ensures a well-defined iteration order |