1 #ifndef CARMA_PIPELINE_VISBRICKWRITERSTAGE_H
2 #define CARMA_PIPELINE_VISBRICKWRITERSTAGE_H
6 #include "carma/util/ConcurrentQueue.h"
7 #include "carma/util/PthreadMutex.h"
8 #include "carma/util/SimpleStatisticsAccumulators.h"
9 #include "carma/util/ThreadQuit.h"
17 namespace correlator {
23 class PipelineSubsystem;
50 void setIsScienceData(
bool isScienceData) ;
54 void preprocess( carma::correlator::lib::CorrelatorDataPtr cd );
58 carma::correlator::lib::CorrelatorDataPtr
59 postprocess( carma::correlator::lib::CorrelatorDataPtr cd );
63 void fillMonitorData( );
65 bool checkFileStream(
const std::ofstream & fp,
66 const std::string & filename,
67 const std::string & attemptedOpString );
71 class VisbrickWriteTQRH :
public carma::util::ThreadQuitRequestHandler {
76 virtual ~VisbrickWriteTQRH( );
78 void HandleQuitRequest( ::pthread_t thread );
90 carma::util::FloatStatAccumulator fileWriteTimeAcc;
91 double lastFileWriteTimeMs;
92 double lastSerializationTimeMs;
100 carma::correlator::lib::CorrelatorDataPtr data;
105 carma::util::ConcurrentQueue< WriteRequest > writeRequestQueue_;
108 std::string currentFilename_;
109 float mbWrittenOrPending_;
110 const int maxFilesize_;
112 const std::string outputFilenameBase_;
116 ::pthread_t visbrickWriteThreadId_;
122 #endif // CARMA_PIPELINE_VISBRICKWRITERSTAGE_H
Concrete class for writing out Correlator Data to a File.
Base interface for a correlator pipeline stage.
virtual ~VisBrickWriter()
Destructor.
Class to hold a Band of Correlator Data.
VisBrickWriter(carma::monitor::PipelineSubsystem &monitor)
Constructor.
Tagged: Wed Jun 29 11:00:27 PDT 2005.
Abstract base class for retrieving pipeline monitor system components common between the spectral lin...
A simple wrapper class that makes use of ::pthread_mutex_t easier in a C++ world. ...