00001 // $Id: EventStreamHandler.h,v 1.7 2011/03/07 15:31:31 mommsen Exp $ 00003 00004 #ifndef EventFilter_StorageManager_EventStreamHandler_h 00005 #define EventFilter_StorageManager_EventStreamHandler_h 00006 00007 #include <string> 00008 00009 #include "IOPool/Streamer/interface/InitMessage.h" 00010 00011 #include "EventFilter/StorageManager/interface/InitMsgCollection.h" 00012 #include "EventFilter/StorageManager/interface/StreamHandler.h" 00013 00014 00015 namespace stor { 00016 00017 class Configuration; 00018 class EventStreamConfigurationInfo; 00019 00020 00029 class EventStreamHandler : public StreamHandler 00030 { 00031 public: 00032 00033 EventStreamHandler 00034 ( 00035 const EventStreamConfigurationInfo&, 00036 const SharedResourcesPtr, 00037 const DbFileHandlerPtr 00038 ); 00039 00040 00041 private: 00042 00046 virtual std::string streamLabel() const 00047 { return streamConfig_.streamLabel(); } 00048 00052 virtual double fractionToDisk() const 00053 { return streamConfig_.fractionToDisk(); } 00054 00058 virtual FileHandlerPtr newFileHandler(const I2OChain& event); 00059 00063 virtual int getStreamMaxFileSize() const 00064 { return streamConfig_.maxFileSizeMB(); } 00065 00066 00067 EventStreamConfigurationInfo streamConfig_; 00068 InitMsgCollectionPtr initMsgCollection_; 00069 InitMsgSharedPtr initMsgView_; 00070 00071 }; 00072 00073 } // namespace stor 00074 00075 #endif // EventFilter_StorageManager_EventStreamHandler_h 00076 00077