Bitcoin Core 28.99.0
P2P Digital Currency
Functions | Variables
time.cpp File Reference
#include <util/time.h>
#include <compat/compat.h>
#include <tinyformat.h>
#include <util/check.h>
#include <util/strencodings.h>
#include <atomic>
#include <chrono>
#include <optional>
#include <string>
#include <string_view>
#include <thread>
Include dependency graph for time.cpp:

Go to the source code of this file.

Functions

void UninterruptibleSleep (const std::chrono::microseconds &n)
 
void SetMockTime (int64_t nMockTimeIn)
 DEPRECATED Use SetMockTime with chrono type. More...
 
void SetMockTime (std::chrono::seconds mock_time_in)
 For testing. More...
 
std::chrono::seconds GetMockTime ()
 For testing. More...
 
int64_t GetTime ()
 DEPRECATED Use either ClockType::now() or Now<TimePointType>() if a cast is needed. More...
 
std::string FormatISO8601DateTime (int64_t nTime)
 ISO 8601 formatting is preferred. More...
 
std::string FormatISO8601Date (int64_t nTime)
 
std::optional< int64_t > ParseISO8601DateTime (std::string_view str)
 
struct timeval MillisToTimeval (int64_t nTimeout)
 Convert milliseconds to a struct timeval for e.g. More...
 
struct timeval MillisToTimeval (std::chrono::milliseconds ms)
 Convert milliseconds to a struct timeval for e.g. More...
 

Variables

static std::atomic< std::chrono::seconds > g_mock_time {}
 For testing. More...
 

Function Documentation

◆ FormatISO8601Date()

std::string FormatISO8601Date ( int64_t  nTime)

Definition at line 58 of file time.cpp.

Here is the caller graph for this function:

◆ FormatISO8601DateTime()

std::string FormatISO8601DateTime ( int64_t  nTime)

ISO 8601 formatting is preferred.

Use the FormatISO8601{DateTime,Date} helper functions if possible.

Definition at line 49 of file time.cpp.

Here is the caller graph for this function:

◆ GetMockTime()

std::chrono::seconds GetMockTime ( )

For testing.

Definition at line 42 of file time.cpp.

Here is the caller graph for this function:

◆ GetTime()

int64_t GetTime ( )

DEPRECATED Use either ClockType::now() or Now<TimePointType>() if a cast is needed.

ClockType is

  • SteadyClock/std::chrono::steady_clock for steady time
  • SystemClock/std::chrono::system_clock for system time
  • NodeClock for mockable system time

Definition at line 47 of file time.cpp.

Here is the caller graph for this function:

◆ MillisToTimeval() [1/2]

struct timeval MillisToTimeval ( int64_t  nTimeout)

Convert milliseconds to a struct timeval for e.g.

select.

Definition at line 90 of file time.cpp.

Here is the caller graph for this function:

◆ MillisToTimeval() [2/2]

struct timeval MillisToTimeval ( std::chrono::milliseconds  ms)

Convert milliseconds to a struct timeval for e.g.

select.

Definition at line 98 of file time.cpp.

Here is the call graph for this function:

◆ ParseISO8601DateTime()

std::optional< int64_t > ParseISO8601DateTime ( std::string_view  str)

Definition at line 66 of file time.cpp.

Here is the caller graph for this function:

◆ SetMockTime() [1/2]

void SetMockTime ( int64_t  nMockTimeIn)

DEPRECATED Use SetMockTime with chrono type.

Parameters
[in]nMockTimeInTime in seconds.

Definition at line 35 of file time.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetMockTime() [2/2]

void SetMockTime ( std::chrono::seconds  mock_time_in)

For testing.

Set e.g. with the setmocktime rpc, or -mocktime argument

Definition at line 36 of file time.cpp.

◆ UninterruptibleSleep()

void UninterruptibleSleep ( const std::chrono::microseconds &  n)

Definition at line 20 of file time.cpp.

Here is the caller graph for this function:

Variable Documentation

◆ g_mock_time

std::atomic<std::chrono::seconds> g_mock_time {}
static

For testing.

Definition at line 22 of file time.cpp.