Skip to content

Commit

Permalink
merge bitcoin#25102: Remove unused GetTimeSeconds
Browse files Browse the repository at this point in the history
  • Loading branch information
kwvg committed Dec 8, 2024
1 parent 8f8e732 commit cc7d2b8
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 20 deletions.
14 changes: 10 additions & 4 deletions src/bitcoin-cli.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,24 +11,27 @@
#include <chainparamsbase.h>
#include <clientversion.h>
#include <compat.h>
#include <compat/stdin.h>
#include <policy/feerate.h>
#include <rpc/client.h>
#include <rpc/mining.h>
#include <rpc/protocol.h>
#include <rpc/request.h>
#include <stacktraces.h>
#include <tinyformat.h>
#include <univalue.h>
#include <util/strencodings.h>
#include <util/system.h>
#include <util/translation.h>
#include <util/url.h>

#include <algorithm>
#include <chrono>
#include <cmath>
#include <cstdio>
#include <functional>
#include <memory>
#include <optional>
#include <stdio.h>
#include <string>
#include <tuple>

Expand All @@ -40,8 +43,11 @@
#include <event2/keyvalq_struct.h>
#include <support/events.h>

#include <univalue.h>
#include <compat/stdin.h>
// The server returns time values from a mockable system clock, but it is not
// trivial to get the mocked time from the server, nor is it needed for now, so
// just use a plain system_clock.
using CliClock = std::chrono::system_clock;
using CliSeconds = std::chrono::time_point<CliClock, std::chrono::seconds>;

const std::function<std::string(const char*)> G_TRANSLATION_FUN = nullptr;
UrlDecodeFn* const URL_DECODE = urlDecode;
Expand Down Expand Up @@ -454,7 +460,7 @@ class NetinfoRequestHandler : public BaseRequestHandler
if (conn_type == "addr-fetch") return "addr";
return "";
}
const int64_t m_time_now{GetTimeSeconds()};
const int64_t m_time_now{count_seconds(Now<CliSeconds>())};

public:
static constexpr int ID_PEERINFO = 0;
Expand Down
6 changes: 3 additions & 3 deletions src/test/fuzz/fuzz.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ int main(int argc, char** argv)
return 0;
}
std::signal(SIGABRT, signal_handler);
int64_t start_time = GetTimeSeconds();
const auto start_time{Now<SteadySeconds>()};
int tested = 0;
for (int i = 1; i < argc; ++i) {
fs::path input_path(*(argv + i));
Expand All @@ -209,8 +209,8 @@ int main(int argc, char** argv)
buffer.clear();
}
}
int64_t end_time = GetTimeSeconds();
std::cout << g_fuzz_target << ": succeeded against " << tested << " files in " << (end_time - start_time) << "s." << std::endl;
const auto end_time{Now<SteadySeconds>()};
std::cout << g_fuzz_target << ": succeeded against " << tested << " files in " << count_seconds(end_time - start_time) << "s." << std::endl;
#endif
return 0;
}
Expand Down
3 changes: 0 additions & 3 deletions src/test/util_tests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -297,9 +297,6 @@ BOOST_AUTO_TEST_CASE(util_FormatParseISO8601DateTime)
BOOST_CHECK_EQUAL(ParseISO8601DateTime("1970-01-01T00:00:00Z"), 0);
BOOST_CHECK_EQUAL(ParseISO8601DateTime("1960-01-01T00:00:00Z"), 0);
BOOST_CHECK_EQUAL(ParseISO8601DateTime("2011-09-30T23:36:17Z"), 1317425777);

auto time = GetTimeSeconds();
BOOST_CHECK_EQUAL(ParseISO8601DateTime(FormatISO8601DateTime(time)), time);
}

BOOST_AUTO_TEST_CASE(util_FormatISO8601Date)
Expand Down
5 changes: 0 additions & 5 deletions src/util/time.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -111,11 +111,6 @@ int64_t GetTimeMicros()
return int64_t{GetSystemTime<std::chrono::microseconds>().count()};
}

int64_t GetTimeSeconds()
{
return int64_t{GetSystemTime<std::chrono::seconds>().count()};
}

int64_t GetTime() { return GetTime<std::chrono::seconds>().count(); }

std::string FormatISO8601DateTime(int64_t nTime) {
Expand Down
13 changes: 8 additions & 5 deletions src/util/time.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,20 @@ using SteadyMicroseconds = std::chrono::time_point<std::chrono::steady_clock, st
void UninterruptibleSleep(const std::chrono::microseconds& n);

/**
* Helper to count the seconds of a duration.
* Helper to count the seconds of a duration/time_point.
*
* All durations should be using std::chrono and calling this should generally
* All durations/time_points should be using std::chrono and calling this should generally
* be avoided in code. Though, it is still preferred to an inline t.count() to
* protect against a reliance on the exact type of t.
*
* This helper is used to convert durations before passing them over an
* This helper is used to convert durations/time_points before passing them over an
* interface that doesn't support std::chrono (e.g. RPC, debug log, or the GUI)
*/
template <typename Clock>
constexpr int64_t count_seconds(std::chrono::time_point<Clock, std::chrono::seconds> t)
{
return t.time_since_epoch().count();
}
constexpr int64_t count_seconds(std::chrono::seconds t) { return t.count(); }
constexpr int64_t count_milliseconds(std::chrono::milliseconds t) { return t.count(); }
constexpr int64_t count_microseconds(std::chrono::microseconds t) { return t.count(); }
Expand All @@ -52,8 +57,6 @@ int64_t GetTime();
int64_t GetTimeMillis();
/** Returns the system time (not mockable) */
int64_t GetTimeMicros();
/** Returns the system time (not mockable) */
int64_t GetTimeSeconds(); // Like GetTime(), but not mockable

/**
* DEPRECATED
Expand Down

0 comments on commit cc7d2b8

Please sign in to comment.