Vanetza
Loading...
Searching...
No Matches
next_hop.cpp
1
#include "next_hop.hpp"
2
3
namespace
vanetza
4
{
5
namespace
geonet
6
{
7
8
NextHop::NextHop() : m_state(State::Discarded)
9
{
10
}
11
12
bool
NextHop::discarded
()
const
13
{
14
return
m_state == State::Discarded;
15
}
16
17
bool
NextHop::buffered
()
const
18
{
19
return
m_state == State::Buffered;
20
}
21
22
bool
NextHop::valid
()
const
23
{
24
return
m_state == State::Valid;
25
}
26
27
const
MacAddress
&
NextHop::mac
()
const
28
{
29
return
m_destination;
30
}
31
32
bool
NextHop::process
() &&
33
{
34
if
(
valid
()) {
35
PendingPacket<GbcPdu>
(std::move(m_packet), m_destination).process();
36
m_state = State::Discarded;
37
return
true
;
38
}
else
{
39
return
false
;
40
}
41
}
42
43
void
NextHop::transmit
(Packet&& packet,
const
MacAddress
& destination)
44
{
45
m_state = NextHop::State::Valid;
46
m_packet = std::move(packet);
47
m_destination = destination;
48
}
49
50
void
NextHop::discard
()
51
{
52
m_state = NextHop::State::Discarded;
53
}
54
55
void
NextHop::buffer
()
56
{
57
m_state = NextHop::State::Buffered;
58
}
59
60
}
// namespace geonet
61
}
// namespace vanetza
62
vanetza::MacAddress
Definition
mac_address.hpp:19
vanetza::geonet::NextHop::process
bool process() &&
Definition
next_hop.cpp:32
vanetza::geonet::NextHop::valid
bool valid() const
Definition
next_hop.cpp:22
vanetza::geonet::NextHop::discarded
bool discarded() const
Definition
next_hop.cpp:12
vanetza::geonet::NextHop::discard
void discard()
Definition
next_hop.cpp:50
vanetza::geonet::NextHop::mac
const MacAddress & mac() const
Definition
next_hop.cpp:27
vanetza::geonet::NextHop::buffered
bool buffered() const
Definition
next_hop.cpp:17
vanetza::geonet::NextHop::transmit
void transmit(Packet &&packet, const MacAddress &destination)
Definition
next_hop.cpp:43
vanetza::geonet::NextHop::buffer
void buffer()
Definition
next_hop.cpp:55
vanetza::geonet::PendingPacket
Definition
pending_packet.hpp:23
vanetza
geonet
next_hop.cpp
Generated on
for Vanetza by
1.14.0