Vanetza
Loading...
Searching...
No Matches
bursty_transmit_rate_control.hpp
1
#ifndef BURSTY_TRANSMIT_RATE_CONTROL_HPP_AM7LROYD
2
#define BURSTY_TRANSMIT_RATE_CONTROL_HPP_AM7LROYD
3
4
#include <vanetza/common/clock.hpp>
5
#include <vanetza/dcc/burst_budget.hpp>
6
#include <vanetza/dcc/profile.hpp>
7
#include <vanetza/dcc/state_machine_budget.hpp>
8
#include <vanetza/dcc/transmit_rate_control.hpp>
9
10
namespace
vanetza
11
{
12
13
// forward declarations
14
class
Runtime
;
15
namespace
dcc {
class
StateMachine
; }
16
17
namespace
dcc
18
{
19
20
/**
21
* Transmit Rate Control with occasional DP0 message bursts.
22
* DP1, DP2 and DP3 messages are controlled by a state machine only.
23
*/
24
class
BurstyTransmitRateControl :
public
TransmitRateControl
25
{
26
public
:
27
BurstyTransmitRateControl(
const
StateMachine
&,
const
Runtime
& rt);
28
29
Clock::duration
delay
(
const
Transmission
&)
override
;
30
Clock::duration
interval
(
const
Transmission
&)
override
;
31
void
notify
(
const
Transmission
&)
override
;
32
33
private
:
34
BurstBudget
m_burst_budget;
35
StateMachineBudget
m_fsm_budget;
36
const
StateMachine
& m_fsm;
37
};
38
39
}
// namespace dcc
40
}
// namespace vanetza
41
42
#endif
/* BURSTY_TRANSMIT_RATE_CONTROL_HPP_AM7LROYD */
43
vanetza::Runtime
Definition
runtime.hpp:16
vanetza::dcc::BurstBudget
Definition
burst_budget.hpp:22
vanetza::dcc::BurstyTransmitRateControl::delay
Clock::duration delay(const Transmission &) override
Definition
bursty_transmit_rate_control.cpp:16
vanetza::dcc::BurstyTransmitRateControl::notify
void notify(const Transmission &) override
Definition
bursty_transmit_rate_control.cpp:58
vanetza::dcc::BurstyTransmitRateControl::interval
Clock::duration interval(const Transmission &) override
Definition
bursty_transmit_rate_control.cpp:37
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
bursty_transmit_rate_control.hpp
Generated on
for Vanetza by
1.14.0