Vanetza
Loading...
Searching...
No Matches
limeric_transmit_rate_control.hpp
1
#ifndef LIMERIC_TRANSMIT_RATE_CONTROL_HPP_RY1TIBMJ
2
#define LIMERIC_TRANSMIT_RATE_CONTROL_HPP_RY1TIBMJ
3
4
#include <vanetza/dcc/limeric.hpp>
5
#include <vanetza/dcc/limeric_budget.hpp>
6
#include <vanetza/dcc/transmit_rate_control.hpp>
7
8
namespace
vanetza
9
{
10
11
// forward declaration
12
class
Runtime
;
13
14
namespace
dcc
15
{
16
17
/**
18
* Transmit Rate Control implementation based on Limeric algorithm
19
*/
20
class
LimericTransmitRateControl :
public
TransmitRateControl
21
{
22
public
:
23
LimericTransmitRateControl(
const
Runtime
&,
const
Limeric
&);
24
25
Clock::duration
delay
(
const
Transmission
&)
override
;
26
Clock::duration
interval
(
const
Transmission
&)
override
;
27
void
notify
(
const
Transmission
&)
override
;
28
29
/**
30
* Update TRC limits.
31
* Call this method whenever Limeric updates its duty cycle.
32
*/
33
void
update
();
34
35
private
:
36
LimericBudget
m_budget;
37
};
38
39
}
// namespace dcc
40
}
// namespace vanetza
41
42
#endif
/* LIMERIC_TRANSMIT_RATE_CONTROL_HPP_RY1TIBMJ */
43
vanetza::Runtime
Definition
runtime.hpp:16
vanetza::dcc::LimericBudget
Definition
limeric_budget.hpp:23
vanetza::dcc::LimericTransmitRateControl::update
void update()
Definition
limeric_transmit_rate_control.cpp:29
vanetza::dcc::LimericTransmitRateControl::notify
void notify(const Transmission &) override
Definition
limeric_transmit_rate_control.cpp:24
vanetza::dcc::LimericTransmitRateControl::interval
Clock::duration interval(const Transmission &) override
Definition
limeric_transmit_rate_control.cpp:19
vanetza::dcc::LimericTransmitRateControl::delay
Clock::duration delay(const Transmission &) override
Definition
limeric_transmit_rate_control.cpp:14
vanetza::dcc::Limeric
Definition
limeric.hpp:33
vanetza::dcc::Transmission
Definition
transmission.hpp:15
vanetza::dcc::TransmitRateControl
Definition
transmit_rate_control.hpp:45
vanetza
dcc
limeric_transmit_rate_control.hpp
Generated on
for Vanetza by
1.14.0