29using std::chrono::duration_cast;
30using std::chrono::milliseconds;
31using std::chrono::system_clock;
35 this->mFilesInFolder = filesInFolder;
44 const auto millisec_since_epoch = duration_cast<milliseconds>(system_clock::now().time_since_epoch()).count();
46 char hostname[_POSIX_HOST_NAME_MAX];
47 gethostname(hostname, _POSIX_HOST_NAME_MAX);
49 const auto pid = getpid();
50 const auto result = fmt::format(fmt::runtime(this->mName),
51 fmt::arg(
"hostname", hostname),
53 fmt::arg(
"timestamp", millisec_since_epoch),
54 fmt::arg(
"ext", this->mExt));
55 const std::vector<std::string> ext = {
".json",
".root",
".eve"};
58 return this->mPath +
"/" +
result;
Loading content of the Folder and returning sorted.
static void reduceNumberOfFiles(const std::string &path, const std::deque< std::string > &files, std::size_t filesInFolder)
static std::deque< std::string > load(const std::string &path, const std::string &marker, const std::vector< std::string > &ext)
FileProducer(const std::string &path, const std::string &ext, int filesInFolder=-1, const std::string &name="tracks_{timestamp}_{hostname}_{pid}{ext}")
std::string newFileName() const
GLuint const GLchar * name
GLsizei const GLchar *const * path
void createDirectoriesIfAbsent(std::string const &path)