125c125
< const Message* msg_ptr = m_prio_heap.front().m_msgptr.get();
---
> const Message* msg_ptr = m_prio_heap.front().get();
206a207
> msg_ptr->setMsgCounter(m_msg_counter);
209,212c210,211
< MessageBufferNode thisNode(arrival_time, m_msg_counter, message);
< m_prio_heap.push_back(thisNode);
< push_heap(m_prio_heap.begin(), m_prio_heap.end(),
< greater<MessageBufferNode>());
---
> m_prio_heap.push_back(message);
> push_heap(m_prio_heap.begin(), m_prio_heap.end(), greater<MsgPtr>());
230c229
< MsgPtr message = m_prio_heap.front().m_msgptr;
---
> MsgPtr message = m_prio_heap.front();
245c244
< greater<MessageBufferNode>());
---
> greater<MsgPtr>());
268,270c267,268
< MessageBufferNode node = m_prio_heap.front();
< pop_heap(m_prio_heap.begin(), m_prio_heap.end(),
< greater<MessageBufferNode>());
---
> MsgPtr node = m_prio_heap.front();
> pop_heap(m_prio_heap.begin(), m_prio_heap.end(), greater<MsgPtr>());
272c270
< node.m_time = m_receiver->clockEdge(m_recycle_latency);
---
> node->setLastEnqueueTime(m_receiver->clockEdge(m_recycle_latency));
274,275c272
< push_heap(m_prio_heap.begin(), m_prio_heap.end(),
< greater<MessageBufferNode>());
---
> push_heap(m_prio_heap.begin(), m_prio_heap.end(), greater<MsgPtr>());
285c282,284
< MessageBufferNode msgNode(nextTick, m_msg_counter, lt.front());
---
> MsgPtr m = lt.front();
> m->setLastEnqueueTime(nextTick);
> m->setMsgCounter(m_msg_counter);
287c286
< m_prio_heap.push_back(msgNode);
---
> m_prio_heap.push_back(m);
289c288
< greater<MessageBufferNode>());
---
> greater<MsgPtr>());
334c333
< MsgPtr message = m_prio_heap.front().m_msgptr;
---
> MsgPtr message = m_prio_heap.front();
354,355c353,354
< vector<MessageBufferNode> copy(m_prio_heap);
< sort_heap(copy.begin(), copy.end(), greater<MessageBufferNode>());
---
> vector<MsgPtr> copy(m_prio_heap);
> sort_heap(copy.begin(), copy.end(), greater<MsgPtr>());
363c362
< (m_prio_heap.front().m_time <= m_receiver->clockEdge()));
---
> (m_prio_heap.front()->getLastEnqueueTime() <= m_receiver->clockEdge()));
372c371
< Message *msg = m_prio_heap[i].m_msgptr.get();
---
> Message *msg = m_prio_heap[i].get();
400c399
< Message *msg = m_prio_heap[i].m_msgptr.get();
---
> Message *msg = m_prio_heap[i].get();