CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

stor::EventStreamHandler Class Reference

#include <EventStreamHandler.h>

Inheritance diagram for stor::EventStreamHandler:
stor::StreamHandler

List of all members.

Public Member Functions

 EventStreamHandler (const EventStreamConfigurationInfo &, const SharedResourcesPtr, const DbFileHandlerPtr)

Private Member Functions

virtual double fractionToDisk () const
virtual int getStreamMaxFileSize () const
virtual FileHandlerPtr newFileHandler (const I2OChain &event)
virtual std::string streamLabel () const

Private Attributes

InitMsgCollectionPtr initMsgCollection_
InitMsgSharedPtr initMsgView_
EventStreamConfigurationInfo streamConfig_

Detailed Description

Handle one event stream written to disk.

Author:
mommsen
Revision:
1.7
Date:
2011/03/07 15:31:31

Definition at line 29 of file EventStreamHandler.h.


Constructor & Destructor Documentation

stor::EventStreamHandler::EventStreamHandler ( const EventStreamConfigurationInfo streamConfig,
const SharedResourcesPtr  sharedResources,
const DbFileHandlerPtr  dbFileHandler 
)

Definition at line 13 of file EventStreamHandler.cc.

References python::StorageManager_cfg::streamLabel.

   :
  StreamHandler(sharedResources, dbFileHandler),
  streamConfig_(streamConfig),
  initMsgCollection_(sharedResources->initMsgCollection_)
  {
    streamRecord_->streamName = streamLabel();
    streamRecord_->fractionToDisk = fractionToDisk();
  }

Member Function Documentation

virtual double stor::EventStreamHandler::fractionToDisk ( ) const [inline, private, virtual]

Return the fraction-to-disk parameter

Implements stor::StreamHandler.

Definition at line 52 of file EventStreamHandler.h.

References stor::EventStreamConfigurationInfo::fractionToDisk(), and streamConfig_.

    { return streamConfig_.fractionToDisk(); }
virtual int stor::EventStreamHandler::getStreamMaxFileSize ( ) const [inline, private, virtual]

Return the maximum file size for the stream in MB

Implements stor::StreamHandler.

Definition at line 63 of file EventStreamHandler.h.

References stor::EventStreamConfigurationInfo::maxFileSizeMB(), and streamConfig_.

    { return streamConfig_.maxFileSizeMB(); }
StreamHandler::FileHandlerPtr stor::EventStreamHandler::newFileHandler ( const I2OChain event) [private, virtual]

Return a new file handler for the provided event

Implements stor::StreamHandler.

Definition at line 28 of file EventStreamHandler.cc.

References stor::StreamHandler::dbFileHandler_, stor::StreamHandler::diskWritingParams_, stor::StreamHandler::fileHandlers_, stor::StreamHandler::getMaxFileSize(), stor::StreamHandler::getNewFileRecord(), initMsgCollection_, initMsgView_, stor::EventStreamConfigurationInfo::outputModuleLabel(), and streamConfig_.

  {
    // the INIT message is not available when the EventStreamHandler is
    // constructed, so we need to fetch it when we first need a new file
    // handler (when the first event is received, which is after the 
    // INIT messages have been received)
    if (initMsgView_.get() == 0)
    {
      initMsgView_ = initMsgCollection_->getElementForOutputModule(streamConfig_.outputModuleLabel());
    }
    
    FilesMonitorCollection::FileRecordPtr fileRecord = getNewFileRecord(event);
    
    FileHandlerPtr newFileHandler(
      new EventFileHandler(initMsgView_, fileRecord, dbFileHandler_,
        diskWritingParams_, getMaxFileSize())
    );
    fileHandlers_.push_back(newFileHandler);
    
    return newFileHandler;
  }
virtual std::string stor::EventStreamHandler::streamLabel ( ) const [inline, private, virtual]

Return the stream label

Implements stor::StreamHandler.

Definition at line 46 of file EventStreamHandler.h.

References streamConfig_, and stor::EventStreamConfigurationInfo::streamLabel().

    { return streamConfig_.streamLabel(); }

Member Data Documentation

Definition at line 68 of file EventStreamHandler.h.

Referenced by newFileHandler().

Definition at line 69 of file EventStreamHandler.h.

Referenced by newFileHandler().