Software /
code /
prosody
File
spec/scansion/tombstones.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 | 12116:efcf25ad5406 |
line wrap: on
line source
# Tombstones [Client] Romeo jid: romeo@localhost password: password [Client] Juliet jid: juliet-tombstones@localhost password: password --------- Romeo connects Juliet connects Juliet sends: <iq type="set" id="bye"> <query xmlns="jabber:iq:register"> <remove/> </query> </iq> # Scansion gets disconnected right after this with a stream error makes # scansion itself abort, so we preemptively disconnect to avoid that # Juliet receives: # <iq type="result" id="bye"/> Juliet disconnects Romeo sends: <presence type="probe" to="${Juliet's JID}"/> Romeo receives: <presence type="error" from="${Juliet's JID}"/> Romeo receives: <presence type="unsubscribed" from="${Juliet's JID}"/>