src/node/queue.cc
changeset 345 47b41507a45a
parent 337 42102ed8ee3c
child 375 de64c081a2e0
--- a/src/node/queue.cc	Sun Mar 18 19:31:32 2007 +0100
+++ b/src/node/queue.cc	Sun Mar 18 14:06:51 2007 -0700
@@ -18,20 +18,20 @@
  */
 
 #include "ns3/debug.h"
+#include "ns3/composite-trace-resolver.h"
 #include "queue.h"
 
 NS_DEBUG_COMPONENT_DEFINE ("Queue");
 
 namespace ns3 {
 
-  Queue::Queue(std::string const &name) : 
+Queue::Queue() : 
   m_nBytes(0), 
   m_nTotalReceivedBytes(0),
   m_nPackets(0), 
   m_nTotalReceivedPackets(0),
   m_nTotalDroppedBytes(0),
-  m_nTotalDroppedPackets(0),
-  m_name (name)
+  m_nTotalDroppedPackets(0)
 {
   NS_DEBUG("Queue::Queue ()");
 }
@@ -41,6 +41,16 @@
   NS_DEBUG("Queue::~Queue ()");
 }
 
+TraceResolver *
+Queue::CreateTraceResolver (TraceContext const &context)
+{
+  CompositeTraceResolver *resolver = new CompositeTraceResolver (context);
+  resolver->Add ("enqueue", m_traceEnqueue, Queue::ENQUEUE);
+  resolver->Add ("dequeue", m_traceDequeue, Queue::DEQUEUE);
+  resolver->Add ("drop", m_traceDrop, Queue::DROP);
+  return resolver;
+}
+
 bool 
 Queue::Enqueue (const Packet& p)
 {
@@ -48,7 +58,7 @@
 
   NS_DEBUG("Queue::Enqueue (): m_traceEnqueue (p)");
 
-  m_traceEnqueue (m_name, p);
+  m_traceEnqueue (p);
 
   bool retval = DoEnqueue (p);
   if (retval)
@@ -77,7 +87,7 @@
       NS_DEBUG("Queue::Dequeue (): m_traceDequeue (p)");
 
       const Packet packet = p;
-      m_traceDequeue (m_name, packet);
+      m_traceDequeue (packet);
     }
 
   return retval;
@@ -115,19 +125,6 @@
   return m_nPackets == 0;
 }
 
-void
-Queue::QueueRegisterTraces (TraceContainer &container)
-{
-  NS_DEBUG("Queue::RegisterTraces (" << &container << ")");
-
-  container.RegisterCallback ("Queue::Enqueue",
-                              &m_traceEnqueue);
-  container.RegisterCallback ("Queue::Dequeue",
-                              &m_traceDequeue);
-  container.RegisterCallback ("Queue::Drop",
-                              &m_traceDrop);
-}
-
 uint32_t
 Queue::GetTotalReceivedBytes (void)
 {
@@ -182,7 +179,7 @@
   m_nTotalDroppedBytes += p.GetSize ();
 
   NS_DEBUG("Queue::Drop (): m_traceDrop (p)");
-  m_traceDrop (m_name, p);
+  m_traceDrop (p);
 }
 
 }; // namespace ns3