2006-11-01 13:11:30 +01:00
|
|
|
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
|
2006-08-29 17:51:04 +02:00
|
|
|
#include "ns3/trace-container.h"
|
2006-09-04 15:09:58 +02:00
|
|
|
#include "ns3/ui-variable-tracer.h"
|
2006-09-04 14:06:00 +02:00
|
|
|
#include "ns3/callback-tracer.h"
|
2006-09-04 14:10:34 +02:00
|
|
|
#include "ns3/stream-tracer.h"
|
2006-08-29 17:51:04 +02:00
|
|
|
#include "ns3/pcap-writer.h"
|
2006-09-04 13:40:02 +02:00
|
|
|
#include "ns3/packet.h"
|
2006-08-29 17:47:17 +02:00
|
|
|
#include <iostream>
|
|
|
|
|
|
2006-08-29 17:55:34 +02:00
|
|
|
using namespace ns3;
|
2006-08-29 17:47:17 +02:00
|
|
|
|
2007-03-18 14:06:51 -07:00
|
|
|
CallbackTraceSourcer<Packet> a;
|
2006-09-04 15:06:09 +02:00
|
|
|
UiVariableTracer<unsigned short> b;
|
2006-09-04 14:10:34 +02:00
|
|
|
StreamTracer c;
|
2007-03-18 14:06:51 -07:00
|
|
|
CallbackTraceSourcer<double, int> d;
|
2006-08-29 17:47:17 +02:00
|
|
|
|
|
|
|
|
void
|
2006-10-06 13:37:25 +02:00
|
|
|
RegisterAllTraceSources (TraceContainer *container)
|
2006-08-29 17:47:17 +02:00
|
|
|
{
|
2006-11-01 13:11:30 +01:00
|
|
|
container->RegisterCallback ("source-a", &a);
|
|
|
|
|
container->RegisterUiVariable ("source-b", &b);
|
|
|
|
|
container->RegisterStream ("source-c", &c);
|
|
|
|
|
container->RegisterCallback ("source-d", &d);
|
2006-08-29 17:47:17 +02:00
|
|
|
}
|
|
|
|
|
void
|
2006-10-06 13:37:25 +02:00
|
|
|
GenerateTraceEvents (void)
|
2006-08-29 17:47:17 +02:00
|
|
|
{
|
2006-11-01 13:11:30 +01:00
|
|
|
// log en empty packet
|
|
|
|
|
a (Packet ());
|
|
|
|
|
b = 10;
|
|
|
|
|
b += 100;
|
|
|
|
|
b += 50;
|
|
|
|
|
b = (unsigned short) -20;
|
|
|
|
|
c << "this is a simple test b=" << b << std::endl;
|
|
|
|
|
d (3.1415, 3);
|
2006-08-29 17:47:17 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void
|
2006-10-06 13:37:25 +02:00
|
|
|
VariableEvent (uint64_t old, uint64_t cur)
|
2006-08-29 17:47:17 +02:00
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void
|
2006-10-06 13:37:25 +02:00
|
|
|
CallbackEvent (double a, int b)
|
2006-08-29 17:47:17 +02:00
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int main (int argc, char *argv[])
|
|
|
|
|
{
|
2006-11-01 13:11:30 +01:00
|
|
|
TraceContainer traces;
|
|
|
|
|
RegisterAllTraceSources (&traces);
|
|
|
|
|
PcapWriter pcap;
|
|
|
|
|
pcap.Open ("trace-test.log");
|
|
|
|
|
pcap.WriteHeaderEthernet ();
|
|
|
|
|
traces.SetCallback ("source-a",
|
|
|
|
|
MakeCallback (&PcapWriter::WritePacket, &pcap));
|
|
|
|
|
traces.SetUiVariableCallback ("source-b", MakeCallback (&VariableEvent));
|
|
|
|
|
traces.SetStream ("source-c", &std::cout);
|
|
|
|
|
traces.SetCallback ("source-d", MakeCallback (&CallbackEvent));
|
|
|
|
|
GenerateTraceEvents ();
|
|
|
|
|
return 0;
|
2006-08-29 17:47:17 +02:00
|
|
|
}
|