comment the sample code a little bit
authorMathieu Lacage <mathieu.lacage@sophia.inria.fr>
Wed, 13 Jun 2007 00:07:17 +0200
changeset 893 9d50280ae588
parent 892 b3f73643c055
child 894 d6715af78f7e
comment the sample code a little bit
samples/main-packet-printer.cc
--- a/samples/main-packet-printer.cc	Wed Jun 13 00:02:57 2007 +0200
+++ b/samples/main-packet-printer.cc	Wed Jun 13 00:07:17 2007 +0200
@@ -54,6 +54,8 @@
 
 void DefaultPrint (void)
 {
+  // We create a packet with 1000 bytes of zero payload
+  // and add 3 headers to this packet.
   Packet p (1000);
   MyHeaderA a;
   MyHeaderB b;
@@ -70,9 +72,11 @@
   std::cout << std::endl;
 
 
+  // Now, we fragment our packet in 3 consecutive pieces.
   Packet p1 = p.CreateFragment (0, 2);
   Packet p2 = p.CreateFragment (2, 1000);
   Packet p3 = p.CreateFragment (1002, 128);
+
   std::cout << "fragment1" << std::endl;
   p1.Print (std::cout);
   std::cout << std::endl;
@@ -83,6 +87,7 @@
   p3.Print (std::cout);
   std::cout << std::endl;
 
+  // And, finally, we re-aggregate the 3 consecutive pieces.
   Packet aggregate = p1;
   aggregate.AddAtEnd (p2);
   aggregate.AddAtEnd (p3);
@@ -118,13 +123,26 @@
 
 void NonDefaultPrint (void)
 {
+  // create an adhoc packet printer.
   PacketPrinter printer;
+  // print from first header to last trailer
   printer.PrintForward ();
+  // set a string separator automatically inserted
+  // between each call to a printing function.
   printer.SetSeparator (" - ");
+  // set the default print function: invoked if no 
+  // specialized function has been provided for a header
+  // or trailer
   printer.AddDefaultPrinter (MakeCallback (&DoPrintDefault));
+  // set the payload print function
   printer.AddPayloadPrinter (MakeCallback (&DoPrintPayload));
+  // set the print function for the header type MyHeaderA.
   printer.AddHeaderPrinter (MakeCallback (&DoPrintMyHeaderA),
                             MakeCallback (&DoPrintMyHeaderAFragment));
+
+
+  // We create a packet with 1000 bytes of zero payload
+  // and add 3 headers to this packet.
   Packet p (1000);
   MyHeaderA a;
   MyHeaderB b;
@@ -141,6 +159,7 @@
   std::cout << std::endl;
 
 
+  // fragment our packet in 3 pieces
   Packet p1 = p.CreateFragment (0, 2);
   Packet p2 = p.CreateFragment (2, 1000);
   Packet p3 = p.CreateFragment (1002, 128);
@@ -154,6 +173,8 @@
   p3.Print (std::cout, printer);
   std::cout << std::endl;
 
+  // aggregate all 3 fragments of the original packet
+  // to reconstruct a copy of the original packet.
   Packet aggregate = p1;
   aggregate.AddAtEnd (p2);
   aggregate.AddAtEnd (p3);