Vanetza
Loading...
Searching...
No Matches
state_machine_budget.hpp
1
#ifndef STATE_MACHINE_BUDGET_HPP_9AL8A2JG
2
#define STATE_MACHINE_BUDGET_HPP_9AL8A2JG
3
4
#include <vanetza/common/clock.hpp>
5
#include <boost/optional.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
* StateMachineBudget: TRC restrictions as determined by a state machine
19
*/
20
class
StateMachineBudget
21
{
22
public
:
23
StateMachineBudget
(
const
StateMachine
&,
const
Runtime
&);
24
Clock::duration delay();
25
void
notify();
26
27
private
:
28
const
StateMachine
& m_fsm;
29
const
Runtime
& m_runtime;
30
boost::optional<Clock::time_point> m_last_tx;
31
};
32
33
}
// namespace dcc
34
}
// namespace vanetza
35
36
#endif
/* STATE_MACHINE_BUDGET_HPP_9AL8A2JG */
37
vanetza::Runtime
Definition:
runtime.hpp:16
vanetza::dcc::StateMachineBudget
Definition:
state_machine_budget.hpp:21
vanetza::dcc::StateMachine
Definition:
state_machine.hpp:16
vanetza
dcc
state_machine_budget.hpp
Generated on Thu Nov 30 2023 12:03:35 for Vanetza by
1.9.6