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

#include <limeric_budget.hpp>

Public Member Functions

 LimericBudget (const DutyCyclePermit &, const Runtime &)
 
Clock::duration delay ()
 
Clock::duration interval ()
 
void notify (Clock::duration tx_on)
 
void update ()
 

Private Member Functions

Clock::duration clamp_interval (Clock::duration) const
 

Private Attributes

const DutyCyclePermitm_duty_cycle_permit
 
const Runtimem_runtime
 
Clock::duration m_interval
 
Clock::time_point m_tx_start
 
Clock::duration m_tx_on
 

Detailed Description

LimericBudget models Annex B of TS 102 687 v1.2.1, i.e. packet handling to meet the channel occupancy limit

Definition at line 22 of file limeric_budget.hpp.

Constructor & Destructor Documentation

◆ LimericBudget()

vanetza::dcc::LimericBudget::LimericBudget ( const DutyCyclePermit dcp,
const Runtime rt 
)

Definition at line 18 of file limeric_budget.cpp.

Member Function Documentation

◆ clamp_interval()

Clock::duration vanetza::dcc::LimericBudget::clamp_interval ( Clock::duration  interval) const
private

Definition at line 76 of file limeric_budget.cpp.

◆ delay()

Clock::duration vanetza::dcc::LimericBudget::delay ( )

Get delay until next transmission is allowed

Returns
remaining transmission delay

Definition at line 26 of file limeric_budget.cpp.

◆ interval()

Clock::duration vanetza::dcc::LimericBudget::interval ( )

Get current interval between transmissions

Returns
transmission interval

Definition at line 37 of file limeric_budget.cpp.

◆ notify()

void vanetza::dcc::LimericBudget::notify ( Clock::duration  tx_on)

Notify budget about transmission activity

Parameters
tx_onover-the-air duration of transmission

Definition at line 42 of file limeric_budget.cpp.

◆ update()

void vanetza::dcc::LimericBudget::update ( )

Recalculate current transmission interval.

Transmission interval is derived from Limeric's current permitted duty cycle. Hence, this method should be called whenever Limeric changes its duty cycle.

Definition at line 53 of file limeric_budget.cpp.

Member Data Documentation

◆ m_duty_cycle_permit

const DutyCyclePermit& vanetza::dcc::LimericBudget::m_duty_cycle_permit
private

Definition at line 56 of file limeric_budget.hpp.

◆ m_interval

Clock::duration vanetza::dcc::LimericBudget::m_interval
private

Definition at line 58 of file limeric_budget.hpp.

◆ m_runtime

const Runtime& vanetza::dcc::LimericBudget::m_runtime
private

Definition at line 57 of file limeric_budget.hpp.

◆ m_tx_on

Clock::duration vanetza::dcc::LimericBudget::m_tx_on
private

Definition at line 60 of file limeric_budget.hpp.

◆ m_tx_start

Clock::time_point vanetza::dcc::LimericBudget::m_tx_start
private

Definition at line 59 of file limeric_budget.hpp.


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