File

spec/scansion/pubsub_basic.scs @ 9751:39ee70fbb009

mod_mam: Perform message expiry based on building an index by date For each day, store a set of users that have new messages. To expire messages, we collect the union of sets of users from dates that fall outside the cleanup range. The previous algoritm did not work well with many users, especially with the default settings.
author Kim Alvefur <zash@zash.se>
date Thu, 03 Jan 2019 17:25:43 +0100
parent 9291:329a670ae975
child 10515:35bf3b80480f
line wrap: on
line source

# Pubsub: Basic support

[Client] Romeo
	jid: admin@localhost
	password: password

// admin@localhost is assumed to have node creation privileges

[Client] Juliet
	jid: juliet@localhost
	password: password

---------

Romeo connects

Romeo sends:
	<iq type="set" to="pubsub.localhost" id='create1'>
		<pubsub xmlns="http://jabber.org/protocol/pubsub">
			<create node="princely_musings"/>
		</pubsub>
	</iq>

Romeo receives:
	<iq type="result" id='create1'/>

Juliet connects

-- Juliet sends:
-- 	<iq type="set" to="pubsub.localhost">
-- 		<pubsub xmlns="http://jabber.org/protocol/pubsub">
-- 			<subscribe node="princely_musings" jid="${Romeo's full JID}"/>
-- 		</pubsub>
-- 	</iq>
-- 
-- Juliet receives:
-- 	<iq type="error"/>

Juliet sends:
	<iq type="set" to="pubsub.localhost" id='sub1'>
		<pubsub xmlns="http://jabber.org/protocol/pubsub">
			<subscribe node="princely_musings" jid="${Juliet's full JID}"/>
		</pubsub>
	</iq>

Juliet receives:
	<iq type="result" id='sub1'/>

Romeo sends:
	<iq type="set" to="pubsub.localhost" id='pub1'>
		<pubsub xmlns="http://jabber.org/protocol/pubsub">
			<publish node="princely_musings">
				<item id="current">
					<entry xmlns="http://www.w3.org/2005/Atom">
						<title>Soliloquy</title>
						<summary>Lorem ipsum dolor sit amet</summary>
					</entry>
				</item>
			</publish>
		</pubsub>
	</iq>

Romeo receives:
	<iq type="result" id='pub1'/>

Juliet receives:
	<message type="headline" from="pubsub.localhost">
		<event xmlns="http://jabber.org/protocol/pubsub#event">
			<items node="princely_musings">
				<item id="current">
					<entry xmlns="http://www.w3.org/2005/Atom">
						<title>Soliloquy</title>
						<summary>Lorem ipsum dolor sit amet</summary>
					</entry>
				</item>
			</items>
		</event>
	</message>

Juliet sends:
	<iq type="set" to="pubsub.localhost" id='unsub1'>
		<pubsub xmlns="http://jabber.org/protocol/pubsub">
			<unsubscribe node="princely_musings" jid="${Juliet's full JID}"/>
		</pubsub>
	</iq>

Juliet receives:
	<iq type="result" id='unsub1'/>

Juliet disconnects

Romeo sends:
	<iq type="set" to="pubsub.localhost" id='del1'>
		<pubsub xmlns="http://jabber.org/protocol/pubsub#owner">
			<delete node="princely_musings"/>
		</pubsub>
	</iq>

Romeo receives:
	<iq type="result" id='del1'/>

Romeo disconnects

// vim: syntax=xml: