summaryrefslogtreecommitdiff
path: root/src/mem/ruby/network/MessageBuffer.hh
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2015-07-04 10:43:46 -0500
committerNilay Vaish <nilay@cs.wisc.edu>2015-07-04 10:43:46 -0500
commitb4efb48a71c42085134e57840aa9562884404d11 (patch)
tree0626bf3d54745737f3553fcf0a6a931813e441e6 /src/mem/ruby/network/MessageBuffer.hh
parent25e1b1c1f5f4e0ad3976c88998161700135f4aae (diff)
downloadgem5-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.hh11
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