1#ifndef LIMERIC_HPP_OPCJEHBN
2#define LIMERIC_HPP_OPCJEHBN
4#include <vanetza/common/clock.hpp>
5#include <vanetza/common/hook.hpp>
6#include <vanetza/common/unit_interval.hpp>
7#include <vanetza/dcc/channel_load.hpp>
8#include <vanetza/dcc/duty_cycle_permit.hpp>
9#include <boost/circular_buffer.hpp>
10#include <boost/optional/optional.hpp>
44 double g_plus_max = 0.0005;
45 double g_minus_max = -0.00025;
47 Clock::duration cbr_interval = std::chrono::milliseconds(100);
93 void calculate(Clock::time_point);
99 boost::optional<DualAlphaParameters> m_dual_alpha;
102 boost::circular_buffer<ChannelLoad> m_cbr;
void update_cbr(ChannelLoad)
void configure_dual_alpha(const boost::optional< DualAlphaParameters > ¶ms)
ChannelLoad average_cbr() const
UnitInterval permitted_duty_cycle() const override
HookRegistry< const Limeric *, Clock::time_point > on_duty_cycle_change