proxygen
folly::chrono::coarse_steady_clock Struct Reference

#include <Chrono.h>

Public Types

using rep = std::chrono::milliseconds::rep
 
using period = std::chrono::milliseconds::period
 
using duration = std::chrono::duration< rep, period >
 
using time_point = std::chrono::time_point< coarse_steady_clock, duration >
 

Static Public Member Functions

static time_point now () noexcept
 

Static Public Attributes

static constexpr bool is_steady = true
 

Detailed Description

Definition at line 164 of file Chrono.h.

Member Typedef Documentation

using folly::chrono::coarse_steady_clock::duration = std::chrono::duration<rep, period>

Definition at line 167 of file Chrono.h.

using folly::chrono::coarse_steady_clock::period = std::chrono::milliseconds::period

Definition at line 166 of file Chrono.h.

using folly::chrono::coarse_steady_clock::rep = std::chrono::milliseconds::rep

Definition at line 165 of file Chrono.h.

Definition at line 168 of file Chrono.h.

Member Function Documentation

static time_point folly::chrono::coarse_steady_clock::now ( )
inlinestaticnoexcept

Definition at line 171 of file Chrono.h.

References folly::chrono::clock_gettime, folly::kIsDebug, and now().

Referenced by folly::logging::IntervalRateLimiter::checkSlow().

171  {
172 #ifndef CLOCK_MONOTONIC_COARSE
173  return time_point(std::chrono::duration_cast<duration>(
174  std::chrono::steady_clock::now().time_since_epoch()));
175 #else
176  timespec ts;
177  auto ret = clock_gettime(CLOCK_MONOTONIC_COARSE, &ts);
178  if (kIsDebug && (ret != 0)) {
179  throw_exception<std::runtime_error>(
180  "Error using CLOCK_MONOTONIC_COARSE.");
181  }
182 
183  return time_point(std::chrono::duration_cast<duration>(
184  std::chrono::seconds(ts.tv_sec) +
185  std::chrono::nanoseconds(ts.tv_nsec)));
186 #endif
187  }
std::chrono::time_point< coarse_steady_clock, duration > time_point
Definition: Chrono.h:168
int(* clock_gettime)(clockid_t, timespec *ts)
constexpr auto kIsDebug
Definition: Portability.h:264
std::chrono::steady_clock::time_point now()

Member Data Documentation

constexpr bool folly::chrono::coarse_steady_clock::is_steady = true
static

Definition at line 169 of file Chrono.h.


The documentation for this struct was generated from the following file: