Software /
code /
prosody
File
spec/scansion/lastactivity.scs @ 12795:87424cbedc55
util.hashring: Support associating arbitrary data with nodes
In this API, a 'node' is always a simple text string. Sometimes the caller may
have a more complex structure representing a node, but the hash ring is really
only concerned with the node's name.
This API change allows :add_nodes() to take a table of `node_name = value`
pairs, as well as the simple array of node names previously accepted.
The 'value' of the selected node is returned as a new second result from
:get_node().
If no value is passed when a node is added, it defaults to `true` (as before,
but this was never previously exposed).
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Fri, 02 Dec 2022 20:32:36 +0000 |
parent | 10732:f5d88ad24b30 |
child | 13405:c8f3cfe59e90 |
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