#include <fully_meshed_state_machine.hpp>
Public Member Functions | |
void | update (ChannelLoad channel_load) |
double | message_rate () const |
Clock::duration | transmission_interval () const |
const State & | state () const |
Private Member Functions | |
double | max_channel_load () const |
double | min_channel_load () const |
Private Attributes | |
Relaxed | m_relaxed |
Active | m_active |
Restrictive | m_restrictive |
State * | m_state |
boost::circular_buffer< ChannelLoad > | m_channel_loads |
Fully meshed TRC state machine as per TS 102 687 v1.1.1
States are modelled according to C2C-CC DCC Whitepaper / BSP v1.2 State transitions are deferred internally for ramping up and cooling down over time.
Definition at line 60 of file fully_meshed_state_machine.hpp.
vanetza::dcc::FullyMeshedStateMachine::FullyMeshedStateMachine | ( | ) |
Definition at line 93 of file fully_meshed_state_machine.cpp.
vanetza::dcc::FullyMeshedStateMachine::~FullyMeshedStateMachine | ( | ) |
Definition at line 99 of file fully_meshed_state_machine.cpp.
|
private |
Definition at line 163 of file fully_meshed_state_machine.cpp.
double vanetza::dcc::FullyMeshedStateMachine::message_rate | ( | ) | const |
Get currently allowed maximum message rate depending on state
Definition at line 129 of file fully_meshed_state_machine.cpp.
|
private |
Definition at line 146 of file fully_meshed_state_machine.cpp.
const State & vanetza::dcc::FullyMeshedStateMachine::state | ( | ) | const |
Get state machine's active state
Definition at line 140 of file fully_meshed_state_machine.cpp.
|
virtual |
Get advised transmission interval between consecutive messages
Implements vanetza::dcc::StateMachine.
Definition at line 135 of file fully_meshed_state_machine.cpp.
|
virtual |
Notify state machine about current channel load. This method expects to be called in regular intervals of NDL_minDccSampling length.
Implements vanetza::dcc::StateMachine.
Definition at line 103 of file fully_meshed_state_machine.cpp.
|
private |
Definition at line 95 of file fully_meshed_state_machine.hpp.
|
private |
Definition at line 98 of file fully_meshed_state_machine.hpp.
|
private |
Definition at line 94 of file fully_meshed_state_machine.hpp.
|
private |
Definition at line 96 of file fully_meshed_state_machine.hpp.
|
private |
Definition at line 97 of file fully_meshed_state_machine.hpp.