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>
23
24
25
26
27
28
29
30
31
36
37
44 double g_plus_max = 0.0005;
45 double g_minus_max = -0.00025;
61
62
63
67
68
69
70
74
75
76
80
81
82
83
87
88
89
93 void calculate(
Clock::time_point);
102 boost::circular_buffer<ChannelLoad> m_cbr;
virtual void cancel(const void *scope)=0
virtual Clock::time_point now() const =0
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