My Project
Loading...
Searching...
No Matches
Opm::ConvergenceReportQueue Class Reference

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.
 
void signalLastOutputRequest ()
 Signal end of output request stream.
 

Friends

class ConvergenceOutputThread
 

Detailed Description

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.

Member Function Documentation

◆ enqueue()

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.

Parameters
[in]requestsOutput request sequence. Queue takes ownership.

◆ signalLastOutputRequest()

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.


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