File

spec/scansion/pep_pubsub_max.scs @ 11972:520ce76440ad

net.server_epoll: Prevent loop attempting to send last data after close If the connection is closed by the peer, any buffered data is given a last chance to be sent (see f27b9319e0da). If the connection is Really closed, no attempt to write will occur, instead epoll will raise the error flag and :onreadable() will be invoked again, where it will try to :close() again for the same reason, thus looping until the connection somehow gets destroyed. By clearing the _connected flag, the second time it passes :onreadable() it should go directly to :destroy(), breaking the loop. Thanks Link Mauve for reporting
author Kim Alvefur <zash@zash.se>
date Tue, 30 Nov 2021 18:19:40 +0100
parent 11631:6641ca266d94
line wrap: on
line source

# PEP max_items=max

[Client] Romeo
	jid: pep-test-maxitems@localhost
	password: password

-----

Romeo connects

Romeo sends:
	<iq type="set" id="pub">
		<pubsub xmlns="http://jabber.org/protocol/pubsub">
			<publish node="urn:xmpp:microblog:0">
				<item>
					<entry xmlns='http://www.w3.org/2005/Atom'>
						<title>Hello</title>
					</entry>
				</item>
			</publish>
			<publish-options>
				<x xmlns="jabber:x:data" type="submit">
					<field type="hidden" var="FORM_TYPE">
						<value>http://jabber.org/protocol/pubsub#publish-options</value>
					</field>
					<field var="pubsub#persist_items">
						<value>true</value>
					</field>
					<field var="pubsub#access_model">
						<value>open</value>
					</field>
					<field var="pubsub#max_items">
						<value>max</value>
					</field>
				</x>
			</publish-options>
		</pubsub>
	</iq>

Romeo receives:
	<iq type="result" id="pub">
		<pubsub xmlns="http://jabber.org/protocol/pubsub">
			<publish node="urn:xmpp:microblog:0">
				<item id="{scansion:any}"/>
			</publish>
		</pubsub>
	</iq>