Vanetza
 
Loading...
Searching...
No Matches
vanetza::Runtime Class Referenceabstract

#include <runtime.hpp>

Inheritance diagram for vanetza::Runtime:

Public Types

using Callback = std::function< void(Clock::time_point)>
 

Public Member Functions

virtual void schedule (Clock::time_point tp, const Callback &cb, const void *scope=nullptr)=0
 
virtual void schedule (Clock::duration d, const Callback &cb, const void *scope=nullptr)=0
 
virtual void cancel (const void *scope)=0
 
virtual Clock::time_point now () const =0
 

Detailed Description

Runtime provides current time and enables scheduling of tasks for later execution.

All calls to Runtime and objects using the same Runtime have to be invoked from same thread!

Definition at line 15 of file runtime.hpp.

Member Typedef Documentation

◆ Callback

using vanetza::Runtime::Callback = std::function<void(Clock::time_point)>

Definition at line 18 of file runtime.hpp.

Member Function Documentation

◆ cancel()

virtual void vanetza::Runtime::cancel ( const void *  scope)
pure virtual

Cancel all scheduled invocations assigned to certain scope

Parameters
scopeany pointer used as scope at scheduling (nullptr has no effect)

Implemented in vanetza::ManualRuntime.

◆ now()

virtual Clock::time_point vanetza::Runtime::now ( ) const
pure virtual

Get current time

Returns
current time

Implemented in vanetza::ManualRuntime.

◆ schedule() [1/2]

virtual void vanetza::Runtime::schedule ( Clock::duration  d,
const Callback &  cb,
const void *  scope = nullptr 
)
pure virtual

Schedule callback for later invocation

Parameters
dduration from now until callback invocation
cbcallback
scopeassociated scope pointer (used only for identification)

Implemented in vanetza::ManualRuntime.

◆ schedule() [2/2]

virtual void vanetza::Runtime::schedule ( Clock::time_point  tp,
const Callback &  cb,
const void *  scope = nullptr 
)
pure virtual

Schedule callback for later invocation

Parameters
tpinvoke callback at this time point
cbcallback
scopeassociated scope pointer (used only for identification)

Implemented in vanetza::ManualRuntime.


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