src/node/queue.cc
changeset 1227 268a9fc6f4a2
parent 716 a0bc5b9df6cb
child 1229 e4cfe4094c10
--- a/src/node/queue.cc	Sat Aug 04 17:17:23 2007 +0200
+++ b/src/node/queue.cc	Mon Aug 06 17:19:13 2007 +0200
@@ -31,6 +31,36 @@
 static ClassIdDefaultValue g_classIdDefaultValue ("Queue", "Packet Queue",
                                                   Queue::iid, "DropTailQueue");
 
+
+uint16_t 
+Queue::TraceType::GetUid (void)
+{
+  static uint16_t uid = Register<Queue::TraceType> ("Queue::TraceType");
+  return uid;
+}
+Queue::TraceType::TraceType ()
+  : m_type (Queue::TraceType::ENQUEUE)
+{}
+Queue::TraceType::TraceType (enum Type type)
+  : m_type (type)
+{}
+void 
+Queue::TraceType::Print (std::ostream &os)
+{
+  os << "queue=";
+  switch (m_type) {
+  case Queue::TraceType::ENQUEUE:
+    os << "enqueue";
+    break;
+  case Queue::TraceType::DEQUEUE:
+    os << "dequeue";
+    break;
+  case Queue::TraceType::DROP:
+    os << "drop";
+    break;
+  }
+}
+
 Queue::Queue() : 
   m_nBytes(0), 
   m_nTotalReceivedBytes(0),
@@ -52,9 +82,9 @@
 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);
+  resolver->Add ("enqueue", m_traceEnqueue, Queue::TraceType (Queue::TraceType::ENQUEUE));
+  resolver->Add ("dequeue", m_traceDequeue, Queue::TraceType (Queue::TraceType::DEQUEUE));
+  resolver->Add ("drop", m_traceDrop, Queue::TraceType (Queue::TraceType::DROP));
   return resolver;
 }