31 #include "ns3/fatal-error.h"
41 msgSize (0), responseSize (0)
47 : size (s),
data (0), msgSize (msg), responseSize (resp)
52 data.push_back (Create<Packet> (d,
size));
57 : size (s.length () + 1),
data (0),
58 msgSize (0), responseSize (0)
61 data.push_back (Create<Packet> ((uint8_t*)s.c_str (),
size));
66 msgSize (c.msgSize), responseSize (c.responseSize)
106 data.push_back (Create<Packet> (d,s));
110 data.push_back (Create<Packet> (s));
133 if (offset >
size)
return 0;
134 return size - offset;
140 if (seqOffset < seqFront)
144 return seqOffset - seqFront;
154 return Create<Packet> ();
156 if (
data.size () != 0)
159 std::vector<Ptr<Packet> >::size_type begin = 0;
160 bool beginFound =
false;
161 std::vector<Ptr<Packet> >::size_type end = 0;
166 count+=
data[i]->GetSize ();
174 uint32_t packetStart = count - toFragment->
GetSize ();
175 uint32_t packetOffset = o - packetStart;
182 uint32_t packetStart = count - toFragment->
GetSize ();
183 uint32_t packetOffset = o - packetStart;
184 uint32_t fragmentLength = count - o;
185 outPacket = toFragment->
CreateFragment (packetOffset, fragmentLength);
194 uint32_t packetStart = count - toFragment->
GetSize ();
195 uint32_t fragmentLength = o + s1 - packetStart;
201 for (std::vector<
Ptr<Packet> >::size_type i=begin+1; i<end; ++i)
214 return Create<Packet> (s1);
238 std::vector<Ptr<Packet> >::iterator endI =
data.begin ();
239 uint32_t current = 0;
241 for (std::vector<
Ptr<Packet> >::iterator dataI =
data.begin (); dataI <
data.end (); dataI++)
243 if (current + (*dataI)->GetSize () > count)
247 current += (*dataI)->GetSize ();