36 NO_PENDING_TIMEOUT = 0,
37 PENDING_TIMEOUT_AWAITING_PROXY_RESPONSE = 1,
38 PENDING_TIMEOUT_AWAITING_CONNECT_RESPONSE = 2,
39 PENDING_TIMEOUT_ESTABLISH_WITH_SERVER = 3,
40 PENDING_TIMEOUT_AWAITING_SERVER_RESPONSE = 4,
41 PENDING_TIMEOUT_AWAITING_PING = 5,
42 PENDING_TIMEOUT_CLOSE_ACK = 6,
43 PENDING_TIMEOUT_UNUSED1 = 7,
44 PENDING_TIMEOUT_SENT_CLIENT_HANDSHAKE = 8,
45 PENDING_TIMEOUT_SSL_ACCEPT = 9,
46 PENDING_TIMEOUT_HTTP_CONTENT = 10,
47 PENDING_TIMEOUT_AWAITING_CLIENT_HS_SEND = 11,
48 PENDING_FLUSH_STORED_SEND_BEFORE_CLOSE = 12,
49 PENDING_TIMEOUT_SHUTDOWN_FLUSH = 13,
50 PENDING_TIMEOUT_CGI = 14,
51 PENDING_TIMEOUT_HTTP_KEEPALIVE_IDLE = 15,
52 PENDING_TIMEOUT_WS_PONG_CHECK_SEND_PING = 16,
53 PENDING_TIMEOUT_WS_PONG_CHECK_GET_PONG = 17,
54 PENDING_TIMEOUT_CLIENT_ISSUE_PAYLOAD = 18,
55 PENDING_TIMEOUT_AWAITING_SOCKS_GREETING_REPLY = 19,
56 PENDING_TIMEOUT_AWAITING_SOCKS_CONNECT_REPLY = 20,
57 PENDING_TIMEOUT_AWAITING_SOCKS_AUTH_REPLY = 21,
58 PENDING_TIMEOUT_KILLED_BY_SSL_INFO = 22,
59 PENDING_TIMEOUT_KILLED_BY_PARENT = 23,
60 PENDING_TIMEOUT_CLOSE_SEND = 24,
61 PENDING_TIMEOUT_HOLDING_AH = 25,
62 PENDING_TIMEOUT_UDP_IDLE = 26,
63 PENDING_TIMEOUT_CLIENT_CONN_IDLE = 27,
64 PENDING_TIMEOUT_LAGGING = 28,
65 PENDING_TIMEOUT_THREADPOOL = 29,
66 PENDING_TIMEOUT_THREADPOOL_TASK = 30,
67 PENDING_TIMEOUT_KILLED_BY_PROXY_CLIENT_CLOSE = 31,
68 PENDING_TIMEOUT_USER_OK = 32,
72 PENDING_TIMEOUT_USER_REASON_BASE = 1000
75#define lws_time_in_microseconds lws_now_usecs
77#define LWS_TO_KILL_ASYNC -1
84#define LWS_TO_KILL_SYNC -2
100LWS_VISIBLE LWS_EXTERN
void
101lws_set_timeout(
struct lws *wsi,
enum pending_timeout reason,
int secs);
114lws_set_timeout_us(
struct lws *wsi,
enum pending_timeout reason, lws_usec_t us);
117#define lws_wsi_close(w, to_kill) lws_set_timeout(w, 1, to_kill)
120#define LWS_SET_TIMER_USEC_CANCEL ((lws_usec_t)-1ll)
121#define LWS_USEC_PER_SEC ((lws_usec_t)1000000)
150LWS_VISIBLE LWS_EXTERN
void
151lws_set_timer_usecs(
struct lws *wsi, lws_usec_t usecs);
162} lws_sorted_usec_list_t;
168#define LWS_COUNT_PT_SUL_OWNERS 2
170#define LWSSULLI_MISS_IF_SUSPENDED 0
171#define LWSSULLI_WAKE_IF_SUSPENDED 1
199LWS_VISIBLE LWS_EXTERN
void
200lws_sul2_schedule(
struct lws_context *context,
int tsi,
int flags,
201 lws_sorted_usec_list_t *sul);
211LWS_VISIBLE LWS_EXTERN
void
212lws_sul_cancel(lws_sorted_usec_list_t *sul);
223LWS_VISIBLE LWS_EXTERN
int
224lws_sul_earliest_wakeable_event(
struct lws_context *ctx, lws_usec_t *pearliest);
233LWS_VISIBLE LWS_EXTERN
void
234lws_sul_schedule(
struct lws_context *ctx,
int tsi, lws_sorted_usec_list_t *sul,
235 sul_cb_t _cb, lws_usec_t _us);
236LWS_VISIBLE LWS_EXTERN
void
237lws_sul_schedule_wakesuspend(
struct lws_context *ctx,
int tsi,
238 lws_sorted_usec_list_t *sul, sul_cb_t _cb,
241#if defined(LWS_WITH_SUL_DEBUGGING)
264LWS_VISIBLE LWS_EXTERN
void
265lws_sul_debug_zombies(
struct lws_context *ctx,
void *po,
size_t len,
266 const char *destroy_description);
268#define lws_sul_debug_zombies(_a, _b, _c, _d)
290LWS_VISIBLE LWS_EXTERN
void
291lws_validity_confirmed(
struct lws *wsi);
298LWS_VISIBLE LWS_EXTERN
int
299__lws_sul_insert(lws_dll2_owner_t *own, lws_sorted_usec_list_t *sul);
301LWS_VISIBLE LWS_EXTERN lws_usec_t
302__lws_sul_service_ripe(lws_dll2_owner_t *own,
int own_len, lws_usec_t usnow);
Definition lws-dll2.h:197
Definition lws-timeout-timer.h:157