Software /
code /
prosody
Annotate
teal-src/util/poll.d.tl @ 12515:76c1725f4467
net.server_epoll: Add option to defer accept() until data available
This is a Linux(?) socket option that delays the accept signal until
there is data available to read. E.g. with HTTP this might mean that a
whole request can be handled without going back trough another turn of
the main loop, and an initial client <stream> can be responded to.
This may have effects on latency and resource use, as the server does
not need to allocate resources until really needed.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 15 May 2022 22:41:17 +0200 |
parent | 12316:6bb2f660f689 |
rev | line source |
---|---|
11432
113f3912c7cb
util: Add Teal interface definition files
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 local record state |
113f3912c7cb
util: Add Teal interface definition files
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 enum waiterr |
113f3912c7cb
util: Add Teal interface definition files
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 "timeout" |
113f3912c7cb
util: Add Teal interface definition files
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 "signal" |
113f3912c7cb
util: Add Teal interface definition files
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 end |
11459
86904555bffc
teal: Use new integer support in Teal 0.13.0
Kim Alvefur <zash@zash.se>
parents:
11432
diff
changeset
|
6 add : function (state, integer, boolean, boolean) : boolean |
86904555bffc
teal: Use new integer support in Teal 0.13.0
Kim Alvefur <zash@zash.se>
parents:
11432
diff
changeset
|
7 add : function (state, integer, boolean, boolean) : nil, string, integer |
86904555bffc
teal: Use new integer support in Teal 0.13.0
Kim Alvefur <zash@zash.se>
parents:
11432
diff
changeset
|
8 set : function (state, integer, boolean, boolean) : boolean |
86904555bffc
teal: Use new integer support in Teal 0.13.0
Kim Alvefur <zash@zash.se>
parents:
11432
diff
changeset
|
9 set : function (state, integer, boolean, boolean) : nil, string, integer |
86904555bffc
teal: Use new integer support in Teal 0.13.0
Kim Alvefur <zash@zash.se>
parents:
11432
diff
changeset
|
10 del : function (state, integer) : boolean |
86904555bffc
teal: Use new integer support in Teal 0.13.0
Kim Alvefur <zash@zash.se>
parents:
11432
diff
changeset
|
11 del : function (state, integer) : nil, string, integer |
86904555bffc
teal: Use new integer support in Teal 0.13.0
Kim Alvefur <zash@zash.se>
parents:
11432
diff
changeset
|
12 wait : function (state, integer) : integer, boolean, boolean |
86904555bffc
teal: Use new integer support in Teal 0.13.0
Kim Alvefur <zash@zash.se>
parents:
11432
diff
changeset
|
13 wait : function (state, integer) : nil, string, integer |
86904555bffc
teal: Use new integer support in Teal 0.13.0
Kim Alvefur <zash@zash.se>
parents:
11432
diff
changeset
|
14 wait : function (state, integer) : nil, waiterr |
86904555bffc
teal: Use new integer support in Teal 0.13.0
Kim Alvefur <zash@zash.se>
parents:
11432
diff
changeset
|
15 getfd : function (state) : integer |
11432
113f3912c7cb
util: Add Teal interface definition files
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 end |
113f3912c7cb
util: Add Teal interface definition files
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 |
113f3912c7cb
util: Add Teal interface definition files
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 local record lib |
113f3912c7cb
util: Add Teal interface definition files
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 new : function () : state |
12316
6bb2f660f689
util.poll: Add support for the poll() API
Kim Alvefur <zash@zash.se>
parents:
12315
diff
changeset
|
20 EEXIST : integer |
6bb2f660f689
util.poll: Add support for the poll() API
Kim Alvefur <zash@zash.se>
parents:
12315
diff
changeset
|
21 EMFILE : integer |
11459
86904555bffc
teal: Use new integer support in Teal 0.13.0
Kim Alvefur <zash@zash.se>
parents:
11432
diff
changeset
|
22 ENOENT : integer |
12315
cf2086a1bd45
util.poll: Expose API (epoll or select) used
Kim Alvefur <zash@zash.se>
parents:
11459
diff
changeset
|
23 enum api_backend |
cf2086a1bd45
util.poll: Expose API (epoll or select) used
Kim Alvefur <zash@zash.se>
parents:
11459
diff
changeset
|
24 "epoll" |
12316
6bb2f660f689
util.poll: Add support for the poll() API
Kim Alvefur <zash@zash.se>
parents:
12315
diff
changeset
|
25 "poll" |
12315
cf2086a1bd45
util.poll: Expose API (epoll or select) used
Kim Alvefur <zash@zash.se>
parents:
11459
diff
changeset
|
26 "select" |
cf2086a1bd45
util.poll: Expose API (epoll or select) used
Kim Alvefur <zash@zash.se>
parents:
11459
diff
changeset
|
27 end |
cf2086a1bd45
util.poll: Expose API (epoll or select) used
Kim Alvefur <zash@zash.se>
parents:
11459
diff
changeset
|
28 api : api_backend |
11432
113f3912c7cb
util: Add Teal interface definition files
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
29 end |
113f3912c7cb
util: Add Teal interface definition files
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
30 |
113f3912c7cb
util: Add Teal interface definition files
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
31 return lib |