Vanetza
 
Loading...
Searching...
No Matches
buffer_packet.cpp
1#include "buffer_packet.hpp"
2
3namespace vanetza
4{
5
6BufferPacket::BufferPacket()
7{
8}
9
10void BufferPacket::swap(OsiLayer layer, ByteBuffer& replacement)
11{
12 ByteBuffer& stored = mBuffers[layer];
13 stored.swap(replacement);
14}
15
16const ByteBuffer& BufferPacket::operator[](OsiLayer layer) const
17{
18 auto match = mBuffers.find(layer);
19 if (match == mBuffers.end()) {
20 static const ByteBuffer scEmptyBuffer;
21 return scEmptyBuffer;
22 } else {
23 return match->second;
24 }
25}
26
27std::size_t BufferPacket::size() const
28{
29 std::size_t packet_size = 0;
30 for (const auto& it : *this) {
31 packet_size += it.second.size();
32 }
33 return packet_size;
34}
35
36void BufferPacket::clear()
37{
38 for (auto& it : mBuffers) {
39 it.second.clear();
40 }
41}
42
43} // namespace vanetza
44