28 lines
829 B
C
28 lines
829 B
C
|
#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{std::chrono::milliseconds(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
|