/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
IOPool/Streamer/src/StreamerFileReader.h
56 строк
2 KB
W. David Dagenhart
Reduce the memory usage of the InputFileCatalog
18 май 2026, 23:53
18 май 2026, 23:53
7e6433c
Код
Авторство
О чём код?
#ifndef IOPool_Streamer_StreamerFileReader_h #define IOPool_Streamer_StreamerFileReader_h #include "IOPool/Streamer/interface/StreamerInputSource.h" #include "FWCore/Utilities/interface/get_underlying_safe.h" #include "FWStorage/Catalog/interface/InputFileCatalog.h" #include <memory> class EventMsgView; class InitMsgView; namespace edm { class ConfigurationDescriptions; class EventPrincipal; class EventSkipperByID; struct InputSourceDescription; class ParameterSet; namespace streamer { class StreamerInputFile; class StreamerFileReader : public StreamerInputSource { public: StreamerFileReader(ParameterSet const& pset, InputSourceDescription const& desc); ~StreamerFileReader() override; static void fillDescriptions(ConfigurationDescriptions& descriptions); private: InitMsgView const* getHeader(); EventMsgView const* getNextEvent(); bool newHeader(); void updateMetaData(bool subsequent); Next checkNext() override; void skip(int toSkip) override; void genuineReadFile() override; void genuineCloseFile() override; void reset_() override; std::shared_ptr<EventSkipperByID const> eventSkipperByID() const { return get_underlying_safe(eventSkipperByID_); } std::shared_ptr<EventSkipperByID>& eventSkipperByID() { return get_underlying_safe(eventSkipperByID_); } edm::InputFileCatalog inputFileCatalog_; edm::propagate_const<std::unique_ptr<StreamerInputFile>> streamReader_; edm::propagate_const<std::shared_ptr<EventSkipperByID>> eventSkipperByID_; int initialNumberOfEventsToSkip_; int prefetchMBytes_; bool isFirstFile_ = true; bool didArtificialFile_ = false; }; } // namespace streamer } // namespace edm #endif