My Project
|
Communication channel between thread creating output requests and consumer thread writing those requests to a file. More...
#include <ExtraConvergenceOutputThread.hpp>
Classes | |
struct | OutputRequest |
Single output request. More... | |
Public Member Functions | |
void | enqueue (std::vector< OutputRequest > &&requests) |
Push sequence of output requests, typically all substeps whether converged or not, of a single report step. More... | |
void | signalLastOutputRequest () |
Signal end of output request stream. More... | |
Friends | |
class | ConvergenceOutputThread |
Communication channel between thread creating output requests and consumer thread writing those requests to a file.
Output thread has access to internal state. Producer thread uses public interface. Producer thread creates an object of this type and launches the output thread with a reference to that queue object.
void Opm::ConvergenceReportQueue::enqueue | ( | std::vector< OutputRequest > && | requests | ) |
Push sequence of output requests, typically all substeps whether converged or not, of a single report step.
[in] | requests | Output request sequence. Queue takes ownership. |
void Opm::ConvergenceReportQueue::signalLastOutputRequest | ( | ) |
Signal end of output request stream.
No additional requests should be added to queue following a call to this member function. Output thread detects this signal, completes any pending output requests, and shuts down afterwards.