Files
MicrOBU/obu-firmware/external/vanetza-idf/vanetza/net/buffer_packet.cpp
T

45 lines
801 B
C++
Raw Normal View History

#include "buffer_packet.hpp"
namespace vanetza
{
BufferPacket::BufferPacket()
{
}
void BufferPacket::swap(OsiLayer layer, ByteBuffer& replacement)
{
ByteBuffer& stored = mBuffers[layer];
stored.swap(replacement);
}
const ByteBuffer& BufferPacket::operator[](OsiLayer layer) const
{
auto match = mBuffers.find(layer);
if (match == mBuffers.end()) {
static const ByteBuffer scEmptyBuffer;
return scEmptyBuffer;
} else {
return match->second;
}
}
std::size_t BufferPacket::size() const
{
std::size_t packet_size = 0;
for (const auto& it : *this) {
packet_size += it.second.size();
}
return packet_size;
}
void BufferPacket::clear()
{
for (auto& it : mBuffers) {
it.second.clear();
}
}
} // namespace vanetza