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: