1.1 --- a/src/common/packet.h Wed Jun 03 08:49:40 2009 +0200
1.2 +++ b/src/common/packet.h Thu Jun 04 08:41:15 2009 +0200
1.3 @@ -176,9 +176,14 @@
1.4 * while 'packet' tags are used to tag the packet itself. The main difference
1.5 * between these two kinds of tags is what happens when packets are copied,
1.6 * fragmented, and reassembled: 'byte' tags follow bytes while 'packet' tags
1.7 - * follow packets. A classic example of a 'byte' tag is a FlowIdTag
1.8 - * which contains a flow id: the set of bytes tagged by this tag implicitely
1.9 - * belong to the attached flow id.
1.10 + * follow packets. Another important difference between these two kinds of tags
1.11 + * is that byte tags cannot be removed and are expected to be written once,
1.12 + * and read many times, while packet tags are expected to be written once,
1.13 + * read many times, and removed exactly once. An example of a 'byte'
1.14 + * tag is a FlowIdTag which contains a flow id and is set by the application
1.15 + * generating traffic. An example of a 'packet' tag is a cross-layer
1.16 + * qos class id set by an application and processed by a lower-level MAC
1.17 + * layer.
1.18 *
1.19 * Implementing a new type of Header or Trailer for a new protocol is
1.20 * pretty easy and is a matter of creating a subclass of the ns3::Header
1.21 @@ -471,8 +476,6 @@
1.22 * Note that this method is const, that is, it does not
1.23 * modify the state of this packet, which is fairly
1.24 * un-intuitive.
1.25 - *
1.26 - * \sa AddTag
1.27 */
1.28 void AddPacketTag (const Tag &tag) const;
1.29 /**
1.30 @@ -546,11 +549,12 @@
1.31 * - ns3::Packet::RemovePacketTag
1.32 *
1.33 * Non-dirty operations:
1.34 - * - ns3::Packet::AddTag
1.35 - * - ns3::Packet::RemoveAllTags
1.36 - * - ns3::Packet::PeekTag
1.37 + * - ns3::Packet::AddPacketTag
1.38 + * - ns3::Packet::PeekPacketTag
1.39 * - ns3::Packet::RemoveAllPacketTags
1.40 - * - ns3::Packet::PeekPacketTag
1.41 + * - ns3::Packet::AddByteTag
1.42 + * - ns3::Packet::FindFirstMatchingByteTag
1.43 + * - ns3::Packet::RemoveAllByteTags
1.44 * - ns3::Packet::RemoveHeader
1.45 * - ns3::Packet::RemoveTrailer
1.46 * - ns3::Packet::CreateFragment