31 #include "ns3/fatal-error.h"
43 msgSize (0), responseSize (0)
49 : size (s),
data (0), msgSize (msg), responseSize (resp)
54 data.push_back (Create<Packet> (d,
size));
59 : size (s.length () + 1),
data (0),
60 msgSize (0), responseSize (0)
63 data.push_back (Create<Packet> ((uint8_t*)s.c_str (),
size));
68 msgSize (c.msgSize), responseSize (c.responseSize)
108 data.push_back (Create<Packet> (d,s));
112 data.push_back (Create<Packet> (s));
135 if (offset >
size)
return 0;
136 return size - offset;
142 if (seqOffset < seqFront)
146 return seqOffset - seqFront;
156 return Create<Packet> ();
158 if (
data.size () != 0)
161 std::vector<Ptr<Packet> >::size_type begin = 0;
162 bool beginFound =
false;
163 std::vector<Ptr<Packet> >::size_type end = 0;
168 count+=
data[i]->GetSize ();
176 uint32_t packetStart = count - toFragment->
GetSize ();
177 uint32_t packetOffset = o - packetStart;
184 uint32_t packetStart = count - toFragment->
GetSize ();
185 uint32_t packetOffset = o - packetStart;
186 uint32_t fragmentLength = count - o;
187 outPacket = toFragment->
CreateFragment (packetOffset, fragmentLength);
196 uint32_t packetStart = count - toFragment->
GetSize ();
197 uint32_t fragmentLength = o + s1 - packetStart;
203 for (std::vector<
Ptr<Packet> >::size_type i=begin+1; i<end; ++i)
216 return Create<Packet> (s1);
240 std::vector<Ptr<Packet> >::iterator endI =
data.begin ();
241 uint32_t current = 0;
243 for (std::vector<
Ptr<Packet> >::iterator dataI =
data.begin (); dataI <
data.end (); dataI++)
245 if (current + (*dataI)->GetSize () > count)
249 current += (*dataI)->GetSize ();