Vanetza
 
Loading...
Searching...
No Matches
vanetza::dcc::GradualStateMachine Class Reference

#include <gradual_state_machine.hpp>

Inheritance diagram for vanetza::dcc::GradualStateMachine:

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
 

Detailed Description

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.

Member Typedef Documentation

◆ StateContainer

using vanetza::dcc::GradualStateMachine::StateContainer = std::set<State>

Definition at line 35 of file gradual_state_machine.hpp.

Member Function Documentation

◆ repair()

void vanetza::dcc::GradualStateMachine::repair ( )
private

Definition at line 57 of file gradual_state_machine.cpp.

◆ state()

std::string vanetza::dcc::GradualStateMachine::state ( ) const

Definition at line 45 of file gradual_state_machine.cpp.

◆ transmission_interval()

Clock::duration vanetza::dcc::GradualStateMachine::transmission_interval ( ) const
overridevirtual

Get current transmission interval

Returns
duration between two transmissions

Implements vanetza::dcc::StateMachine.

Definition at line 40 of file gradual_state_machine.cpp.

◆ update()

void vanetza::dcc::GradualStateMachine::update ( ChannelLoad  cl)
overridevirtual

Trigger state transition by updated channel load

Parameters
clnew channel load measurement

Implements vanetza::dcc::StateMachine.

Definition at line 22 of file gradual_state_machine.cpp.

Member Data Documentation

◆ m_current

StateContainer::const_iterator vanetza::dcc::GradualStateMachine::m_current
private

Definition at line 48 of file gradual_state_machine.hpp.

◆ m_states

StateContainer vanetza::dcc::GradualStateMachine::m_states
private

Definition at line 47 of file gradual_state_machine.hpp.


The documentation for this class was generated from the following files: