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

#include <repeater.hpp>

Classes

struct  Repetition

Public Types

using Callback = std::function<void(const DataRequestVariant&, std::unique_ptr<DownPacket>)>

Public Member Functions

 Repeater (Runtime &rt, const Callback &cb)
template<class REQUEST>
void add (const REQUEST &request, const DownPacket &payload)

Private Member Functions

void add (const DataRequestVariant &, const DataRequest::Repetition &, const DownPacket &)
void trigger (std::list< Repetition >::iterator, Clock::time_point)

Private Attributes

std::list< Repetitionm_repetitions
Callback m_repeat_fn
Runtimem_runtime

Detailed Description

Repeater eases handling of packet repetitions. Packet repetitions are repeated requests with same payload.

Definition at line 23 of file repeater.hpp.

Member Typedef Documentation

◆ Callback

using vanetza::geonet::Repeater::Callback = std::function<void(const DataRequestVariant&, std::unique_ptr<DownPacket>)>

Definition at line 26 of file repeater.hpp.

Constructor & Destructor Documentation

◆ Repeater()

vanetza::geonet::Repeater::Repeater ( Runtime & rt,
const Callback & cb )

Create a Repeater instance

Parameters
rtruntime used for scheduling repetitions
cbcallback to be invoked when repetition is due

Definition at line 16 of file repeater.cpp.

◆ ~Repeater()

vanetza::geonet::Repeater::~Repeater ( )

Definition at line 21 of file repeater.cpp.

Member Function Documentation

◆ add() [1/2]

void vanetza::geonet::Repeater::add ( const DataRequestVariant & request,
const DataRequest::Repetition & repetition,
const DownPacket & payload )
private

Add packet repetition to internal book keeping

Definition at line 26 of file repeater.cpp.

◆ add() [2/2]

template<class REQUEST>
void vanetza::geonet::Repeater::add ( const REQUEST & request,
const DownPacket & payload )
inline

Add another repetition

Parameters
requestany kind of GeoNet data request
payloadrequest's payload

Definition at line 42 of file repeater.hpp.

◆ trigger()

void vanetza::geonet::Repeater::trigger ( std::list< Repetition >::iterator rep,
Clock::time_point invocation )
private

Triggered when repetition is due according to runtime

Definition at line 38 of file repeater.cpp.

Member Data Documentation

◆ m_repeat_fn

Callback vanetza::geonet::Repeater::m_repeat_fn
private

Definition at line 69 of file repeater.hpp.

◆ m_repetitions

std::list<Repetition> vanetza::geonet::Repeater::m_repetitions
private

Definition at line 68 of file repeater.hpp.

◆ m_runtime

Runtime& vanetza::geonet::Repeater::m_runtime
private

Definition at line 70 of file repeater.hpp.


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