Factor ByteTagList::Adjust out of ByteTagList::AddAt{Start,End}
This commit is contained in:
@@ -274,10 +274,9 @@ ByteTagList::Begin (int32_t offsetStart, int32_t offsetEnd) const
|
||||
}
|
||||
|
||||
void
|
||||
ByteTagList::AddAtEnd (int32_t adjustment, int32_t appendOffset)
|
||||
ByteTagList::AddAtEnd (int32_t appendOffset)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << adjustment << appendOffset);
|
||||
m_adjustment += adjustment;
|
||||
NS_LOG_FUNCTION (this << appendOffset);
|
||||
if (m_maxEnd <= appendOffset - m_adjustment)
|
||||
{
|
||||
return;
|
||||
@@ -307,10 +306,9 @@ ByteTagList::AddAtEnd (int32_t adjustment, int32_t appendOffset)
|
||||
}
|
||||
|
||||
void
|
||||
ByteTagList::AddAtStart (int32_t adjustment, int32_t prependOffset)
|
||||
ByteTagList::AddAtStart (int32_t prependOffset)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << adjustment << prependOffset);
|
||||
m_adjustment += adjustment;
|
||||
NS_LOG_FUNCTION (this << prependOffset);
|
||||
if (m_minStart >= prependOffset - m_adjustment)
|
||||
{
|
||||
return;
|
||||
|
||||
@@ -207,26 +207,29 @@ private:
|
||||
*/
|
||||
ByteTagList::Iterator Begin (int32_t offsetStart, int32_t offsetEnd) const;
|
||||
|
||||
/*
|
||||
* Adjust the offsets stored internally by the adjustment delta.
|
||||
*
|
||||
* \param adjustment value to change stored offsets by
|
||||
*/
|
||||
inline void Adjust (int32_t adjustment);
|
||||
|
||||
/**
|
||||
* Adjust the offsets stored internally by the adjustment delta and
|
||||
* make sure that all offsets are smaller than appendOffset which represents
|
||||
* Make sure that all offsets are smaller than appendOffset which represents
|
||||
* the location where new bytes have been added to the byte buffer.
|
||||
*
|
||||
* \param adjustment value to change stored offsets by
|
||||
* \param appendOffset maximum offset value
|
||||
*
|
||||
*/
|
||||
void AddAtEnd (int32_t adjustment, int32_t appendOffset);
|
||||
void AddAtEnd (int32_t appendOffset);
|
||||
/**
|
||||
* Adjust the offsets stored internally by the adjustment delta and
|
||||
* make sure that all offsets are bigger than prependOffset which represents
|
||||
* Make sure that all offsets are bigger than prependOffset which represents
|
||||
* the location where new bytes have been added to the byte buffer.
|
||||
*
|
||||
* \param adjustment value to change stored offsets byte
|
||||
* \param prependOffset minimum offset value
|
||||
*
|
||||
*/
|
||||
void AddAtStart (int32_t adjustment, int32_t prependOffset);
|
||||
void AddAtStart (int32_t prependOffset);
|
||||
|
||||
private:
|
||||
/**
|
||||
@@ -256,6 +259,12 @@ private:
|
||||
struct ByteTagListData *m_data; //!< the ByteTagListData structure
|
||||
};
|
||||
|
||||
void
|
||||
ByteTagList::Adjust (int32_t adjustment)
|
||||
{
|
||||
m_adjustment += adjustment;
|
||||
}
|
||||
|
||||
} // namespace ns3
|
||||
|
||||
#endif /* BYTE_TAG_LIST_H */
|
||||
|
||||
@@ -256,8 +256,8 @@ Packet::AddHeader (const Header &header)
|
||||
NS_LOG_FUNCTION (this << header.GetInstanceTypeId ().GetName () << size);
|
||||
uint32_t orgStart = m_buffer.GetCurrentStartOffset ();
|
||||
m_buffer.AddAtStart (size);
|
||||
m_byteTagList.AddAtStart (m_buffer.GetCurrentStartOffset () + size - orgStart,
|
||||
m_buffer.GetCurrentStartOffset () + size);
|
||||
m_byteTagList.Adjust (m_buffer.GetCurrentStartOffset () + size - orgStart);
|
||||
m_byteTagList.AddAtStart (m_buffer.GetCurrentStartOffset () + size);
|
||||
header.Serialize (m_buffer.Begin ());
|
||||
m_metadata.AddHeader (header, size);
|
||||
}
|
||||
@@ -284,8 +284,8 @@ Packet::AddTrailer (const Trailer &trailer)
|
||||
NS_LOG_FUNCTION (this << trailer.GetInstanceTypeId ().GetName () << size);
|
||||
uint32_t orgStart = m_buffer.GetCurrentStartOffset ();
|
||||
m_buffer.AddAtEnd (size);
|
||||
m_byteTagList.AddAtEnd (m_buffer.GetCurrentStartOffset () - orgStart,
|
||||
m_buffer.GetCurrentEndOffset () - size);
|
||||
m_byteTagList.Adjust (m_buffer.GetCurrentStartOffset () - orgStart);
|
||||
m_byteTagList.AddAtEnd (m_buffer.GetCurrentEndOffset () - size);
|
||||
Buffer::Iterator end = m_buffer.End ();
|
||||
trailer.Serialize (end);
|
||||
m_metadata.AddTrailer (trailer, size);
|
||||
@@ -315,11 +315,11 @@ Packet::AddAtEnd (Ptr<const Packet> packet)
|
||||
uint32_t bEnd = packet->m_buffer.GetCurrentEndOffset ();
|
||||
m_buffer.AddAtEnd (packet->m_buffer);
|
||||
uint32_t appendPrependOffset = m_buffer.GetCurrentEndOffset () - packet->m_buffer.GetSize ();
|
||||
m_byteTagList.AddAtEnd (m_buffer.GetCurrentStartOffset () - aStart,
|
||||
appendPrependOffset);
|
||||
m_byteTagList.Adjust (m_buffer.GetCurrentStartOffset () - aStart);
|
||||
m_byteTagList.AddAtEnd (appendPrependOffset);
|
||||
ByteTagList copy = packet->m_byteTagList;
|
||||
copy.AddAtStart (m_buffer.GetCurrentEndOffset () - bEnd,
|
||||
appendPrependOffset);
|
||||
copy.Adjust (m_buffer.GetCurrentEndOffset () - bEnd);
|
||||
copy.AddAtStart (appendPrependOffset);
|
||||
m_byteTagList.Add (copy);
|
||||
m_metadata.AddAtEnd (packet->m_metadata);
|
||||
}
|
||||
@@ -329,8 +329,8 @@ Packet::AddPaddingAtEnd (uint32_t size)
|
||||
NS_LOG_FUNCTION (this << size);
|
||||
uint32_t orgStart = m_buffer.GetCurrentStartOffset ();
|
||||
m_buffer.AddAtEnd (size);
|
||||
m_byteTagList.AddAtEnd (m_buffer.GetCurrentStartOffset () - orgStart,
|
||||
m_buffer.GetCurrentEndOffset () - size);
|
||||
m_byteTagList.Adjust (m_buffer.GetCurrentStartOffset () - orgStart);
|
||||
m_byteTagList.AddAtEnd (m_buffer.GetCurrentEndOffset () - size);
|
||||
m_metadata.AddPaddingAtEnd (size);
|
||||
}
|
||||
void
|
||||
|
||||
Reference in New Issue
Block a user