26 std::chrono::seconds sec(secondsInFuture);
27 auto future = std::chrono::system_clock::now() + sec;
28 auto future_ms = std::chrono::time_point_cast<std::chrono::milliseconds>(future);
29 auto epoch = future_ms.time_since_epoch();
30 auto value = std::chrono::duration_cast<std::chrono::milliseconds>(epoch);
37 auto now = std::chrono::system_clock::now();
38 auto now_ms = std::chrono::time_point_cast<std::chrono::milliseconds>(now);
39 auto epoch = now_ms.time_since_epoch();
40 auto value = std::chrono::duration_cast<std::chrono::milliseconds>(epoch);
45long createTimestamp(
int year,
int month,
int day,
int hour,
int minutes,
int seconds)
48 timeinfo.tm_year = year;
49 timeinfo.tm_mon = month;
50 timeinfo.tm_mday = day;
51 timeinfo.tm_hour = hour;
52 timeinfo.tm_min = minutes;
53 timeinfo.tm_sec = seconds;
55 time_t timeformat = mktime(&timeinfo);
56 return static_cast<long>(timeformat);
63 std::map<std::string, std::string> dummyMD, prevHeader;
66 const auto itETag = prevHeader.find(
"ETag");
67 if (itETag != prevHeader.end() &&
70 std::string etag = itETag->second;
71 etag.erase(remove(etag.begin(), etag.end(),
'\"'), etag.end());
72 LOGP(info,
"Adjusting EOV of previous {}/{}/{} to {} (id:{})", infoNew.
getPath(), prevHeader[
"Valid-From"], prevHeader[
"Valid-Until"], infoNew.
getStartValidityTimestamp() - 1, etag);
std::map< std::string, std::string > retrieveHeaders(std::string const &path, std::map< std::string, std::string > const &metadata, long timestamp=-1) const
int updateMetadata(std::string const &path, std::map< std::string, std::string > const &metadata, long timestamp, std::string const &id="", long newEOV=0)
static constexpr const char * AdjustableEOV
static constexpr const char * DefaultObj
const std::string & getPath() const
long getStartValidityTimestamp() const
GLsizei const GLfloat * value
information complementary to a CCDB object (path, metadata, startTimeValidity, endTimeValidity etc)
long getCurrentTimestamp()
returns the timestamp in long corresponding to "now"
long createTimestamp(int year, int month, int day, int hour, int minutes, int seconds)
Converting time into numerical time stamp representation.
int adjustOverriddenEOV(CcdbApi &api, const CcdbObjectInfo &infoNew)
set EOV of overriden objects to SOV-1 of overriding one if it is allowed
long getFutureTimestamp(int secondsInFuture)
returns the timestamp in long corresponding to "now + secondsInFuture"