|
ascii-chat 0.8.38
Real-time terminal-based video chat with ASCII art conversion
|
⏱️ High-precision timing utilities implementation More...
Go to the source code of this file.
Macros | |
| #define | SOKOL_TIME_IMPL |
Functions | |
| uint64_t | time_get_ns (void) |
| uint64_t | time_get_realtime_ns (void) |
| void | time_sleep_ns (uint64_t ns) |
| uint64_t | time_elapsed_ns (uint64_t start_ns, uint64_t end_ns) |
| uint64_t | time_timespec_to_ns (const struct timespec *ts) |
| void | time_ns_to_timespec (uint64_t ns, struct timespec *ts) |
| bool | timer_system_init (void) |
| void | timer_system_destroy (void) |
| bool | timer_start (const char *name) |
| double | timer_stop (const char *name) |
| bool | timer_is_initialized (void) |
| int | format_duration_ns (double nanoseconds, char *buffer, size_t buffer_size) |
| int | format_duration_ms (double milliseconds, char *buffer, size_t buffer_size) |
| int | format_duration_s (double seconds, char *buffer, size_t buffer_size) |
| int | format_uptime_hms (int hours, int minutes, int seconds, char *buffer, size_t buffer_size) |
| void | adaptive_sleep_init (adaptive_sleep_state_t *state, const adaptive_sleep_config_t *config) |
| uint64_t | adaptive_sleep_calculate (adaptive_sleep_state_t *state, size_t queue_depth, size_t target_depth) |
| void | adaptive_sleep_do (adaptive_sleep_state_t *state, size_t queue_depth, size_t target_depth) |
| bool | time_format_is_valid_strftime (const char *format_str) |
| int | time_format_now (const char *format_str, char *buf, size_t buf_size) |
| asciichat_error_t | time_format_safe (const char *format_str, char *buf, size_t buf_size) |
⏱️ High-precision timing utilities implementation
Definition in file util/time.c.
| #define SOKOL_TIME_IMPL |
Definition at line 11 of file util/time.c.
| uint64_t adaptive_sleep_calculate | ( | adaptive_sleep_state_t * | state, |
| size_t | queue_depth, | ||
| size_t | target_depth | ||
| ) |
Definition at line 408 of file util/time.c.
Referenced by adaptive_sleep_do().
| void adaptive_sleep_do | ( | adaptive_sleep_state_t * | state, |
| size_t | queue_depth, | ||
| size_t | target_depth | ||
| ) |
Definition at line 465 of file util/time.c.
References adaptive_sleep_calculate().
Referenced by client_audio_render_thread(), client_video_render_thread(), and session_capture_sleep_for_fps().
| void adaptive_sleep_init | ( | adaptive_sleep_state_t * | state, |
| const adaptive_sleep_config_t * | config | ||
| ) |
Definition at line 393 of file util/time.c.
Referenced by client_audio_render_thread(), client_video_render_thread(), session_capture_create(), and session_network_capture_create().
| int format_duration_ms | ( | double | milliseconds, |
| char * | buffer, | ||
| size_t | buffer_size | ||
| ) |
Definition at line 357 of file util/time.c.
References buffer_size, and format_duration_ns().
| int format_duration_ns | ( | double | nanoseconds, |
| char * | buffer, | ||
| size_t | buffer_size | ||
| ) |
Definition at line 275 of file util/time.c.
References buffer_size, and safe_snprintf().
Referenced by acip_server_receive_and_dispatch(), asciichat_instr_log_line(), broadcast_server_state_to_all_clients(), client_video_render_thread(), create_mixed_ascii_frame_for_client(), format_duration_ms(), format_duration_s(), session_render_loop(), and timer_stop().
| int format_duration_s | ( | double | seconds, |
| char * | buffer, | ||
| size_t | buffer_size | ||
| ) |
Definition at line 363 of file util/time.c.
References buffer_size, and format_duration_ns().
Referenced by crypto_init(), and crypto_rekey_init().
| int format_uptime_hms | ( | int | hours, |
| int | minutes, | ||
| int | seconds, | ||
| char * | buffer, | ||
| size_t | buffer_size | ||
| ) |
Definition at line 369 of file util/time.c.
References buffer_size, and safe_snprintf().
Referenced by discovery_status_display().
| uint64_t time_elapsed_ns | ( | uint64_t | start_ns, |
| uint64_t | end_ns | ||
| ) |
Definition at line 90 of file util/time.c.
Referenced by ascii_convert_with_capabilities(), asciichat_instr_log_line(), audio_analysis_print_report(), broadcast_server_state_to_all_clients(), client_send_thread_func(), fps_frame_ns(), media_source_read_video(), media_source_seek(), mixer_process_excluding_source(), session_capture_get_current_fps(), session_capture_read_frame(), and session_render_loop().
| bool time_format_is_valid_strftime | ( | const char * | format_str | ) |
Definition at line 483 of file util/time.c.
Referenced by time_format_safe().
| int time_format_now | ( | const char * | format_str, |
| char * | buf, | ||
| size_t | buf_size | ||
| ) |
Definition at line 558 of file util/time.c.
References platform_localtime(), and time_get_realtime_ns().
Referenced by log_template_apply(), and time_format_safe().
| asciichat_error_t time_format_safe | ( | const char * | format_str, |
| char * | buf, | ||
| size_t | buf_size | ||
| ) |
Definition at line 595 of file util/time.c.
References time_format_is_valid_strftime(), and time_format_now().
| uint64_t time_get_ns | ( | void | ) |
Definition at line 48 of file util/time.c.
Referenced by acip_server_receive_and_dispatch(), ascii_convert_with_capabilities(), asciichat_instr_log_line(), audio_analysis_init(), audio_analysis_print_report(), audio_analysis_track_received_packet(), audio_analysis_track_sent_packet(), benchmark_simd_color_conversion(), benchmark_simd_color_conversion_with_source(), benchmark_simd_conversion(), benchmark_simd_conversion_with_source(), broadcast_server_state_to_all_clients(), buffer_pool_free(), buffer_pool_shrink(), client_audio_render_thread(), client_dispatch_thread(), client_send_thread_func(), client_video_render_thread(), consensus_coordinator_create(), consensus_coordinator_on_collection_start(), consensus_coordinator_process(), consensus_coordinator_time_until_next_round(), create_mixed_ascii_frame_for_client(), discovery_mdns_query(), get_utf8_palette_cache(), media_source_read_video(), media_source_seek(), mixer_process_excluding_source(), nat_measure_bandwidth(), session_capture_create(), session_capture_get_current_fps(), session_capture_read_frame(), session_display_convert_to_ascii(), session_display_create(), session_network_capture_create(), session_render_loop(), simple_frame_swap_update(), and websocket_server_run().
| uint64_t time_get_realtime_ns | ( | void | ) |
Definition at line 59 of file util/time.c.
References time_timespec_to_ns().
Referenced by acds_validate_timestamp(), asciichat_error_stats_record(), asciichat_instr_log_line(), asciichat_set_errno(), connection_attempt_tcp(), connection_attempt_websocket(), connection_check_timeout(), connection_context_init(), consensus_metrics_measure(), consensus_state_compute_election(), database_session_is_migration_ready(), database_session_start_migration(), get_current_time_formatted(), log_json_async_safe(), log_msg(), log_plain_msg(), log_terminal_msg(), and time_format_now().
| void time_ns_to_timespec | ( | uint64_t | ns, |
| struct timespec * | ts | ||
| ) |
Definition at line 112 of file util/time.c.
| void time_sleep_ns | ( | uint64_t | ns | ) |
Definition at line 80 of file util/time.c.
References platform_sleep_us().
| uint64_t time_timespec_to_ns | ( | const struct timespec * | ts | ) |
Definition at line 104 of file util/time.c.
Referenced by time_get_realtime_ns().
| bool timer_is_initialized | ( | void | ) |
Definition at line 267 of file util/time.c.
| bool timer_start | ( | const char * | name | ) |
Definition at line 172 of file util/time.c.
| double timer_stop | ( | const char * | name | ) |
Definition at line 223 of file util/time.c.
References format_duration_ns().
| void timer_system_destroy | ( | void | ) |
Definition at line 146 of file util/time.c.
Referenced by asciichat_shared_destroy().
| bool timer_system_init | ( | void | ) |
Definition at line 125 of file util/time.c.
References rwlock_init().
Referenced by asciichat_shared_init().
| bool initialized |
Initialization state.
Definition at line 33 of file util/time.c.
| rwlock_t rwlock |
Read-write lock for thread-safe access (uthash requires external locking)
Definition at line 32 of file util/time.c.
Referenced by debug_rwlock_rdlock(), debug_rwlock_rdunlock(), debug_rwlock_wrlock(), debug_rwlock_wrunlock(), rwlock_init(), rwlock_rdlock_impl(), rwlock_rdunlock_impl(), rwlock_wrlock_impl(), and rwlock_wrunlock_impl().
| timer_record_t* timers |
Hash table of active timers (uthash head pointer)
Definition at line 31 of file util/time.c.