#include <dcc_information_sharing.hpp>
Public Member Functions | |
DccInformationSharing (Runtime &rt, const LocationTable <, dcc::ChannelLoad target, UnitInterval delay) | |
DccInformationSharing (Runtime &rt, const LocationTable <, 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 | |
Runtime & | m_runtime |
const LocationTable & | m_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 |
DccInformationSharing realises the DCC_net behaviour for ITS-G5
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.
vanetza::geonet::DccInformationSharing::DccInformationSharing | ( | Runtime & | rt, |
const LocationTable & | lt, | ||
dcc::ChannelLoad | target, | ||
UnitInterval | delay | ||
) |
Create DCC_net instance
rt | Runtime for scheduling periodic update cycles |
lt | Location Table with LocTEX_G5 entries |
target | CBR_target value (usually NDL_maxChannelLoad) |
delay | Delaying first update cycle randomly |
Definition at line 10 of file dcc_information_sharing.cpp.
vanetza::geonet::DccInformationSharing::DccInformationSharing | ( | Runtime & | rt, |
const LocationTable & | lt, | ||
dcc::ChannelLoad | target | ||
) |
Definition at line 21 of file dcc_information_sharing.cpp.
|
overridevirtual |
Implements vanetza::geonet::DccFieldGenerator.
Definition at line 26 of file dcc_information_sharing.cpp.
|
private |
Definition at line 40 of file dcc_information_sharing.cpp.
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.
cbr | local CBR measurement |
Definition at line 35 of file dcc_information_sharing.cpp.
|
private |
Definition at line 66 of file dcc_information_sharing.hpp.
|
private |
Definition at line 65 of file dcc_information_sharing.hpp.
|
private |
Definition at line 64 of file dcc_information_sharing.hpp.
|
private |
Definition at line 68 of file dcc_information_sharing.hpp.
|
private |
Definition at line 63 of file dcc_information_sharing.hpp.
|
private |
Definition at line 62 of file dcc_information_sharing.hpp.
|
private |
Definition at line 67 of file dcc_information_sharing.hpp.
|
private |
Definition at line 69 of file dcc_information_sharing.hpp.
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.