TAS
TCP Acceleration as an OS Service
|
Timeout Handling. More...
Data Structures | |
struct | timeout |
struct | timeout_manager |
Functions | |
int | util_timeout_init (struct timeout_manager *mgr, void(*handler)(struct timeout *, uint8_t, void *), void *handler_opaque) |
uint32_t | util_timeout_time_us (void) |
void | util_timeout_poll (struct timeout_manager *mgr) |
void | util_timeout_poll_ts (struct timeout_manager *mgr, uint32_t cur_ts) |
uint32_t | util_timeout_next (struct timeout_manager *mgr, uint32_t cur_ts) |
void | util_timeout_arm (struct timeout_manager *mgr, struct timeout *to, uint32_t us, uint8_t type) |
void | util_timeout_arm_ts (struct timeout_manager *mgr, struct timeout *to, uint32_t us, uint8_t type, uint32_t cur_ts) |
void | util_timeout_disarm (struct timeout_manager *mgr, struct timeout *to) |
Timeout Handling.
void util_timeout_arm | ( | struct timeout_manager * | mgr, |
struct timeout * | to, | ||
uint32_t | us, | ||
uint8_t | type | ||
) |
Arm timer for timeout.
to | Timeout object to use. |
us | # of microseconds to wait. |
type | Type of timeout. |
Definition at line 110 of file timeout.c.
References util_timeout_arm_ts().
Referenced by arp_request(), arp_timeout(), tcp_close(), and tcp_timeout().
void util_timeout_arm_ts | ( | struct timeout_manager * | mgr, |
struct timeout * | to, | ||
uint32_t | us, | ||
uint8_t | type, | ||
uint32_t | cur_ts | ||
) |
Arm timer for timeout based on provided timestamp.
Definition at line 116 of file timeout.c.
References timeout::next, timeout::prev, timeout::timeout_type, timeout_manager::timeouts_first, and timeout_manager::timeouts_last.
Referenced by util_timeout_arm().
void util_timeout_disarm | ( | struct timeout_manager * | mgr, |
struct timeout * | to | ||
) |
Disarm timer.
to | Timeout object to cancel. |
Definition at line 155 of file timeout.c.
References timeout_manager::due_first, timeout_manager::due_last, timeout::next, timeout::prev, timeout_manager::timeouts_first, and timeout_manager::timeouts_last.
Referenced by arp_packet(), and tcp_timeout().
int util_timeout_init | ( | struct timeout_manager * | mgr, |
void(*)(struct timeout *, uint8_t, void *) | handler, | ||
void * | handler_opaque | ||
) |
Initialize timer subsystem.
Definition at line 62 of file timeout.c.
References timeout_manager::handler, and timeout_manager::handler_opaque.
void util_timeout_poll | ( | struct timeout_manager * | mgr | ) |
void util_timeout_poll_ts | ( | struct timeout_manager * | mgr, |
uint32_t | cur_ts | ||
) |
Process timers based on provided timestamp.
Definition at line 84 of file timeout.c.
References timeout_manager::due_first, timeout_manager::due_last, timeout_manager::handler, timeout_manager::handler_opaque, timeout::next, timeout::prev, and timeout::timeout_type.
Referenced by util_timeout_poll().
uint32_t util_timeout_time_us | ( | void | ) |