Annotate

spec/scansion/uptime.scs @ 11661:735b8f4a6d7e

net.http: Send entire HTTP request header as one write When opportunistic writes are enabled this reduces the number of syscalls and TCP packets sent on the wire. Experiments with TCP Fast Open made this even more obvious. That table trick probably wasn't as efficient. Lua generates bytecode for a table with zero array slots and space for two entries in the hash part, plus code to set [2] and [4]. I didn't verify but I suspect it would have had to resize the table when setting [1] and [3], although probably only once. Concatenating the strings directly in Lua is easier to read and involves no extra table or function call.
author Kim Alvefur <zash@zash.se>
date Thu, 08 Jul 2021 18:21:59 +0200
parent 10731:8e2f9d0fa72d
child 13405:c8f3cfe59e90
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10731
8e2f9d0fa72d mod_uptime: Add scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 # XEP-0012: Last Activity / mod_uptime
8e2f9d0fa72d mod_uptime: Add scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2
8e2f9d0fa72d mod_uptime: Add scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 [Client] Romeo
8e2f9d0fa72d mod_uptime: Add scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4 jid: romeo@localhost
8e2f9d0fa72d mod_uptime: Add scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 password: password
8e2f9d0fa72d mod_uptime: Add scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6
8e2f9d0fa72d mod_uptime: Add scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 -----
8e2f9d0fa72d mod_uptime: Add scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8
8e2f9d0fa72d mod_uptime: Add scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 Romeo connects
8e2f9d0fa72d mod_uptime: Add scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10
8e2f9d0fa72d mod_uptime: Add scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 Romeo sends:
8e2f9d0fa72d mod_uptime: Add scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 <iq id='a' type='get' to='localhost'>
8e2f9d0fa72d mod_uptime: Add scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 <query xmlns='jabber:iq:last'/>
8e2f9d0fa72d mod_uptime: Add scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14 </iq>
8e2f9d0fa72d mod_uptime: Add scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15
8e2f9d0fa72d mod_uptime: Add scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16 Romeo receives:
8e2f9d0fa72d mod_uptime: Add scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17 <iq type='result' id='a' from='localhost'>
8e2f9d0fa72d mod_uptime: Add scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff changeset
18 <query xmlns='jabber:iq:last' seconds='0'/>
8e2f9d0fa72d mod_uptime: Add scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19 </iq>
8e2f9d0fa72d mod_uptime: Add scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff changeset
20
8e2f9d0fa72d mod_uptime: Add scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff changeset
21 Romeo disconnects