Thunderbots Project
Loading...
Searching...
No Matches
LastInFirstOutThreadedObserver< T > Class Template Reference

#include <last_in_first_out_threaded_observer.h>

Inheritance diagram for LastInFirstOutThreadedObserver< T >:
Collaboration diagram for LastInFirstOutThreadedObserver< T >:

Public Member Functions

 LastInFirstOutThreadedObserver (size_t buffer_size)
 
std::optional< T > getNextValue (const Duration &max_wait_time) final
 
- Public Member Functions inherited from ThreadedObserver< T >
 ThreadedObserver (size_t buffer_size=Observer< T >::DEFAULT_BUFFER_SIZE, bool log_buffer_full=true)
 
ThreadedObserveroperator= (const ThreadedObserver &)=delete
 
 ThreadedObserver (const ThreadedObserver &)=delete
 
- Public Member Functions inherited from Observer< T, Clock >
 Observer (size_t buffer_size=DEFAULT_BUFFER_SIZE, bool log_buffer_full=true)
 
virtual void receiveValue (T val)
 
virtual double getDataReceivedPerSecond () final
 

Additional Inherited Members

- Static Public Attributes inherited from Observer< T, Clock >
static constexpr size_t TIME_BUFFER_SIZE = 5
 
- Protected Member Functions inherited from Observer< T, Clock >
virtual std::optional< T > popMostRecentlyReceivedValue (Duration max_wait_time) final
 
virtual std::optional< T > popLeastRecentlyReceivedValue (Duration max_wait_time) final
 
- Static Protected Attributes inherited from Observer< T, Clock >
static constexpr size_t DEFAULT_BUFFER_SIZE = 1
 

Detailed Description

template<typename T>
class LastInFirstOutThreadedObserver< T >

The general usage of this class should be to extend it, then override onValueReceived with whatever custom functionality should occur when a new value is received. This class will call onValueReceived with objects in the internal buffer in a last in, first out order.

Template Parameters
TThe type of object this class is observing

Member Function Documentation

◆ getNextValue()

template<typename T >
std::optional< T > getNextValue ( const Duration max_wait_time)
finalvirtual

This function will return the next value from the internal buffer.

Parameters
max_wait_timeThe maximum wait time for getting the value
Returns
the next value if found before max_wait_time

Reimplemented from ThreadedObserver< T >.


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