File

spec/scansion/vcard_temp.scs @ 10973:39991e40d1dc

util.dbuffer: dynamic string buffer Similar to util.ringbuffer (and shares almost identical API). Differences: - size limit is optional and dynamic - does not allocate a fixed buffer of max_size bytes - focus on simply storing references to existing string objects where possible, avoiding unnecessary allocations - references are still stored in a ring buffer to enable use as a fast FIFO Optional second parameter to new() provides the number of ring buffer segments. On Lua 5.2 on my laptop, a segment is ~19 bytes. If the ring buffer fills up, the next write will compact all strings into a single item.
author Matthew Wild <mwild1@gmail.com>
date Fri, 26 Jun 2020 16:41:31 +0100
parent 9524:1f6f3b941eb1
child 12967:53b0730093d8
line wrap: on
line source

# XEP-0054 vCard-temp writable and readable by anyone
# mod_scansion_record on host 'localhost' recording started 2018-10-20T15:00:12Z

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

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

-----

Romeo connects

# Romeo sets his vCard
# FN and N are required by the schema and mod_vcard_legacy will always inject them
Romeo sends:
	<iq id="lx3" type="set">
		<vCard xmlns="vcard-temp">
			<FN>Romeo Montague</FN>
			<N>
				<FAMILY>Montague</FAMILY>
				<GIVEN>Romeo</GIVEN>
				<MIDDLE/>
				<PREFIX/>
				<SUFFIX/>
			</N>
		</vCard>
	</iq>

Romeo receives:
	<iq type="result" id="lx3" to="${Romeo's full JID}"/>

Romeo sends:
	<iq id="lx4" type="get">
		<vCard xmlns="vcard-temp"/>
	</iq>

Romeo receives:
	<iq type="result" id="lx4" to="${Romeo's full JID}">
		<vCard xmlns="vcard-temp">
			<FN>Romeo Montague</FN>
			<N>
				<FAMILY>Montague</FAMILY>
				<GIVEN>Romeo</GIVEN>
				<MIDDLE/>
				<PREFIX/>
				<SUFFIX/>
			</N>
		</vCard>
	</iq>

Romeo disconnects

Juliet connects

Juliet sends:
	<iq type="get" id="lx3" to="romeo@localhost">
		<vCard xmlns="vcard-temp"/>
	</iq>

# Juliet can see Romeo's vCard since it's public
Juliet receives:
	<iq type="result" from="romeo@localhost" id="lx3" to="${Juliet's full JID}">
		<vCard xmlns="vcard-temp">
			<FN>Romeo Montague</FN>
			<N>
				<FAMILY>Montague</FAMILY>
				<GIVEN>Romeo</GIVEN>
				<MIDDLE/>
				<PREFIX/>
				<SUFFIX/>
			</N>
		</vCard>
	</iq>

Juliet disconnects

# recording ended on 2018-10-20T15:02:14Z