Kea 2.7.5
time_utils.cc File Reference
#include <config.h>
#include <dns/time_utils.h>
#include <exceptions/exceptions.h>
#include <cstdint>
#include <cstdio>
#include <ctime>
#include <iomanip>
#include <iostream>
#include <sstream>
#include <string>
#include <sys/time.h>
+ Include dependency graph for time_utils.cc:

Go to the source code of this file.

Namespaces

namespace  isc
 Defines the logger used by the top-level component of kea-lfc.
 
namespace  isc::util
 
namespace  isc::util::detail
 

Functions

int64_t isc::util::detail::getTimeWrapper ()
 Return the current time in seconds.
 
DNSSEC time conversion functions.

These functions convert between times represented in seconds (in integer) since epoch and those in the textual form used in the RRSIG records.

For integers we provide both 32-bit and 64-bit versions. The RRSIG expiration and inception fields are both 32-bit unsigned integers, so 32-bit versions would be more useful for protocol operations. However, with 32-bit integers we need to take into account wrap-around points and compare values using the serial number arithmetic as specified in RFC4034, which would be more error prone. We therefore provide 64-bit versions, too.

The timezone is always UTC for these functions.

uint32_t isc::util::timeFromText32 (const std::string &time_txt)
 Convert textual DNSSEC time to integer, 32-bit version.
 
uint64_t isc::util::timeFromText64 (const std::string &time_txt)
 Convert textual DNSSEC time to integer, 64-bit version.
 
string isc::util::timeToText32 (uint32_t value)
 Convert integral DNSSEC time to textual form, 32-bit version.
 
string isc::util::timeToText64 (uint64_t value)
 Convert integral DNSSEC time to textual form, 64-bit version.
 

Variables

int64_t(* isc::util::detail::getTimeFunction )()=0