merge
This commit is contained in:
@@ -1001,6 +1001,12 @@ PacketMetadata::GetTotalSize (void) const
|
||||
return totalSize;
|
||||
}
|
||||
|
||||
uint32_t
|
||||
PacketMetadata::GetUid (void) const
|
||||
{
|
||||
return m_packetUid;
|
||||
}
|
||||
|
||||
void
|
||||
PacketMetadata::Print (std::ostream &os, Buffer data, const PacketPrinter &printer) const
|
||||
{
|
||||
|
||||
@@ -58,6 +58,8 @@ public:
|
||||
void RemoveAtStart (uint32_t start);
|
||||
void RemoveAtEnd (uint32_t end);
|
||||
|
||||
uint32_t GetUid (void) const;
|
||||
|
||||
void PrintDefault (std::ostream &os, Buffer buffer) const;
|
||||
void Print (std::ostream &os, Buffer buffer, PacketPrinter const &printer) const;
|
||||
|
||||
|
||||
@@ -28,23 +28,20 @@ uint32_t Packet::m_globalUid = 0;
|
||||
|
||||
Packet::Packet ()
|
||||
: m_buffer (),
|
||||
m_history (m_globalUid, 0),
|
||||
m_uid (m_globalUid)
|
||||
m_metadata (m_globalUid, 0)
|
||||
{
|
||||
m_globalUid++;
|
||||
}
|
||||
|
||||
Packet::Packet (uint32_t size)
|
||||
: m_buffer (size),
|
||||
m_history (m_globalUid, size),
|
||||
m_uid (m_globalUid)
|
||||
m_metadata (m_globalUid, size)
|
||||
{
|
||||
m_globalUid++;
|
||||
}
|
||||
Packet::Packet (uint8_t const*buffer, uint32_t size)
|
||||
: m_buffer (),
|
||||
m_history (m_globalUid, size),
|
||||
m_uid (m_globalUid)
|
||||
m_metadata (m_globalUid, size)
|
||||
{
|
||||
m_globalUid++;
|
||||
m_buffer.AddAtStart (size);
|
||||
@@ -52,11 +49,10 @@ Packet::Packet (uint8_t const*buffer, uint32_t size)
|
||||
i.Write (buffer, size);
|
||||
}
|
||||
|
||||
Packet::Packet (Buffer buffer, Tags tags, PacketMetadata history, uint32_t uid)
|
||||
Packet::Packet (Buffer buffer, Tags tags, PacketMetadata metadata)
|
||||
: m_buffer (buffer),
|
||||
m_tags (tags),
|
||||
m_history (history),
|
||||
m_uid (uid)
|
||||
m_metadata (metadata)
|
||||
{}
|
||||
|
||||
Packet
|
||||
@@ -65,8 +61,8 @@ Packet::CreateFragment (uint32_t start, uint32_t length) const
|
||||
Buffer buffer = m_buffer.CreateFragment (start, length);
|
||||
NS_ASSERT (m_buffer.GetSize () >= start + length);
|
||||
uint32_t end = m_buffer.GetSize () - (start + length);
|
||||
PacketMetadata history = m_history.CreateFragment (start, end);
|
||||
return Packet (buffer, m_tags, history, m_uid);
|
||||
PacketMetadata metadata = m_metadata.CreateFragment (start, end);
|
||||
return Packet (buffer, m_tags, metadata);
|
||||
}
|
||||
|
||||
uint32_t
|
||||
@@ -90,25 +86,25 @@ Packet::AddAtEnd (Packet packet)
|
||||
* XXX: we might need to merge the tag list of the
|
||||
* other packet into the current packet.
|
||||
*/
|
||||
m_history.AddAtEnd (packet.m_history);
|
||||
m_metadata.AddAtEnd (packet.m_metadata);
|
||||
}
|
||||
void
|
||||
Packet::AddPaddingAtEnd (uint32_t size)
|
||||
{
|
||||
m_buffer.AddAtEnd (size);
|
||||
m_history.AddPaddingAtEnd (size);
|
||||
m_metadata.AddPaddingAtEnd (size);
|
||||
}
|
||||
void
|
||||
Packet::RemoveAtEnd (uint32_t size)
|
||||
{
|
||||
m_buffer.RemoveAtEnd (size);
|
||||
m_history.RemoveAtEnd (size);
|
||||
m_metadata.RemoveAtEnd (size);
|
||||
}
|
||||
void
|
||||
Packet::RemoveAtStart (uint32_t size)
|
||||
{
|
||||
m_buffer.RemoveAtStart (size);
|
||||
m_history.RemoveAtStart (size);
|
||||
m_metadata.RemoveAtStart (size);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -126,19 +122,19 @@ Packet::PeekData (void) const
|
||||
uint32_t
|
||||
Packet::GetUid (void) const
|
||||
{
|
||||
return m_uid;
|
||||
return m_metadata.GetUid ();
|
||||
}
|
||||
|
||||
void
|
||||
Packet::Print (std::ostream &os) const
|
||||
{
|
||||
m_history.PrintDefault (os, m_buffer);
|
||||
m_metadata.PrintDefault (os, m_buffer);
|
||||
}
|
||||
|
||||
void
|
||||
Packet::Print (std::ostream &os, const PacketPrinter &printer) const
|
||||
{
|
||||
m_history.Print (os, m_buffer, printer);
|
||||
m_metadata.Print (os, m_buffer, printer);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -295,11 +295,10 @@ public:
|
||||
*/
|
||||
static void EnableMetadata (void);
|
||||
private:
|
||||
Packet (Buffer buffer, Tags tags, PacketMetadata history, uint32_t uid);
|
||||
Packet (Buffer buffer, Tags tags, PacketMetadata metadata);
|
||||
Buffer m_buffer;
|
||||
Tags m_tags;
|
||||
PacketMetadata m_history;
|
||||
uint32_t m_uid;
|
||||
PacketMetadata m_metadata;
|
||||
static uint32_t m_globalUid;
|
||||
};
|
||||
|
||||
@@ -322,7 +321,7 @@ Packet::AddHeader (T const &header)
|
||||
uint32_t size = header.GetSize ();
|
||||
m_buffer.AddAtStart (size);
|
||||
header.Serialize (m_buffer.Begin ());
|
||||
m_history.AddHeader (header, size);
|
||||
m_metadata.AddHeader (header, size);
|
||||
}
|
||||
template <typename T>
|
||||
uint32_t
|
||||
@@ -332,7 +331,7 @@ Packet::RemoveHeader (T &header)
|
||||
"Must pass Header subclass to Packet::RemoveHeader");
|
||||
uint32_t deserialized = header.Deserialize (m_buffer.Begin ());
|
||||
m_buffer.RemoveAtStart (deserialized);
|
||||
m_history.RemoveHeader (header, deserialized);
|
||||
m_metadata.RemoveHeader (header, deserialized);
|
||||
return deserialized;
|
||||
}
|
||||
template <typename T>
|
||||
@@ -345,7 +344,7 @@ Packet::AddTrailer (T const &trailer)
|
||||
m_buffer.AddAtEnd (size);
|
||||
Buffer::Iterator start = m_buffer.End ();
|
||||
trailer.Serialize (start);
|
||||
m_history.AddTrailer (trailer, size);
|
||||
m_metadata.AddTrailer (trailer, size);
|
||||
}
|
||||
template <typename T>
|
||||
uint32_t
|
||||
@@ -355,7 +354,7 @@ Packet::RemoveTrailer (T &trailer)
|
||||
"Must pass Trailer subclass to Packet::RemoveTrailer");
|
||||
uint32_t deserialized = trailer.Deserialize (m_buffer.End ());
|
||||
m_buffer.RemoveAtEnd (deserialized);
|
||||
m_history.RemoveTrailer (trailer, deserialized);
|
||||
m_metadata.RemoveTrailer (trailer, deserialized);
|
||||
return deserialized;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user