Vanetza
Loading...
Searching...
No Matches
state_machine.hpp
1
#ifndef STATE_MACHINE_HPP_0MHYOQU7
2
#define STATE_MACHINE_HPP_0MHYOQU7
3
4
#include <vanetza/dcc/channel_load.hpp>
5
#include <vanetza/common/clock.hpp>
6
7
namespace
vanetza
8
{
9
namespace
dcc
10
{
11
12
/**
13
* State machine interface used for Transmit Rate Control
14
*/
15
class
StateMachine
16
{
17
public
:
18
/**
19
* Trigger state transition by updated channel load
20
* \param cl new channel load measurement
21
*/
22
virtual
void
update
(
ChannelLoad
cl) = 0;
23
24
/**
25
* Get current transmission interval
26
* \return duration between two transmissions
27
*/
28
virtual
Clock::duration
transmission_interval
()
const
= 0;
29
30
virtual
~StateMachine
() =
default
;
31
};
32
33
}
// namespace dcc
34
}
// namespace vanetza
35
36
#endif
/* STATE_MACHINE_HPP_0MHYOQU7 */
37
vanetza::dcc::ChannelLoad
Definition:
channel_load.hpp:12
vanetza::dcc::StateMachine
Definition:
state_machine.hpp:16
vanetza::dcc::StateMachine::transmission_interval
virtual Clock::duration transmission_interval() const =0
vanetza::dcc::StateMachine::update
virtual void update(ChannelLoad cl)=0
vanetza
dcc
state_machine.hpp
Generated on Thu Nov 30 2023 12:03:35 for Vanetza by
1.9.6