diff --git a/include/libwebsockets/lws-timeout-timer.h b/include/libwebsockets/lws-timeout-timer.h index 9411866cc..579c34bd3 100644 --- a/include/libwebsockets/lws-timeout-timer.h +++ b/include/libwebsockets/lws-timeout-timer.h @@ -70,6 +70,12 @@ enum pending_timeout { PENDING_TIMEOUT_USER_REASON_BASE = 1000 }; +/** + * lws_time_in_microseconds() - Returns the unix time in microseconds + */ +LWS_VISIBLE LWS_EXTERN uint64_t +lws_time_in_microseconds(void); + #define LWS_TO_KILL_ASYNC -1 /**< If LWS_TO_KILL_ASYNC is given as the timeout sec in a lws_set_timeout() * call, then the connection is marked to be killed at the next timeout diff --git a/lib/core/libwebsockets.c b/lib/core/libwebsockets.c index 10b9ab95e..e58d0963a 100644 --- a/lib/core/libwebsockets.c +++ b/lib/core/libwebsockets.c @@ -1641,7 +1641,7 @@ lws_latency(struct lws_context *context, struct lws *wsi, const char *action, unsigned long long u; char buf[256]; - u = time_in_microseconds(); + u = lws_time_in_microseconds(); if (!action) { wsi->latency_start = u; @@ -2022,7 +2022,7 @@ lwsl_timestamp(int level, char *p, int len) for (n = 0; n < LLL_COUNT; n++) { if (level != (1 << n)) continue; - now = time_in_microseconds() / 100; + now = lws_time_in_microseconds() / 100; if (ptm) n = lws_snprintf(p, len, "[%04d/%02d/%02d %02d:%02d:%02d:%04d] %s: ", diff --git a/lib/core/pollfd.c b/lib/core/pollfd.c index add496828..cb5d0762d 100644 --- a/lib/core/pollfd.c +++ b/lib/core/pollfd.c @@ -434,7 +434,7 @@ lws_callback_on_writable(struct lws *wsi) lws_stats_atomic_bump(wsi->context, pt, LWSSTATS_C_WRITEABLE_CB_REQ, 1); #if defined(LWS_WITH_STATS) if (!wsi->active_writable_req_us) { - wsi->active_writable_req_us = time_in_microseconds(); + wsi->active_writable_req_us = lws_time_in_microseconds(); lws_stats_atomic_bump(wsi->context, pt, LWSSTATS_C_WRITEABLE_CB_EFF_REQ, 1); } diff --git a/lib/core/private.h b/lib/core/private.h index 3b1c3f2aa..706b0427c 100644 --- a/lib/core/private.h +++ b/lib/core/private.h @@ -1442,8 +1442,6 @@ lws_plat_init(struct lws_context *context, const struct lws_context_creation_info *info); LWS_EXTERN void lws_plat_drop_app_privileges(const struct lws_context_creation_info *info); -LWS_EXTERN unsigned long long -time_in_microseconds(void); LWS_EXTERN const char * LWS_WARN_UNUSED_RESULT lws_plat_inet_ntop(int af, const void *src, char *dst, int cnt); LWS_EXTERN int LWS_WARN_UNUSED_RESULT diff --git a/lib/core/service.c b/lib/core/service.c index 0954c2350..e3cfebcb0 100644 --- a/lib/core/service.c +++ b/lib/core/service.c @@ -30,7 +30,7 @@ lws_callback_as_writeable(struct lws *wsi) lws_stats_atomic_bump(wsi->context, pt, LWSSTATS_C_WRITEABLE_CB, 1); #if defined(LWS_WITH_STATS) if (wsi->active_writable_req_us) { - uint64_t ul = time_in_microseconds() - + uint64_t ul = lws_time_in_microseconds() - wsi->active_writable_req_us; lws_stats_atomic_bump(wsi->context, pt, diff --git a/lib/plat/esp32/esp32-helpers.c b/lib/plat/esp32/esp32-helpers.c index a2fa5d23f..b016502b9 100644 --- a/lib/plat/esp32/esp32-helpers.c +++ b/lib/plat/esp32/esp32-helpers.c @@ -261,7 +261,7 @@ get_txt_param(const mdns_result_t *mr, const char *param, char *result, int len) static void lws_esp32_mdns_timer_cb(TimerHandle_t th) { - uint64_t now = time_in_microseconds(); + uint64_t now = lws_time_in_microseconds(); struct lws_group_member *p, **p1; const mdns_result_t *r = mdns_results_head; @@ -484,7 +484,7 @@ passthru: static void lws_set_genled(int n) { - lws_esp32.genled_t = time_in_microseconds(); + lws_esp32.genled_t = lws_time_in_microseconds(); lws_esp32.genled = n; } @@ -494,7 +494,7 @@ lws_esp32_leds_network_indication(void) uint64_t us, r; int n, fadein = 100, speed = 1199, div = 1, base = 0; - r = time_in_microseconds(); + r = lws_time_in_microseconds(); us = r - lws_esp32.genled_t; switch (lws_esp32.genled) { diff --git a/lib/plat/esp32/esp32-misc.c b/lib/plat/esp32/esp32-misc.c index 3dfb0288c..90692550f 100644 --- a/lib/plat/esp32/esp32-misc.c +++ b/lib/plat/esp32/esp32-misc.c @@ -21,7 +21,8 @@ #include "core/private.h" -unsigned long long time_in_microseconds(void) +uint64_t +lws_time_in_microseconds(void) { struct timeval tv; gettimeofday(&tv, NULL); diff --git a/lib/plat/optee/lws-plat-optee.c b/lib/plat/optee/lws-plat-optee.c index 913d0b1da..6c9b97cd4 100644 --- a/lib/plat/optee/lws-plat-optee.c +++ b/lib/plat/optee/lws-plat-optee.c @@ -28,7 +28,8 @@ lws_plat_pipe_close(struct lws *wsi) void TEE_GenerateRandom(void *randomBuffer, uint32_t randomBufferLen); -unsigned long long time_in_microseconds(void) +uint64_t +lws_time_in_microseconds(void) { return ((unsigned long long)time(NULL)) * 1000000; } diff --git a/lib/plat/unix/unix-misc.c b/lib/plat/unix/unix-misc.c index 036b610a9..923ffcfa5 100644 --- a/lib/plat/unix/unix-misc.c +++ b/lib/plat/unix/unix-misc.c @@ -23,7 +23,8 @@ #include "core/private.h" -unsigned long long time_in_microseconds(void) +uint64_t +lws_time_in_microseconds(void) { struct timeval tv; diff --git a/lib/plat/windows/windows-misc.c b/lib/plat/windows/windows-misc.c index 87ee33a5d..53cc19b6b 100644 --- a/lib/plat/windows/windows-misc.c +++ b/lib/plat/windows/windows-misc.c @@ -25,8 +25,8 @@ #include "core/private.h" -unsigned long long -time_in_microseconds() +uint64_t +lws_time_in_microseconds() { #ifndef DELTA_EPOCH_IN_MICROSECS #define DELTA_EPOCH_IN_MICROSECS 11644473600000000ULL @@ -56,7 +56,7 @@ time_in_microseconds() #ifdef _WIN32_WCE time_t time(time_t *t) { - time_t ret = time_in_microseconds() / 1000000; + time_t ret = lws_time_in_microseconds() / 1000000; if(t != NULL) *t = ret; diff --git a/lib/roles/h1/ops-h1.c b/lib/roles/h1/ops-h1.c index 3c2156403..4988a289c 100644 --- a/lib/roles/h1/ops-h1.c +++ b/lib/roles/h1/ops-h1.c @@ -462,7 +462,7 @@ try_pollout: LWSSTATS_C_WRITEABLE_CB, 1); #if defined(LWS_WITH_STATS) if (wsi->active_writable_req_us) { - uint64_t ul = time_in_microseconds() - + uint64_t ul = lws_time_in_microseconds() - wsi->active_writable_req_us; lws_stats_atomic_bump(wsi->context, pt, diff --git a/lib/roles/raw-skt/ops-raw-skt.c b/lib/roles/raw-skt/ops-raw-skt.c index da7424a9e..8b94de4be 100644 --- a/lib/roles/raw-skt/ops-raw-skt.c +++ b/lib/roles/raw-skt/ops-raw-skt.c @@ -109,7 +109,7 @@ try_pollout: LWSSTATS_C_WRITEABLE_CB, 1); #if defined(LWS_WITH_STATS) if (wsi->active_writable_req_us) { - uint64_t ul = time_in_microseconds() - + uint64_t ul = lws_time_in_microseconds() - wsi->active_writable_req_us; lws_stats_atomic_bump(wsi->context, pt, diff --git a/lib/tls/mbedtls/ssl.c b/lib/tls/mbedtls/ssl.c index 5ff0d870f..8e0c6b219 100644 --- a/lib/tls/mbedtls/ssl.c +++ b/lib/tls/mbedtls/ssl.c @@ -78,7 +78,7 @@ lws_ssl_capable_read(struct lws *wsi, unsigned char *buf, int len) if (!wsi->seen_rx && wsi->accept_start_us) { lws_stats_atomic_bump(wsi->context, pt, LWSSTATS_MS_SSL_RX_DELAY, - time_in_microseconds() - wsi->accept_start_us); + lws_time_in_microseconds() - wsi->accept_start_us); lws_stats_atomic_bump(wsi->context, pt, LWSSTATS_C_SSL_CONNS_HAD_RX, 1); wsi->seen_rx = 1; diff --git a/lib/tls/openssl/ssl.c b/lib/tls/openssl/ssl.c index 8f67832b8..b429e7d7a 100644 --- a/lib/tls/openssl/ssl.c +++ b/lib/tls/openssl/ssl.c @@ -218,7 +218,7 @@ lws_ssl_capable_read(struct lws *wsi, unsigned char *buf, int len) #if defined(LWS_WITH_STATS) if (!wsi->seen_rx && wsi->accept_start_us) { lws_stats_atomic_bump(wsi->context, pt, LWSSTATS_MS_SSL_RX_DELAY, - time_in_microseconds() - wsi->accept_start_us); + lws_time_in_microseconds() - wsi->accept_start_us); lws_stats_atomic_bump(wsi->context, pt, LWSSTATS_C_SSL_CONNS_HAD_RX, 1); wsi->seen_rx = 1; } diff --git a/lib/tls/tls-server.c b/lib/tls/tls-server.c index 95ff4eff0..c227e653b 100644 --- a/lib/tls/tls-server.c +++ b/lib/tls/tls-server.c @@ -314,7 +314,7 @@ lws_server_socket_service_ssl(struct lws *wsi, lws_sockfd_type accept_fd) #if defined(LWS_WITH_STATS) /* only set this the first time around */ if (!wsi->accept_start_us) - wsi->accept_start_us = time_in_microseconds(); + wsi->accept_start_us = lws_time_in_microseconds(); #endif errno = 0; lws_stats_atomic_bump(wsi->context, pt, @@ -344,8 +344,8 @@ lws_server_socket_service_ssl(struct lws *wsi, lws_sockfd_type accept_fd) if (wsi->accept_start_us) lws_stats_atomic_bump(wsi->context, pt, LWSSTATS_MS_SSL_CONNECTIONS_ACCEPTED_DELAY, - time_in_microseconds() - wsi->accept_start_us); - wsi->accept_start_us = time_in_microseconds(); + lws_time_in_microseconds() - wsi->accept_start_us); + wsi->accept_start_us = lws_time_in_microseconds(); #endif accepted: