Vanetza
 
Loading...
Searching...
No Matches
vanetza::geonet::DccInformationSharing Class Reference

#include <dcc_information_sharing.hpp>

Inheritance diagram for vanetza::geonet::DccInformationSharing:

Public Member Functions

 DccInformationSharing (Runtime &rt, const LocationTable &lt, dcc::ChannelLoad target, UnitInterval delay)
 
 DccInformationSharing (Runtime &rt, const LocationTable &lt, dcc::ChannelLoad target)
 
DccField generate_dcc_field () override
 
void update_local_cbr (dcc::ChannelLoad cbr)
 

Public Attributes

HookRegistry< const CbrAggregator & > on_global_cbr_update
 

Private Member Functions

void trigger ()
 

Private Attributes

Runtimem_runtime
 
const LocationTablem_location_table
 
const dcc::ChannelLoad m_cbr_target
 
dcc::ChannelLoad m_cbr_local
 
CbrAggregator m_aggregator
 
Clock::duration m_trigger_interval
 
Timestamp m_last_aggregation
 
Hook< const CbrAggregator & > m_update_hook
 

Detailed Description

DccInformationSharing realises the DCC_net behaviour for ITS-G5

See also
TS 102 636-4-2 V1.1.1

CBR_target mentioned in TS 102 636-4-2 V1.1.1 is probably the same constant as NDL_maxChannelUse mentioned in TS 102 687 V1.1.1. However, no value is given: Table A.3 in TS 102 687 declares them (implicitly through NDL_tmPacketArrivalrate) "n.a.". Thus, we simply assume CBR_target = NDL_maxChannelUse = NDL_maxChannelLoad.

Definition at line 29 of file dcc_information_sharing.hpp.

Constructor & Destructor Documentation

◆ DccInformationSharing() [1/2]

vanetza::geonet::DccInformationSharing::DccInformationSharing ( Runtime rt,
const LocationTable lt,
dcc::ChannelLoad  target,
UnitInterval  delay 
)

Create DCC_net instance

Parameters
rtRuntime for scheduling periodic update cycles
ltLocation Table with LocTEX_G5 entries
targetCBR_target value (usually NDL_maxChannelLoad)
delayDelaying first update cycle randomly
Note
Set random delay interval when multiple stations are created at the same time! Values shall be distributed uniformly across full integer range.

Definition at line 10 of file dcc_information_sharing.cpp.

◆ DccInformationSharing() [2/2]

vanetza::geonet::DccInformationSharing::DccInformationSharing ( Runtime rt,
const LocationTable lt,
dcc::ChannelLoad  target 
)

Definition at line 21 of file dcc_information_sharing.cpp.

Member Function Documentation

◆ generate_dcc_field()

DccField vanetza::geonet::DccInformationSharing::generate_dcc_field ( )
overridevirtual

Implements vanetza::geonet::DccFieldGenerator.

Definition at line 26 of file dcc_information_sharing.cpp.

◆ trigger()

void vanetza::geonet::DccInformationSharing::trigger ( )
private

Definition at line 40 of file dcc_information_sharing.cpp.

◆ update_local_cbr()

void vanetza::geonet::DccInformationSharing::update_local_cbr ( dcc::ChannelLoad  cbr)

Update local CBR measurement

Local measurement rate is decoupled from processing in DCC_net, i.e. DccInformationSharing buffers the given value and the latest measurement value when its internal update cycle runs.

Parameters
cbrlocal CBR measurement

Definition at line 35 of file dcc_information_sharing.cpp.

Member Data Documentation

◆ m_aggregator

CbrAggregator vanetza::geonet::DccInformationSharing::m_aggregator
private

Definition at line 66 of file dcc_information_sharing.hpp.

◆ m_cbr_local

dcc::ChannelLoad vanetza::geonet::DccInformationSharing::m_cbr_local
private

Definition at line 65 of file dcc_information_sharing.hpp.

◆ m_cbr_target

const dcc::ChannelLoad vanetza::geonet::DccInformationSharing::m_cbr_target
private

Definition at line 64 of file dcc_information_sharing.hpp.

◆ m_last_aggregation

Timestamp vanetza::geonet::DccInformationSharing::m_last_aggregation
private

Definition at line 68 of file dcc_information_sharing.hpp.

◆ m_location_table

const LocationTable& vanetza::geonet::DccInformationSharing::m_location_table
private

Definition at line 63 of file dcc_information_sharing.hpp.

◆ m_runtime

Runtime& vanetza::geonet::DccInformationSharing::m_runtime
private

Definition at line 62 of file dcc_information_sharing.hpp.

◆ m_trigger_interval

Clock::duration vanetza::geonet::DccInformationSharing::m_trigger_interval
private

Definition at line 67 of file dcc_information_sharing.hpp.

◆ m_update_hook

Hook<const CbrAggregator&> vanetza::geonet::DccInformationSharing::m_update_hook
private

Definition at line 69 of file dcc_information_sharing.hpp.

◆ on_global_cbr_update

HookRegistry<const CbrAggregator&> vanetza::geonet::DccInformationSharing::on_global_cbr_update

on_global_cbr_update is called at each update cycle, i.e. when a new global CBR has been calculated

Definition at line 76 of file dcc_information_sharing.hpp.


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