src/node/queue.cc
changeset 1866 e7dbcc4df546
parent 1506 3c8b23550e6a
child 1870 67b3d2dea3d5
--- a/src/node/queue.cc	Mon Oct 01 14:14:31 2007 +0200
+++ b/src/node/queue.cc	Mon Oct 01 14:15:56 2007 +0200
@@ -121,25 +121,25 @@
   Ptr<CompositeTraceResolver> resolver = Create<CompositeTraceResolver> ();
   resolver->AddSource ("enqueue", 
                        TraceDoc ("store packet in queue",
-                                 "const Packet &", "packet queued"),
+                                 "Ptr<const Packet>", "packet queued"),
                        m_traceEnqueue, QueueTraceType (QueueTraceType::ENQUEUE));
   resolver->AddSource ("dequeue", 
                        TraceDoc ("remove packet from queue",
-                                 "const Packet &", "packet dequeued"),
+                                 "Ptr<const Packet>", "packet dequeued"),
                        m_traceDequeue, QueueTraceType (QueueTraceType::DEQUEUE));
   resolver->AddSource ("drop", 
                        TraceDoc ("drop packet from queue", 
-                                 "const Packet &", "packet dropped"),
+                                 "Ptr<const Packet>", "packet dropped"),
                        m_traceDrop, QueueTraceType (QueueTraceType::DROP));
   resolver->SetParentResolver (Object::GetTraceResolver ());
   return resolver;
 }
 
 bool 
-Queue::Enqueue (const Packet& p)
+Queue::Enqueue (Ptr<Packet> p)
 {
   NS_LOG_FUNCTION;
-  NS_LOG_PARAM ("(" << &p << ")");
+  NS_LOG_PARAM ("(" << p << ")");
   NS_LOG_LOGIC ("m_traceEnqueue (p)");
 
   m_traceEnqueue (p);
@@ -147,23 +147,22 @@
   bool retval = DoEnqueue (p);
   if (retval)
     {
-      m_nBytes += p.GetSize ();
+      m_nBytes += p->GetSize ();
       m_nPackets++;
     }
   return retval;
 }
 
-bool
-Queue::Dequeue (Packet &p)
+Ptr<Packet>
+Queue::Dequeue (void)
 {
   NS_LOG_FUNCTION;
-  NS_LOG_PARAM ("(" << &p << ")");
 
-  bool retval = DoDequeue (p);
+  Ptr<Packet> packet = DoDequeue ();
 
-  if (retval)
+  if (packet != 0)
     {
-      m_nBytes -= p.GetSize ();
+      m_nBytes -= packet->GetSize ();
       m_nPackets--;
 
       NS_ASSERT (m_nBytes >= 0);
@@ -171,11 +170,9 @@
 
       NS_LOG_LOGIC("m_traceDequeue (p)");
 
-      const Packet packet = p;
       m_traceDequeue (packet);
     }
-
-  return retval;
+  return packet;
 }
 
 void
@@ -185,12 +182,11 @@
   NS_ASSERT_MSG (0, "Don't know what to do with dequeued packets!");
 }
 
-bool
-Queue::Peek (Packet &p)
+Ptr<Packet>
+Queue::Peek (void)
 {
   NS_LOG_FUNCTION;
-  NS_LOG_PARAM ("(" << &p << ")");
-  return DoPeek (p);
+  return DoPeek ();
 }
 
 
@@ -261,13 +257,13 @@
 }
 
 void
-Queue::Drop (const Packet& p)
+Queue::Drop (Ptr<Packet> p)
 {
   NS_LOG_FUNCTION;
-  NS_LOG_PARAM ("(" << &p << ")");
+  NS_LOG_PARAM ("(" << p << ")");
 
   m_nTotalDroppedPackets++;
-  m_nTotalDroppedBytes += p.GetSize ();
+  m_nTotalDroppedBytes += p->GetSize ();
 
   NS_LOG_LOGIC ("m_traceDrop (p)");
   m_traceDrop (p);