Signal processing thread owner. Non-copyable, non-movable.
More...
#include <signal_processor.hpp>
Signal processing thread owner. Non-copyable, non-movable.
proc.start();
proc.stop();
Lock-free single-producer / single-consumer ring buffer.
Signal processing thread owner. Non-copyable, non-movable.
Definition at line 85 of file signal_processor.hpp.
◆ InRing
◆ OutRing
◆ SignalProcessor() [1/3]
| srfm::stream::SignalProcessor::SignalProcessor |
( |
InRing & |
in_ring, |
|
|
OutRing & |
out_ring |
|
) |
| |
|
inlinenoexcept |
Construct bound to the input and output ring buffers.
All signal-chain objects are default-constructed here; no allocation occurs in the processing loop.
- Parameters
-
Definition at line 104 of file signal_processor.hpp.
◆ ~SignalProcessor()
| srfm::stream::SignalProcessor::~SignalProcessor |
( |
| ) |
|
|
inlinenoexcept |
◆ SignalProcessor() [2/3]
◆ SignalProcessor() [3/3]
◆ counters()
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ process_one()
Process one tick synchronously and return the resulting signal.
Does not push to any ring. Useful for unit tests.
- Parameters
-
| tick | Validated tick to process. |
| bar_index | Sequence number for this tick. |
- Returns
- The computed StreamRelativisticSignal.
Definition at line 55 of file signal_processor.cpp.
◆ reset_state()
| void srfm::stream::SignalProcessor::reset_state |
( |
| ) |
|
|
inlinenoexcept |
Reset all signal-chain component state.
Must only be called when the processing thread is not running.
Definition at line 157 of file signal_processor.hpp.
◆ running()
| bool srfm::stream::SignalProcessor::running |
( |
| ) |
const |
|
inlinenoexcept |
◆ start()
| void srfm::stream::SignalProcessor::start |
( |
| ) |
|
|
noexcept |
◆ stop()
| void srfm::stream::SignalProcessor::stop |
( |
| ) |
|
|
noexcept |
◆ IN_RING_SIZE
| constexpr std::size_t srfm::stream::SignalProcessor::IN_RING_SIZE = 65536 |
|
staticconstexpr |
◆ NORMALIZER_WINDOW
| constexpr std::size_t srfm::stream::SignalProcessor::NORMALIZER_WINDOW = 20 |
|
staticconstexpr |
◆ OUT_RING_SIZE
| constexpr std::size_t srfm::stream::SignalProcessor::OUT_RING_SIZE = 65536 |
|
staticconstexpr |
The documentation for this class was generated from the following files: