VoltMod
C++23 framework for CS2 server plugins
Loading...
Searching...
No Matches
VoltMod::Time Class Reference

#include <Durations.hpp>

Static Public Member Functions

static int64_t Now ()
 
static double MonotonicSeconds ()
 
static int64_t MonotonicMs ()
 
static int64_t ParseDuration (const std::string &duration)
 
static std::string FormatDuration (int64_t seconds)
 
static std::string FormatDurationLabel (int64_t seconds, const DurationUnitLabels &units)
 
static std::string FormatExpiry (int64_t expiresAt, int64_t nowSec, std::string_view permanentText, std::string_view expiresInPrefix)
 
static std::string FormatTimestamp (int64_t timestamp)
 
static bool IsExpired (int64_t expiresAt)
 
static int64_t GetExpirationTime (int64_t durationSeconds)
 

Detailed Description

Timestamp, duration, and expiration utilities.

Definition at line 22 of file Durations.hpp.

Member Function Documentation

◆ FormatDuration()

std::string VoltMod::Time::FormatDuration ( int64_t  seconds)
static

Definition at line 21 of file Durations.cpp.

References VoltMod::ReadFile().

Referenced by FormatExpiry().

◆ FormatDurationLabel()

std::string VoltMod::Time::FormatDurationLabel ( int64_t  seconds,
const DurationUnitLabels &  units 
)
static

Format with the largest exact unit, or Permanent for non-positive values.

Definition at line 51 of file Durations.cpp.

References VoltMod::ReadFile().

◆ FormatExpiry()

std::string VoltMod::Time::FormatExpiry ( int64_t  expiresAt,
int64_t  nowSec,
std::string_view  permanentText,
std::string_view  expiresInPrefix 
)
static

Format an expiry suffix; non-positive or expired timestamps use permanentText.

Definition at line 78 of file Durations.cpp.

References FormatDuration(), and VoltMod::ReadFile().

◆ FormatTimestamp()

std::string VoltMod::Time::FormatTimestamp ( int64_t  timestamp)
static

Definition at line 95 of file Durations.cpp.

References VoltMod::ReadFile().

◆ GetExpirationTime()

int64_t VoltMod::Time::GetExpirationTime ( int64_t  durationSeconds)
static

Definition at line 122 of file Durations.cpp.

References Now(), and VoltMod::ReadFile().

◆ IsExpired()

bool VoltMod::Time::IsExpired ( int64_t  expiresAt)
static

Definition at line 113 of file Durations.cpp.

References Now(), and VoltMod::ReadFile().

◆ MonotonicMs()

static int64_t VoltMod::Time::MonotonicMs ( )
inlinestatic

Monotonic milliseconds for integer deadlines.

Definition at line 35 of file Durations.hpp.

References VoltMod::ReadFile().

Referenced by VoltMod::MenuStack::Describe().

◆ MonotonicSeconds()

static double VoltMod::Time::MonotonicSeconds ( )
inlinestatic

Monotonic seconds for intervals. The arbitrary origin must not be persisted.

Definition at line 29 of file Durations.hpp.

References VoltMod::ReadFile().

Referenced by VoltMod::WorkshopDownloads::OnClientConnected(), VoltMod::WorkshopDownloads::OnClientDisconnected(), and VoltMod::ClientConVars::Query().

◆ Now()

int64_t VoltMod::Time::Now ( )
static

Unix wall-clock seconds. Use MonotonicSeconds for elapsed time.

Definition at line 10 of file Durations.cpp.

References VoltMod::ReadFile().

Referenced by VoltMod::ApplyMigration(), GetExpirationTime(), IsExpired(), and VoltMod::Player::Playtime().

◆ ParseDuration()

int64_t VoltMod::Time::ParseDuration ( const std::string &  duration)
static

Parse the shared duration grammar. Returns -1 on failure and 0 for permanent.

Definition at line 16 of file Durations.cpp.

References VoltMod::ReadFile().


The documentation for this class was generated from the following files: