--- a/src/core/composite-trace-resolver.cc Tue Aug 28 09:37:10 2007 +0200
+++ b/src/core/composite-trace-resolver.cc Tue Aug 28 11:01:00 2007 +0200
@@ -73,13 +73,15 @@
void
CompositeTraceResolver::AddSource (std::string name,
- TraceSource &trace)
+ std::string helpText,
+ TraceSource &trace)
{
- DoAddSource (name, trace, TraceContext ());
+ DoAddSource (name, helpText, trace, TraceContext ());
}
void
CompositeTraceResolver::DoAddSource (std::string name,
+ std::string helpText,
TraceSource &trace,
const TraceContext &context)
{
@@ -98,13 +100,15 @@
TraceContext ctx = context;
ctx.Union (this->context);
// XXX help string
- collection->AddUnique (path, ctx, "");
+ collection->AddUnique (path, ctx, helpText);
}
TraceSource *trace;
+ std::string helpText;
} *item = new SourceCompositeItem ();
item->name = name;
item->context = context;
item->trace = &trace;
+ item->helpText = helpText;
AddItem (item);
}
@@ -397,7 +401,7 @@
CompositeTraceResolverTest::CreateSubResolver (void)
{
Ptr<CompositeTraceResolver> subresolver = Create<CompositeTraceResolver> ();
- subresolver->AddSource ("trace-int", m_traceInt,
+ subresolver->AddSource ("trace-int", "test source", m_traceInt,
SubTraceSourceTest (SubTraceSourceTest::INT));
return subresolver;
}
@@ -412,9 +416,9 @@
CompositeTraceResolver resolver;
- resolver.AddSource ("trace-double-a", traceDoubleA,
+ resolver.AddSource ("trace-double-a", "test source", traceDoubleA,
TraceSourceTest (TraceSourceTest::DOUBLEA));
- resolver.AddSource ("trace-double-b", traceDoubleB,
+ resolver.AddSource ("trace-double-b", "test source", traceDoubleB,
TraceSourceTest (TraceSourceTest::DOUBLEB));
resolver.Connect ("/*", MakeCallback (&CompositeTraceResolverTest::TraceDouble, this), TraceContext ());
@@ -547,7 +551,7 @@
SVTraceSource<uint16_t> source;
- resolver.AddSource ("uint16_t", source, TraceSourceTest (TraceSourceTest::UINT16_T));
+ resolver.AddSource ("uint16_t", "test source", source, TraceSourceTest (TraceSourceTest::UINT16_T));
return ok;
--- a/src/core/composite-trace-resolver.h Tue Aug 28 09:37:10 2007 +0200
+++ b/src/core/composite-trace-resolver.h Tue Aug 28 11:01:00 2007 +0200
@@ -53,7 +53,7 @@
* be automatically extended to contain the input context.
*/
template <typename T>
- void AddSource (std::string name,
+ void AddSource (std::string name, std::string helpText,
TraceSource &trace, T const &context);
/**
* \param name name of trace source
@@ -64,18 +64,8 @@
* resolution.
*/
void AddSource (std::string name,
+ std::string helpText,
TraceSource &trace);
- /**
- * \param name name of child trace resolver
- * \param createResolver a trace resolver constructor
- *
- * Add a child trace resolver to this resolver. This child
- * trace resolver will match the name specified during
- * namespace resolution. When this happens, the constructor
- * will be invoked to create the child trace resolver.
- */
- void Add (std::string name,
- Callback<Ptr<TraceResolver> > createResolver);
void AddChild (std::string name, Ptr<Object> child);
@@ -95,6 +85,7 @@
SourceCollection *collection);
private:
+ friend class CompositeTraceResolverTest;
class CompositeItem
{
public:
@@ -123,8 +114,12 @@
const Operation &operation);
void DoAddChild (std::string name, Ptr<Object> child, const TraceContext &context);
void DoAddSource (std::string name,
+ std::string helpText,
TraceSource &trace,
const TraceContext &context);
+ void Add (std::string name,
+ Callback<Ptr<TraceResolver> > createResolver);
+
CompositeTraceResolver::TraceItems m_items;
Ptr<TraceResolver> m_parent;
@@ -139,12 +134,13 @@
template <typename T>
void
CompositeTraceResolver::AddSource (std::string name,
+ std::string helpText,
TraceSource &trace,
T const &context)
{
TraceContext ctx;
ctx.AddElement (context);
- DoAddSource (name, trace, ctx);
+ DoAddSource (name, helpText, trace, ctx);
}
template <typename ITERATOR, typename INDEX>
--- a/src/core/object.cc Tue Aug 28 09:37:10 2007 +0200
+++ b/src/core/object.cc Tue Aug 28 11:01:00 2007 +0200
@@ -346,7 +346,7 @@
{
ns3::Ptr<ns3::CompositeTraceResolver> resolver =
ns3::Create<ns3::CompositeTraceResolver> ();
- resolver->AddSource ("basea-x", m_source);
+ resolver->AddSource ("basea-x", "test source", m_source);
resolver->SetParent (Object::GetTraceResolver ());
return resolver;
}
@@ -370,7 +370,7 @@
{
ns3::Ptr<ns3::CompositeTraceResolver> resolver =
ns3::Create<ns3::CompositeTraceResolver> ();
- resolver->AddSource ("deriveda-x", m_sourceDerived);
+ resolver->AddSource ("deriveda-x", "test source", m_sourceDerived);
resolver->SetParent (BaseA::GetTraceResolver ());
return resolver;
}
@@ -397,7 +397,7 @@
{
ns3::Ptr<ns3::CompositeTraceResolver> resolver =
ns3::Create<ns3::CompositeTraceResolver> ();
- resolver->AddSource ("baseb-x", m_source);
+ resolver->AddSource ("baseb-x", "test source", m_source);
resolver->SetParent (Object::GetTraceResolver ());
return resolver;
}
@@ -421,7 +421,7 @@
{
ns3::Ptr<ns3::CompositeTraceResolver> resolver =
ns3::Create<ns3::CompositeTraceResolver> ();
- resolver->AddSource ("derivedb-x", m_sourceDerived);
+ resolver->AddSource ("derivedb-x", "test source", m_sourceDerived);
resolver->SetParent (BaseB::GetTraceResolver ());
return resolver;
}
--- a/src/core/trace-resolver.cc Tue Aug 28 09:37:10 2007 +0200
+++ b/src/core/trace-resolver.cc Tue Aug 28 11:01:00 2007 +0200
@@ -99,9 +99,12 @@
{
for (SourceVector::const_iterator i = m_sources.begin (); i != m_sources.end (); i++)
{
- os << i->path << " [";
+ os << "source=" << i->path << std::endl;
+ os << "TraceContextElement=";
i->context.PrintAvailable (os, " ");
- os << "] " << i->help << std::endl;
+ os << std::endl;
+ os << i->help << std::endl;
+ os << std::endl;
}
}
--- a/src/devices/csma-cd/csma-cd-net-device.cc Tue Aug 28 09:37:10 2007 +0200
+++ b/src/devices/csma-cd/csma-cd-net-device.cc Tue Aug 28 11:01:00 2007 +0200
@@ -460,9 +460,11 @@
Ptr<CompositeTraceResolver> resolver = Create<CompositeTraceResolver> ();
resolver->AddChild ("queue", m_queue);
resolver->AddSource ("rx",
+ "receive MAC packet",
m_rxTrace,
CsmaCdTraceType (CsmaCdTraceType::RX));
resolver->AddSource ("drop",
+ "drop MAC packet",
m_dropTrace,
CsmaCdTraceType (CsmaCdTraceType::DROP));
resolver->SetParent (NetDevice::GetTraceResolver ());
--- a/src/devices/point-to-point/point-to-point-net-device.cc Tue Aug 28 09:37:10 2007 +0200
+++ b/src/devices/point-to-point/point-to-point-net-device.cc Tue Aug 28 11:01:00 2007 +0200
@@ -199,6 +199,7 @@
Ptr<CompositeTraceResolver> resolver = Create<CompositeTraceResolver> ();
resolver->AddChild ("queue", m_queue);
resolver->AddSource ("rx",
+ "receive MAC packet",
m_rxTrace,
PointToPointTraceType ());
resolver->SetParent (NetDevice::GetTraceResolver ());
--- a/src/internet-node/ipv4-l3-protocol.cc Tue Aug 28 09:37:10 2007 +0200
+++ b/src/internet-node/ipv4-l3-protocol.cc Tue Aug 28 11:01:00 2007 +0200
@@ -162,9 +162,12 @@
Ipv4L3Protocol::GetTraceResolver (void)
{
Ptr<CompositeTraceResolver> resolver = Create<CompositeTraceResolver> ();
- resolver->AddSource ("tx", m_txTrace, Ipv4L3ProtocolTraceContextElement(Ipv4L3ProtocolTraceContextElement::TX));
- resolver->AddSource ("rx", m_rxTrace, Ipv4L3ProtocolTraceContextElement(Ipv4L3ProtocolTraceContextElement::RX));
- resolver->AddSource ("drop", m_dropTrace, Ipv4L3ProtocolTraceContextElement (Ipv4L3ProtocolTraceContextElement::DROP));
+ resolver->AddSource ("tx", "send ipv4 packet to outgoing interface",
+ m_txTrace, Ipv4L3ProtocolTraceContextElement(Ipv4L3ProtocolTraceContextElement::TX));
+ resolver->AddSource ("rx", "receive ipv4 packet from incoming interface",
+ m_rxTrace, Ipv4L3ProtocolTraceContextElement(Ipv4L3ProtocolTraceContextElement::RX));
+ resolver->AddSource ("drop", "drop ipv4 packet",
+ m_dropTrace, Ipv4L3ProtocolTraceContextElement (Ipv4L3ProtocolTraceContextElement::DROP));
resolver->AddArray ("interfaces",
m_interfaces.begin (), m_interfaces.end (),
Ipv4L3ProtocolInterfaceIndex ());
--- a/src/mobility/mobility-model-notifier.cc Tue Aug 28 09:37:10 2007 +0200
+++ b/src/mobility/mobility-model-notifier.cc Tue Aug 28 11:01:00 2007 +0200
@@ -44,7 +44,8 @@
{
Ptr<CompositeTraceResolver> resolver =
Create<CompositeTraceResolver> ();
- resolver->AddSource ("course-change", m_trace);
+ resolver->AddSource ("course-change", "speed vector changed value",
+ m_trace);
return resolver;
}
--- a/src/node/queue.cc Tue Aug 28 09:37:10 2007 +0200
+++ b/src/node/queue.cc Tue Aug 28 11:01:00 2007 +0200
@@ -103,9 +103,12 @@
Queue::GetTraceResolver (void)
{
Ptr<CompositeTraceResolver> resolver = Create<CompositeTraceResolver> ();
- resolver->AddSource ("enqueue", m_traceEnqueue, QueueTraceType (QueueTraceType::ENQUEUE));
- resolver->AddSource ("dequeue", m_traceDequeue, QueueTraceType (QueueTraceType::DEQUEUE));
- resolver->AddSource ("drop", m_traceDrop, QueueTraceType (QueueTraceType::DROP));
+ resolver->AddSource ("enqueue", "store packet in queue",
+ m_traceEnqueue, QueueTraceType (QueueTraceType::ENQUEUE));
+ resolver->AddSource ("dequeue", "remove packet from queue",
+ m_traceDequeue, QueueTraceType (QueueTraceType::DEQUEUE));
+ resolver->AddSource ("drop", "drop packet from queue",
+ m_traceDrop, QueueTraceType (QueueTraceType::DROP));
resolver->SetParent (Object::GetTraceResolver ());
return resolver;
}