Software /
code /
prosody
File
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 |
line wrap: on
line source
# XEP-0012: Last Activity / mod_lastactivity [Client] Romeo jid: romeo@localhost password: password ----- Romeo connects Romeo sends: <presence> <status>Hello</status> </presence> Romeo receives: <presence from="${Romeo's full JID}"> <status>Hello</status> </presence> Romeo sends: <presence type="unavailable"> <status>Goodbye</status> </presence> Romeo receives: <presence from="${Romeo's full JID}" type="unavailable"> <status>Goodbye</status> </presence> # mod_lastlog saves time + status message from the last unavailable presence Romeo sends: <iq id='a' type='get'> <query xmlns='jabber:iq:last'/> </iq> Romeo receives: <iq type='result' id='a'> <query xmlns='jabber:iq:last' seconds='0'>Goodbye</query> </iq> Romeo disconnects # recording ended on 2020-04-20T14:39:47Z