#include <FaultyEventStreamHandler.h>
Public Member Functions | |
FaultyEventStreamHandler (const SharedResourcesPtr, const DbFileHandlerPtr, const std::string &streamName) | |
Private Member Functions | |
virtual double | fractionToDisk () const |
virtual FileHandlerPtr | getFileHandler (const I2OChain &event) |
virtual int | getStreamMaxFileSize () const |
virtual FileHandlerPtr | newFileHandler (const I2OChain &event) |
virtual std::string | streamLabel () const |
Private Attributes | |
InitMsgCollectionPtr | initMsgCollection_ |
Handle the faulty event stream written to disk.
Definition at line 26 of file FaultyEventStreamHandler.h.
stor::FaultyEventStreamHandler::FaultyEventStreamHandler | ( | const SharedResourcesPtr | sharedResources, |
const DbFileHandlerPtr | dbFileHandler, | ||
const std::string & | streamName | ||
) |
Definition at line 16 of file FaultyEventStreamHandler.cc.
References stor::StreamHandler::fractionToDisk().
: StreamHandler(sharedResources, dbFileHandler), initMsgCollection_(sharedResources->initMsgCollection_) { streamRecord_->streamName = streamName; streamRecord_->fractionToDisk = 1; }
virtual double stor::FaultyEventStreamHandler::fractionToDisk | ( | ) | const [inline, private, virtual] |
Return the fraction-to-disk parameter
Implements stor::StreamHandler.
Definition at line 49 of file FaultyEventStreamHandler.h.
References stor::StreamHandler::streamRecord_.
{ return streamRecord_->fractionToDisk; }
StreamHandler::FileHandlerPtr stor::FaultyEventStreamHandler::getFileHandler | ( | const I2OChain & | event | ) | [private, virtual] |
Get the file handler responsible for the event
Reimplemented from stor::StreamHandler.
Definition at line 30 of file FaultyEventStreamHandler.cc.
References stor::StreamHandler::closeAllFiles(), and newFileHandler().
{ // In the faulty event stream a new file is opened for each event. closeAllFiles(); return newFileHandler(event); }
virtual int stor::FaultyEventStreamHandler::getStreamMaxFileSize | ( | ) | const [inline, private, virtual] |
Return the maximum file size for the stream in MB
Implements stor::StreamHandler.
Definition at line 65 of file FaultyEventStreamHandler.h.
{ return 0; }
StreamHandler::FileHandlerPtr stor::FaultyEventStreamHandler::newFileHandler | ( | const I2OChain & | event | ) | [private, virtual] |
Return a new file handler for the provided event
Implements stor::StreamHandler.
Definition at line 39 of file FaultyEventStreamHandler.cc.
References stor::StreamHandler::dbFileHandler_, stor::StreamHandler::diskWritingParams_, stor::StreamHandler::fileHandlers_, stor::StreamHandler::getNewFileRecord(), initMsgCollection_, and stor::I2OChain::outputModuleId().
Referenced by getFileHandler().
{ FileHandlerPtr newFileHandler; FilesMonitorCollection::FileRecordPtr fileRecord = getNewFileRecord(event); // As each event can have a different outputModuleId, we need to // determine the init msg for each event. // If this is not possible, use the FRD data format. try { InitMsgSharedPtr initMsgView = initMsgCollection_->getElementForOutputModule( initMsgCollection_->getOutputModuleName( event.outputModuleId() ) ); newFileHandler.reset( new EventFileHandler(initMsgView, fileRecord, dbFileHandler_, diskWritingParams_, 0) ); } catch (stor::exception::IncompleteEventMessage& e) //faulty data event { newFileHandler.reset( new FRDFileHandler(fileRecord, dbFileHandler_, diskWritingParams_, 0) ); } catch (stor::exception::WrongI2OMessageType& e) //faulty error event { newFileHandler.reset( new FRDFileHandler(fileRecord, dbFileHandler_, diskWritingParams_, 0) ); } fileHandlers_.push_back(newFileHandler); return newFileHandler; }
virtual std::string stor::FaultyEventStreamHandler::streamLabel | ( | ) | const [inline, private, virtual] |
Return the stream label
Implements stor::StreamHandler.
Definition at line 43 of file FaultyEventStreamHandler.h.
References stor::StreamHandler::streamRecord_.
{ return streamRecord_->streamName; }
Definition at line 69 of file FaultyEventStreamHandler.h.
Referenced by newFileHandler().