Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(33)

Side by Side Diff: src/common/packet.cc

Issue 117046: Ns-3 Nix-vector Routing
Patch Set: Created 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ 1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /* 2 /*
3 * Copyright (c) 2005,2006 INRIA 3 * Copyright (c) 2005,2006 INRIA
4 * 4 *
5 * This program is free software; you can redistribute it and/or modify 5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as 6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation; 7 * published by the Free Software Foundation;
8 * 8 *
9 * This program is distributed in the hope that it will be useful, 9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 i.Write (buffer, size); 187 i.Write (buffer, size);
188 } 188 }
189 189
190 Packet::Packet (const Buffer &buffer, const ByteTagList &byteTagList, 190 Packet::Packet (const Buffer &buffer, const ByteTagList &byteTagList,
191 const PacketTagList &packetTagList, const PacketMetadata &metada ta) 191 const PacketTagList &packetTagList, const PacketMetadata &metada ta)
192 : m_buffer (buffer), 192 : m_buffer (buffer),
193 m_byteTagList (byteTagList), 193 m_byteTagList (byteTagList),
194 m_packetTagList (packetTagList), 194 m_packetTagList (packetTagList),
195 m_metadata (metadata), 195 m_metadata (metadata),
196 m_refCount (1) 196 m_refCount (1)
197 {} 197 {
198 }
198 199
199 Ptr<Packet> 200 Ptr<Packet>
200 Packet::CreateFragment (uint32_t start, uint32_t length) const 201 Packet::CreateFragment (uint32_t start, uint32_t length) const
201 { 202 {
202 NS_LOG_FUNCTION (this << start << length); 203 NS_LOG_FUNCTION (this << start << length);
203 Buffer buffer = m_buffer.CreateFragment (start, length); 204 Buffer buffer = m_buffer.CreateFragment (start, length);
204 NS_ASSERT (m_buffer.GetSize () >= start + length); 205 NS_ASSERT (m_buffer.GetSize () >= start + length);
205 uint32_t end = m_buffer.GetSize () - (start + length); 206 uint32_t end = m_buffer.GetSize () - (start + length);
206 PacketMetadata metadata = m_metadata.CreateFragment (start, end); 207 PacketMetadata metadata = m_metadata.CreateFragment (start, end);
207 // again, call the constructor directly rather than 208 // again, call the constructor directly rather than
208 // through Create because it is private. 209 // through Create because it is private.
209 return Ptr<Packet> (new Packet (buffer, m_byteTagList, m_packetTagList, metada ta), false); 210 return Ptr<Packet> (new Packet (buffer, m_byteTagList, m_packetTagList, metada ta), false);
210 } 211 }
211 212
213 void
214 Packet::SetNixVector (Ptr<NixVector> nixVector)
craigdo 2009/09/11 22:38:17 Again, I'm concerned about this kind of specific m
jpelkey 2009/09/12 18:34:14 On 2009/09/11 22:38:17, craigdo wrote: > Again, I'
215 {
216 m_metadata.SetNixVector (nixVector);
217 }
218
219 Ptr<NixVector>
220 Packet::GetNixVector (void) const
221 {
222 return m_metadata.GetNixVector ();
223 }
224
212 uint32_t 225 uint32_t
213 Packet::GetSize (void) const 226 Packet::GetSize (void) const
214 { 227 {
215 return m_buffer.GetSize (); 228 return m_buffer.GetSize ();
216 } 229 }
217 230
218 void 231 void
219 Packet::AddHeader (const Header &header) 232 Packet::AddHeader (const Header &header)
220 { 233 {
221 uint32_t size = header.GetSerializedSize (); 234 uint32_t size = header.GetSerializedSize ();
(...skipping 447 matching lines...) Expand 10 before | Expand all | Expand 10 after
669 os << " "; 682 os << " ";
670 } 683 }
671 } 684 }
672 } 685 }
673 686
674 PacketTagIterator 687 PacketTagIterator
675 Packet::GetPacketTagIterator (void) const 688 Packet::GetPacketTagIterator (void) const
676 { 689 {
677 return PacketTagIterator (m_packetTagList.Head ()); 690 return PacketTagIterator (m_packetTagList.Head ());
678 } 691 }
679
680 692
681 std::ostream& operator<< (std::ostream& os, const Packet &packet) 693 std::ostream& operator<< (std::ostream& os, const Packet &packet)
682 { 694 {
683 packet.Print (os); 695 packet.Print (os);
684 return os; 696 return os;
685 } 697 }
686 698
687 699
688 } // namespace ns3 700 } // namespace ns3
689 701
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after
1101 tmp->PeekData (); 1113 tmp->PeekData ();
1102 CHECK (tmp, 1, E (20, 1, 1001)); 1114 CHECK (tmp, 1, E (20, 1, 1001));
1103 } 1115 }
1104 1116
1105 return result; 1117 return result;
1106 } 1118 }
1107 1119
1108 } // namespace ns3 1120 } // namespace ns3
1109 1121
1110 #endif /* RUN_SELF_TESTS */ 1122 #endif /* RUN_SELF_TESTS */
OLDNEW

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld r511