aboutsummaryrefslogtreecommitdiff
path: root/Src/external_dependencies/cpr/include/cpr/timeout.h
blob: 492470ecbf7076660d9554af16176b08c4c5254b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef CPR_TIMEOUT_H
#define CPR_TIMEOUT_H

#include <chrono>
#include <cstdint>

namespace cpr {

class Timeout {
  public:
    // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions)
    Timeout(const std::chrono::milliseconds& duration) : ms{duration} {}
    // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions)
    Timeout(const std::int32_t& milliseconds) : Timeout{std::chrono::milliseconds(milliseconds)} {}
    // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions)
    Timeout(const std::chrono::seconds& duration) : ms{1000 * duration.count()} {}

    // No way around since curl uses a long here.
    // NOLINTNEXTLINE(google-runtime-int)
    long Milliseconds() const;

    std::chrono::milliseconds ms;
};

} // namespace cpr

#endif