Vanetza
Loading...
Searching...
No Matches
duplicate_packet_list.cpp
1
#
include
<
vanetza
/
geonet
/
duplicate_packet_list
.
hpp
>
2
#
include
<
cassert
>
3
4
namespace
vanetza
5
{
6
namespace
geonet
7
{
8
9
DuplicatePacketList
::DuplicatePacketList(
unsigned
elements) :
10
m_elements(elements)
11
{
12
assert(m_elements.size() == 0);
13
}
14
15
bool
DuplicatePacketList
::
check
(
SequenceNumber
sn)
16
{
17
ListElement
* element = find(sn);
18
if
(element) {
19
++element->counter;
20
return
true
;
21
}
else
{
22
m_elements.push_back(ListElement { sn });
23
return
false
;
24
}
25
}
26
27
unsigned
DuplicatePacketList
::
counter
(
SequenceNumber
sn)
const
28
{
29
for
(
auto
& element : m_elements) {
30
if
(element.sequence_number == sn) {
31
return
element.counter;
32
}
33
}
34
return
0;
35
}
36
37
DuplicatePacketList
::
ListElement
*
DuplicatePacketList
::find(
SequenceNumber
sn)
38
{
39
for
(
auto
& element : m_elements) {
40
if
(element.sequence_number == sn) {
41
return
&element;
42
}
43
}
44
return
nullptr
;
45
}
46
47
DuplicatePacketList
::
ListElement
::ListElement(
SequenceNumber
sn) :
48
sequence_number(sn), counter(1)
49
{
50
}
51
52
}
// namespace geonet
53
}
// namespace vanetza
vanetza::geonet::DuplicatePacketList
Definition
duplicate_packet_list.hpp:19
vanetza::geonet::DuplicatePacketList::check
bool check(SequenceNumber)
Definition
duplicate_packet_list.cpp:15
vanetza::geonet::DuplicatePacketList::counter
unsigned counter(SequenceNumber) const
Definition
duplicate_packet_list.cpp:27
vanetza::geonet::SequenceNumber
Definition
sequence_number.hpp:17
vanetza::geonet::DuplicatePacketList::ListElement
Definition
duplicate_packet_list.hpp:41
vanetza
geonet
duplicate_packet_list.cpp
Generated on
for Vanetza by
1.16.1