OpendTect  7.0
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
SeisSequentialWriter Class Reference

Public Member Functions

 SeisSequentialWriter (SeisTrcWriter *, int buffsize=-1)
 
 ~SeisSequentialWriter ()
 
bool announceTrace (const BinID &)
 
uiString errMsg () const
 
bool finishWrite ()
 
bool submitGather (ObjectSet< SeisTrc > &, bool waitforbuffer=true)
 
bool submitTrace (SeisTrc *, bool waitforbuffer=true)
 

Protected Member Functions

bool iterateBuffer (bool waitforbuffer)
 
void reportWrite (const char *)
 

Protected Attributes

TypeSet< BinIDannouncedtraces_
 
uiString errmsg_
 
BinID latestbid_
 
Threads::ConditionVarlock_
 
const int maxbuffersize_
 
ObjectSet< SeisTrcoutputs_
 
int queueid_
 
SeisTrcWriterwriter_
 

Friends

class SeisSequentialWriterTask
 

Detailed Description

Writes traces that are submitted in random order in the correct sequence.

<>

Constructor & Destructor Documentation

◆ SeisSequentialWriter()

SeisSequentialWriter::SeisSequentialWriter ( SeisTrcWriter ,
int  buffsize = -1 
)

Writer is owned by caller, not mine. Default bufsize is 2xnrprocessors.

◆ ~SeisSequentialWriter()

SeisSequentialWriter::~SeisSequentialWriter ( )

Member Function Documentation

◆ announceTrace()

bool SeisSequentialWriter::announceTrace ( const BinID )

Tell the writer that this binid will be submitted later.

◆ errMsg()

uiString SeisSequentialWriter::errMsg ( ) const
inline

◆ finishWrite()

bool SeisSequentialWriter::finishWrite ( )

Wait for everything to be written. Should be after final submitTrace, before closure.

◆ iterateBuffer()

bool SeisSequentialWriter::iterateBuffer ( bool  waitforbuffer)
protected

◆ reportWrite()

void SeisSequentialWriter::reportWrite ( const char *  )
protected

◆ submitGather()

bool SeisSequentialWriter::submitGather ( ObjectSet< SeisTrc > &  ,
bool  waitforbuffer = true 
)

Trcs become mine. All traces are assumed to be from the same cdp. Traces will be written out in the same order as in the set. If waitforbuffer is true and buffer is full, wait until buffer gets smaller.

◆ submitTrace()

bool SeisSequentialWriter::submitTrace ( SeisTrc ,
bool  waitforbuffer = true 
)

Trc becomes mine. If waitforbuffer is true and buffer is full, wait until buffer gets smaller.

Friends And Related Function Documentation

◆ SeisSequentialWriterTask

friend class SeisSequentialWriterTask
friend

Member Data Documentation

◆ announcedtraces_

TypeSet<BinID> SeisSequentialWriter::announcedtraces_
protected

◆ errmsg_

uiString SeisSequentialWriter::errmsg_
protected

◆ latestbid_

BinID SeisSequentialWriter::latestbid_
protected

◆ lock_

Threads::ConditionVar& SeisSequentialWriter::lock_
protected

◆ maxbuffersize_

const int SeisSequentialWriter::maxbuffersize_
protected

◆ outputs_

ObjectSet<SeisTrc> SeisSequentialWriter::outputs_
protected

◆ queueid_

int SeisSequentialWriter::queueid_
protected

◆ writer_

SeisTrcWriter* SeisSequentialWriter::writer_
protected

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2024