|
libtcspc C++ API
Streaming TCSPC and time tag data processing
|
Access for tcspc::buffer() and tcspc::real_time_buffer() processors.
Public Member Functions | |
| void | halt () noexcept |
| Halt pumping of the buffer. | |
| void | pump () |
| Pump buffered events downstream. | |
|
inlinenoexcept |
Halt pumping of the buffer.
The call to pump() will return (if it hasn't yet) without flushing the downstream.
This function must be called when:
These are two cases in which the buffer would otherwise have no knowledge that the processing ended.
It is also safe to call this function after tcspc::end_of_processing was received at the source, or after the source successfully flushed the processors upstream of the buffer. In these cases, the call has no effect.
|
inline |
Pump buffered events downstream.
This function should be called on a thread other than the one on which upstream events are sent to the buffer. Events will be emitted to the buffer's downstream on the calling thread.
Depending on how the processing ends, this function exits in different ways:
Applications should generally report errors for exceptions other than tcspc::end_of_processing and tcspc::source_halted. Note that such exceptions are not propagated to upstream processors (because there may not be the opportunity to do so if the upstream never calls the buffer again).