#ifndef INCLUDED_p2p_data_logger_hpp #define INCLUDED_p2p_data_logger_hpp #include #include #include #include #include #include #include namespace epee { namespace net_utils { class data_logger { public: static data_logger &get_instance(); data_logger(const data_logger &ob) = delete; data_logger(data_logger &&ob) = delete; void add_data(std::string filename, unsigned int data); static std::atomic m_save_graph; private: data_logger(); class fileData { public: fileData(){} fileData(std::string pFile); std::shared_ptr mFile; long int mDataToSave = 0; static double get_current_time(); void save(); }; std::map mFilesMap; std::mutex mSaveMutex; void saveToFile(); }; } // namespace } // namespace #endif