File

doc/stanza.txt @ 11103:73b8aaf55775 0.11

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 55:4edb942e9dff
line wrap: on
line source


Structure of a stanza:


stanza {
	--- properties ---
	tags -- array of tags
	
	--- static methods ---
	iq(attrs) -- 
	
	--- read-only methods ---
	reply -- return new stanza with attributes of current stanza
	child_with_name(string name) -- return the first child of the current tag with the matching name
	
	--- write methods ---
	tag(name, sttrs) -- create a new child of the current tag, and set the child as current
	up() -- move to the parent of the current tag
	text(string) -- append a new text node to the current tag
}