00001 // $Id: EventStreamHttpReader.h,v 1.29 2011/09/02 08:13:31 mommsen Exp $ 00003 00004 #ifndef StorageManager_EventStreamHttpReader_h 00005 #define StorageManager_EventStreamHttpReader_h 00006 00007 #include "DQMServices/Core/interface/DQMStore.h" 00008 #include "EventFilter/StorageManager/interface/EventConsumerRegistrationInfo.h" 00009 #include "EventFilter/StorageManager/interface/EventServerProxy.h" 00010 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00011 #include "FWCore/Framework/interface/InputSourceDescription.h" 00012 #include "IOPool/Streamer/interface/StreamerInputSource.h" 00013 00014 00015 namespace edm 00016 { 00034 class EventStreamHttpReader : public edm::StreamerInputSource 00035 { 00036 public: 00037 EventStreamHttpReader 00038 ( 00039 edm::ParameterSet const&, 00040 edm::InputSourceDescription const& 00041 ); 00042 virtual ~EventStreamHttpReader() {}; 00043 00044 virtual EventPrincipal* read(); 00045 00046 private: 00047 void readHeader(); 00048 void initializeDQMStore(); 00049 00050 stor::EventServerProxy<stor::EventConsumerRegistrationInfo> eventServerProxy_; 00051 DQMStore* dqmStore_; 00052 bool dqmStoreAvailabiltyChecked_; 00053 00054 const bool dropOldLumisectionEvents_; 00055 const std::string consumerName_; 00056 unsigned int totalDroppedEvents_; 00057 unsigned int lastLS_; 00058 00059 }; 00060 00061 } // namespace edm 00062 00063 #endif // StorageManager_EventStreamHttpReader_h 00064