File indexing completed on 2024-04-06 12:10:14
0001 #ifndef DQMServices_StreamerIO_JsonWritingTimeoutPoolOutputModule_h
0002 #define DQMServices_StreamerIO_JsonWritingTimeoutPoolOutputModule_h
0003
0004 #include "IOPool/Output/interface/TimeoutPoolOutputModule.h"
0005
0006 #include <string>
0007 #include <utility>
0008
0009 namespace edm {
0010 class ConfigurationDescriptions;
0011 class ParameterSet;
0012 }
0013
0014 namespace dqmservices {
0015
0016 class JsonWritingTimeoutPoolOutputModule : public edm::TimeoutPoolOutputModule {
0017 public:
0018 explicit JsonWritingTimeoutPoolOutputModule(edm::ParameterSet const& ps);
0019 ~JsonWritingTimeoutPoolOutputModule() override = default;
0020
0021 static void fillDescriptions(edm::ConfigurationDescriptions&);
0022
0023 protected:
0024 std::pair<std::string, std::string> physicalAndLogicalNameForNewFile() override;
0025 void doExtrasAfterCloseFile() override;
0026
0027 protected:
0028 uint32_t const runNumber_;
0029 std::string const streamLabel_;
0030 std::string const outputPath_;
0031
0032 uint32_t sequence_;
0033 std::string currentFileName_;
0034 std::string currentJsonName_;
0035 };
0036
0037 }
0038
0039 #endif