23 lines
549 B
PHP
23 lines
549 B
PHP
|
#include "absl/time/clock.h"
|
||
|
|
||
|
#include <sys/time.h>
|
||
|
#include <ctime>
|
||
|
#include <cstdint>
|
||
|
|
||
|
#include "absl/base/internal/raw_logging.h"
|
||
|
|
||
|
namespace absl {
|
||
|
namespace time_internal {
|
||
|
|
||
|
static int64_t GetCurrentTimeNanosFromSystem() {
|
||
|
const int64_t kNanosPerSecond = 1000 * 1000 * 1000;
|
||
|
struct timespec ts;
|
||
|
ABSL_RAW_CHECK(clock_gettime(CLOCK_REALTIME, &ts) == 0,
|
||
|
"Failed to read real-time clock.");
|
||
|
return (int64_t{ts.tv_sec} * kNanosPerSecond +
|
||
|
int64_t{ts.tv_nsec});
|
||
|
}
|
||
|
|
||
|
} // namespace time_internal
|
||
|
} // namespace absl
|