Software /
code /
prosody
Annotate
spec/scansion/lastactivity.scs @ 13134:638f627e707f
util.datamanager: Add O(1) list indexing with on-disk index
Index file contains offsets and lengths of each item() which allows
seeking directly to each item and reading it without parsing the entire
file.
Also allows tricks like binary search, assuming items have some defined
order.
We take advantage of the 1-based indexing in tables to store a magic
header in the 0 position, so that table index 1 ends up at file index 1.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 11 May 2021 02:09:56 +0200 |
parent | 10732:f5d88ad24b30 |
rev | line source |
---|---|
10732
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 # XEP-0012: Last Activity / mod_lastactivity |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 [Client] Romeo |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 jid: romeo@localhost |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 password: password |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 ----- |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 Romeo connects |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 Romeo sends: |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 <presence> |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 <status>Hello</status> |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 </presence> |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 Romeo receives: |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 <presence from="${Romeo's full JID}"> |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 <status>Hello</status> |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 </presence> |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 Romeo sends: |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
22 <presence type="unavailable"> |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
23 <status>Goodbye</status> |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
24 </presence> |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
25 |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
26 Romeo receives: |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
27 <presence from="${Romeo's full JID}" type="unavailable"> |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
28 <status>Goodbye</status> |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
29 </presence> |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
30 |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
31 # mod_lastlog saves time + status message from the last unavailable presence |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
32 |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
33 Romeo sends: |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
34 <iq id='a' type='get'> |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
35 <query xmlns='jabber:iq:last'/> |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
36 </iq> |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
37 |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
38 Romeo receives: |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
39 <iq type='result' id='a'> |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
40 <query xmlns='jabber:iq:last' seconds='0'>Goodbye</query> |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
41 </iq> |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
42 |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
43 Romeo disconnects |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
44 |
f5d88ad24b30
mod_lastactivity: Add basic scansion test coverage
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
45 # recording ended on 2020-04-20T14:39:47Z |