You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
19 lines
1.2 KiB
19 lines
1.2 KiB
#ifndef TEST_CLOCK_H |
|
#define TEST_CLOCK_H |
|
|
|
#include "../lib/u_async.h" |
|
|
|
/* Linux: часы продвигаются при пустом I/O до ближайшего таймера, с сохранением реальных сокетов. |
|
* UTUN_TEST_REAL_TIME=1 и остальные платформы используют обычные часы/ожидание. |
|
* init — до создания uasync; finish — после уничтожения. Вызовы только из потока теста, не из callbacks. */ |
|
void test_clock_init(int max_step_tb); |
|
// Та же прибавка для календарных часов (TTL и durable retry_at); до создания инстансов. |
|
void test_clock_sync_wall_time(void); |
|
void test_clock_poll(struct UASYNC* ua, int timeout_tb); |
|
void test_clock_mainloop(struct UASYNC* ua); |
|
void test_clock_run_for(struct UASYNC* ua, int duration_tb); |
|
// Дождаться ближайшего неотменённого таймера; требуется хотя бы один таймер, callbacks выполняет uasync. |
|
void test_clock_next_timer(struct UASYNC* ua); |
|
void test_clock_finish(void); |
|
|
|
#endif
|
|
|