#include <gradual_state_machine.hpp>
Classes | |
struct | State |
Public Types | |
using | StateContainer = std::set< State > |
Public Member Functions | |
GradualStateMachine (const StateContainer &) | |
GradualStateMachine (StateContainer &&) | |
void | update (ChannelLoad) override |
Clock::duration | transmission_interval () const override |
std::string | state () const |
Private Member Functions | |
void | repair () |
Private Attributes | |
StateContainer | m_states |
StateContainer::const_iterator | m_current |
Reactive Transmit Rate Control (TRC) based on a state machine.
This implementation complies with ETSI TS 102 687 v1.2.1, i.e. transitions can only happen gradually between neighbouring states. No ramping up or cooling down timing behaviour exists (not specified anymore).
Definition at line 22 of file gradual_state_machine.hpp.
using vanetza::dcc::GradualStateMachine::StateContainer = std::set<State> |
Definition at line 35 of file gradual_state_machine.hpp.
|
private |
Definition at line 57 of file gradual_state_machine.cpp.
std::string vanetza::dcc::GradualStateMachine::state | ( | ) | const |
Definition at line 45 of file gradual_state_machine.cpp.
|
overridevirtual |
Get current transmission interval
Implements vanetza::dcc::StateMachine.
Definition at line 40 of file gradual_state_machine.cpp.
|
overridevirtual |
Trigger state transition by updated channel load
cl | new channel load measurement |
Implements vanetza::dcc::StateMachine.
Definition at line 22 of file gradual_state_machine.cpp.
|
private |
Definition at line 48 of file gradual_state_machine.hpp.
|
private |
Definition at line 47 of file gradual_state_machine.hpp.