SensESP 2.7.2
Universal Signal K sensor toolkit ESP32
Loading...
Searching...
No Matches
sensesp::TaskQueueProducer< T > Class Template Reference

Producer class that works across task boundaries. More...

#include <sensesp/system/task_queue_producer.h>

Inheritance diagram for sensesp::TaskQueueProducer< T >:
[legend]

Public Member Functions

 TaskQueueProducer (const T &value, reactesp::ReactESP *consumer_app=ReactESP::app, int queue_size=1, unsigned int poll_rate=990)
 
 TaskQueueProducer (const T &value, int queue_size=1, unsigned int poll_rate=990)
 
bool set (const T &value)
 
- Public Member Functions inherited from sensesp::ObservableValue< T >
 ObservableValue ()
 
 ObservableValue (const T &value)
 
void set (const T &value)
 
const T & operator= (const T &value)
 
- Public Member Functions inherited from sensesp::ValueProducer< T >
 ValueProducer ()
 
virtual const T & get () const
 
void connect_to (ValueConsumer< T > *consumer, uint8_t input_channel=0)
 
template<typename CT >
void connect_to (ValueConsumer< CT > *consumer, uint8_t input_channel=0)
 Connect a producer to a consumer of a different type.
 
template<typename T2 >
Transform< T, T2 > * connect_to (Transform< T, T2 > *consumer_producer, uint8_t input_channel=0)
 
template<typename TT , typename T2 >
Transform< TT, T2 > * connect_to (Transform< TT, T2 > *consumer_producer, uint8_t input_channel=0)
 Connect a producer to a transform with a different input type.
 
void emit (T new_value)
 
- Public Member Functions inherited from sensesp::Observable
 Observable ()
 
 Observable (Observable &&other)
 Move constructor.
 
void notify ()
 
void attach (std::function< void()> observer)
 

Additional Inherited Members

- Protected Attributes inherited from sensesp::ValueProducer< T >
output
 

Detailed Description

template<class T>
class sensesp::TaskQueueProducer< T >

Producer class that works across task boundaries.

Normal ObservableValues call the observer callbacks within the same task content. In a multi-task software, this is not always preferable. This class allows you to produce values in one task and consume them in another.

Template Parameters
T
Parameters
consumer_appThe app object in which the values should be consumed.
queue_sizeSize of the queue.
poll_rateHow often to poll the queue. Note: in microseconds!

Definition at line 23 of file task_queue_producer.h.

Constructor & Destructor Documentation

◆ TaskQueueProducer() [1/2]

template<class T >
sensesp::TaskQueueProducer< T >::TaskQueueProducer ( const T &  value,
reactesp::ReactESP *  consumer_app = ReactESP::app,
int  queue_size = 1,
unsigned int  poll_rate = 990 
)
inline

Definition at line 25 of file task_queue_producer.h.

Here is the call graph for this function:

◆ TaskQueueProducer() [2/2]

template<class T >
sensesp::TaskQueueProducer< T >::TaskQueueProducer ( const T &  value,
int  queue_size = 1,
unsigned int  poll_rate = 990 
)
inline

Definition at line 42 of file task_queue_producer.h.

Member Function Documentation

◆ set()

template<class T >
bool sensesp::TaskQueueProducer< T >::set ( const T &  value)
inline

Definition at line 45 of file task_queue_producer.h.

Here is the caller graph for this function:

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