| 
    Direct-BT v3.3.0-1-gc2d430c
    
   Direct-BT - Direct Bluetooth Programming. 
   | 
 
A simple timer for timeout and interval applications, using one dedicated service_runner thread per instance. More...
#include <simple_timer.hpp>
Public Types | |
| typedef simple_timer & | Timer0_ref | 
| typedef function< fraction_i64(Timer0_ref)> | Timer_func | 
| User defined timer function using custom granularity via fraction_i64.  More... | |
Public Member Functions | |
| simple_timer (const simple_timer &o)=delete | |
| No copy constructor nor move constructor.  More... | |
| simple_timer (const std::string &name, const fraction_i64 &service_shutdown_timeout) noexcept | |
| Constructs a new service.  More... | |
| bool | is_running () const noexcept | 
| Returns true if timer is running.  More... | |
| const std::string & | name () const noexcept | 
| Return the given name of this timer.  More... | |
| bool | shall_stop () const noexcept | 
| Returns true if timer shall stop.  More... | |
| bool | start (const fraction_i64 &duration_, Timer_func tofunc) noexcept | 
| Start the timer with given user Timer_func function and initial duration.  More... | |
| void | start_or_update (const fraction_i64 &duration_, Timer_func tofunc) noexcept | 
| Start or update the timer with given user Timer_func function and initial duration.  More... | |
| bool | stop () noexcept | 
| Stop timer, see service_runner::stop()  More... | |
| pthread_t | thread_id () const noexcept | 
| Return the thread-id of this timer's worker thread, zero if not running.  More... | |
A simple timer for timeout and interval applications, using one dedicated service_runner thread per instance.
Discussion: It is contemplated to add an implementation using a unique singleton service_runner for multiple timer instances via event loops.
Definition at line 52 of file simple_timer.hpp.
Definition at line 54 of file simple_timer.hpp.
User defined timer function using custom granularity via fraction_i64.
Function gets invoked for each timer event, i.e. after reaching the duration set earlier.
Definition at line 64 of file simple_timer.hpp.
      
  | 
  noexcept | 
Constructs a new service.
| name | thread name of this service | 
| service_shutdown_timeout | maximum duration in fractions of seconds to wait for service to stop at stop(), where fractions_i64::zero waits infinitely | 
Definition at line 61 of file simple_timer.cpp.
      
  | 
  delete | 
No copy constructor nor move constructor.
| o | 
      
  | 
  inlinenoexcept | 
Return the given name of this timer.
Definition at line 92 of file simple_timer.hpp.
      
  | 
  inlinenoexcept | 
Return the thread-id of this timer's worker thread, zero if not running.
Definition at line 97 of file simple_timer.hpp.
      
  | 
  inlinenoexcept | 
Returns true if timer is running.
Definition at line 102 of file simple_timer.hpp.
      
  | 
  inlinenoexcept | 
Returns true if timer shall stop.
This flag can be used by the Timer_func function to determine whether to skip lengthly tasks.
Definition at line 109 of file simple_timer.hpp.
      
  | 
  noexcept | 
Start the timer with given user Timer_func function and initial duration.
| duration_ | initial timer duration in fractions of seconds until next timer event | 
| tofunc | user Timer_func to be called on next timer event | 
Definition at line 66 of file simple_timer.cpp.
      
  | 
  noexcept | 
Start or update the timer with given user Timer_func function and initial duration.
This is faster than calling stop() and start(), however, an already started timer user Timer_func will proceed.
| duration_ | initial timer duration in fractions of seconds until next timer event | 
| tofunc | user Timer_func to be called on next timer event | 
Definition at line 76 of file simple_timer.cpp.
      
  | 
  inlinenoexcept | 
Stop timer, see service_runner::stop()
Definition at line 136 of file simple_timer.hpp.