Vanetza
Loading...
Searching...
No Matches
single_reactive_transmit_rate_control.hpp
1
#ifndef SINGLE_REACTIVE_TRANSMIT_RATE_CONTROL_HPP_2GPPO79B
2
#define SINGLE_REACTIVE_TRANSMIT_RATE_CONTROL_HPP_2GPPO79B
3
4
#include <vanetza/dcc/state_machine_budget.hpp>
5
#include <vanetza/dcc/transmit_rate_control.hpp>
6
7
namespace
vanetza
8
{
9
10
// forward declarations
11
class
Runtime
;
12
namespace
dcc {
class
StateMachine
; }
13
14
namespace
dcc
15
{
16
17
/**
18
* Transmit Rate Control using a single reactive state machine for all messages
19
*/
20
class
SingleReactiveTransmitRateControl :
public
TransmitRateControl
21
{
22
public
:
23
SingleReactiveTransmitRateControl(
const
StateMachine
&,
const
Runtime
&);
24
25
Clock::duration
delay
(
const
Transmission
&)
override
;
26
Clock::duration
interval
(
const
Transmission
&)
override
;
27
void
notify
(
const
Transmission
&)
override
;
28
29
private
:
30
const
StateMachine
& m_fsm;
31
StateMachineBudget
m_fsm_budget;
32
};
33
34
}
// namespace dcc
35
}
// namespace vanetza
36
37
#endif
/* SINGLE_REACTIVE_TRANSMIT_RATE_CONTROL_HPP_2GPPO79B */
38
vanetza::Runtime
Definition
runtime.hpp:16
vanetza::dcc::SingleReactiveTransmitRateControl::notify
void notify(const Transmission &) override
Definition
single_reactive_transmit_rate_control.cpp:24
vanetza::dcc::SingleReactiveTransmitRateControl::delay
Clock::duration delay(const Transmission &) override
Definition
single_reactive_transmit_rate_control.cpp:19
vanetza::dcc::SingleReactiveTransmitRateControl::interval
Clock::duration interval(const Transmission &) override
Definition
single_reactive_transmit_rate_control.cpp:14
vanetza::dcc::StateMachineBudget
Definition
state_machine_budget.hpp:21
vanetza::dcc::StateMachine
Definition
state_machine.hpp:16
vanetza::dcc::Transmission
Definition
transmission.hpp:15
vanetza::dcc::TransmitRateControl
Definition
transmit_rate_control.hpp:45
vanetza
dcc
single_reactive_transmit_rate_control.hpp
Generated on
for Vanetza by
1.14.0