update documentation
authorMathieu Lacage <mathieu.lacage@sophia.inria.fr>
Thu Jun 04 08:41:15 2009 +0200 (8 months ago)
changeset 4490d70501bf2b14
parent 4489 07d34c0d8d18
child 4491 e87bd21d2f99
update documentation
src/common/packet.h
     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