Use hh_decl naming APIs in Decl_service backend for Naming_provider
[hiphop-php.git] / patches / mcrouter-disable-deadlineMs-when-if_constexpr-is-unavailable.patch
blob17815af53f7fca2d9dae7f88fffdc8e6c8826876
1 From a6ad725247cc87d1e7fe7ac1cb60ec67ada72a37 Mon Sep 17 00:00:00 2001
2 From: jjergus <jjergus@fb.com>
3 Date: Tue, 3 Mar 2020 14:13:46 -0800
4 Subject: [PATCH] disable deadlineMs when if_constexpr is unavailable
6 ---
7 mcrouter/McReqUtil.h | 10 ++++++++++
8 1 file changed, 10 insertions(+)
10 diff --git a/third-party/mcrouter/src/mcrouter/McReqUtil.h b/third-party/mcrouter/src/mcrouter/McReqUtil.h
11 index 2acfac5c..60dd6f6d 100644
12 --- a/third-party/mcrouter/src/mcrouter/McReqUtil.h
13 +++ b/third-party/mcrouter/src/mcrouter/McReqUtil.h
14 @@ -7,6 +7,7 @@
16 #pragma once
18 +#if __cpp_if_constexpr
19 #include "mcrouter/config.h"
21 // Request deadline related helper functions
22 @@ -24,6 +25,7 @@ constexpr auto hasNonConstDeadlineMs<
24 std::void_t<decltype(std::declval<std::decay_t<T>&>().deadlineMs())>> =
25 true;
26 +#endif
28 /**
29 * setRequestDeadline - sets request deadline time to current time + deadlineMs
30 @@ -34,10 +36,12 @@ constexpr auto hasNonConstDeadlineMs<
32 template <class Request>
33 void setRequestDeadline(Request& req, uint64_t deadlineMs) {
34 +#if __cpp_if_constexpr
35 if constexpr (hasNonConstDeadlineMs<Request>) {
36 req.deadlineMs() =
37 facebook::memcache::mcrouter::getCurrentTimeInMs() + deadlineMs;
39 +#endif
42 /**
43 @@ -52,12 +56,14 @@ void setRequestDeadline(Request& req, uint64_t deadlineMs) {
45 template <class Request>
46 bool isRequestDeadlineExceeded(const Request& req) {
47 +#if __cpp_if_constexpr
48 if constexpr (hasConstDeadlineMs<Request>) {
49 if (req.deadlineMs() > 0) {
50 return facebook::memcache::mcrouter::getCurrentTimeInMs() >
51 req.deadlineMs();
54 +#endif
55 return false;
58 @@ -69,9 +75,11 @@ bool isRequestDeadlineExceeded(const Request& req) {
60 template <class Request>
61 std::pair<bool, uint64_t> getDeadline(const Request& req) {
62 +#if __cpp_if_constexpr
63 if constexpr (hasConstDeadlineMs<Request>) {
64 return {true, req.deadlineMs()};
66 +#endif
67 return {false, 0};
70 @@ -82,6 +90,7 @@ std::pair<bool, uint64_t> getDeadline(const Request& req) {
72 template <class Request>
73 std::pair<bool, uint64_t> getRemainingTime(const Request& req) {
74 +#if __cpp_if_constexpr
75 if constexpr (hasConstDeadlineMs<Request>) {
76 auto deadlineMs = req.deadlineMs();
77 auto currentTime = facebook::memcache::mcrouter::getCurrentTimeInMs();
78 @@ -90,5 +99,6 @@ std::pair<bool, uint64_t> getRemainingTime(const Request& req) {
80 return {true, 0};
82 +#endif
83 return {false, 0};
85 --
86 2.17.1