GNU libmicrohttpd 0.9.77
Loading...
Searching...
No Matches
mhd_mono_clock.c File Reference
#include "mhd_mono_clock.h"
Include dependency graph for mhd_mono_clock.c:

Go to the source code of this file.

Macros

#define NULL   ((void*)0)
 

Enumerations

enum  _MHD_mono_clock_source {
  _MHD_CLOCK_NO_SOURCE = 0 , _MHD_CLOCK_GETTIME , _MHD_CLOCK_GET_TIME , _MHD_CLOCK_GETHRTIME ,
  _MHD_CLOCK_GETTICKCOUNT64 , _MHD_CLOCK_PERFCOUNTER
}
 

Functions

void MHD_monotonic_sec_counter_init (void)
 
void MHD_monotonic_sec_counter_finish (void)
 
time_t MHD_monotonic_sec_counter (void)
 
uint64_t MHD_monotonic_msec_counter (void)
 

Variables

static time_t sys_clock_start
 

Macro Definition Documentation

◆ NULL

#define NULL   ((void*)0)

Definition at line 66 of file mhd_mono_clock.c.

Enumeration Type Documentation

◆ _MHD_mono_clock_source

Type of monotonic clock source

Enumerator
_MHD_CLOCK_NO_SOURCE 

No monotonic clock

_MHD_CLOCK_GETTIME 

clock_gettime() with specific clock

_MHD_CLOCK_GET_TIME 

clock_get_time() with specific clock service

_MHD_CLOCK_GETHRTIME 

gethrtime() / 1000000000

_MHD_CLOCK_GETTICKCOUNT64 

GetTickCount64() / 1000

_MHD_CLOCK_PERFCOUNTER 

QueryPerformanceCounter() / QueryPerformanceFrequency()

Definition at line 105 of file mhd_mono_clock.c.

Function Documentation

◆ MHD_monotonic_msec_counter()

uint64_t MHD_monotonic_msec_counter ( void  )

Monotonic milliseconds counter, useful for timeout calculation. Tries to be not affected by manually setting the system real time clock or adjustments by NTP synchronization.

Returns
number of microseconds from some fixed moment

Definition at line 440 of file mhd_mono_clock.c.

References NULL, and sys_clock_start.

Referenced by connection_check_timedout(), MHD_set_connection_option(), MHD_update_last_activity_(), new_connection_prepare_(), and resume_suspended_connections().

Here is the caller graph for this function:

◆ MHD_monotonic_sec_counter()

time_t MHD_monotonic_sec_counter ( void  )

Monotonic seconds counter. Tries to be not affected by manually setting the system real time clock or adjustments by NTP synchronization.

Returns
number of seconds from some fixed moment

Definition at line 388 of file mhd_mono_clock.c.

References NULL, and sys_clock_start.

◆ MHD_monotonic_sec_counter_finish()

void MHD_monotonic_sec_counter_finish ( void  )

Deinitialise monotonic seconds and milliseconds counters by freeing any allocated resources

Definition at line 367 of file mhd_mono_clock.c.

◆ MHD_monotonic_sec_counter_init()

void MHD_monotonic_sec_counter_init ( void  )

Initialise monotonic seconds and milliseconds counters.

Definition at line 143 of file mhd_mono_clock.c.

References _MHD_CLOCK_GET_TIME, _MHD_CLOCK_GETHRTIME, _MHD_CLOCK_GETTICKCOUNT64, _MHD_CLOCK_GETTIME, _MHD_CLOCK_NO_SOURCE, _MHD_CLOCK_PERFCOUNTER, NULL, and sys_clock_start.

Variable Documentation

◆ sys_clock_start

time_t sys_clock_start
static

Definition at line 88 of file mhd_mono_clock.c.