<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://hg.omfa.de/prosody-hg/</link>
    <language>en-us</language>

    <title>prosody-hg: util/dbuffer.lua history</title>
    <description>util/dbuffer.lua revision history</description>
    <item>
    <title>util: Prefix module imports with prosody namespace</title>
    <link>http://hg.omfa.de/prosody-hg/log/d10957394a3c/util/dbuffer.lua</link>
    <description><![CDATA[util: Prefix module imports with prosody namespace]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 17 Mar 2023 16:23:16 +0100</pubDate>
</item>
<item>
    <title>util.dbuffer: Add efficient shortcuts for discard() in certain cases</title>
    <link>http://hg.omfa.de/prosody-hg/log/d26eefe98d09/util/dbuffer.lua</link>
    <description><![CDATA[util.dbuffer: Add efficient shortcuts for discard() in certain cases<br/>
<br/>
If the buffer is already empty, nothing to do. If we're throwing away the<br/>
whole buffer, we can just empty it and avoid read_chunk() (which in turn<br/>
may collapse()). These shortcuts are much more efficient.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 11 Oct 2022 11:37:55 +0100</pubDate>
</item>
<item>
    <title>util.dbuffer: Remove redundant code (read_chunk() cannot fail at this point)</title>
    <link>http://hg.omfa.de/prosody-hg/log/79b89f382290/util/dbuffer.lua</link>
    <description><![CDATA[util.dbuffer: Remove redundant code (read_chunk() cannot fail at this point)]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 11 Oct 2022 11:34:47 +0100</pubDate>
</item>
<item>
    <title>util.dbuffer: Fix bugs, remove multi-char support (more complex than first thought)</title>
    <link>http://hg.omfa.de/prosody-hg/log/19cddf92fcc2/util/dbuffer.lua</link>
    <description><![CDATA[util.dbuffer: Fix bugs, remove multi-char support (more complex than first thought)<br/>
<br/>
Character sequences could be split across chunk boundaries. Would require a bunch<br/>
of code to make that work reliably.<br/>
<br/>
Only apply front_consumed on first chunk, and adjust buffer_pos accordingly.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 29 Jun 2021 14:25:57 +0100</pubDate>
</item>
<item>
    <title>util.dbuffer: Add read_until() method</title>
    <link>http://hg.omfa.de/prosody-hg/log/11e0a0a08da3/util/dbuffer.lua</link>
    <description><![CDATA[util.dbuffer: Add read_until() method]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 29 Jun 2021 13:48:14 +0100</pubDate>
</item>
<item>
    <title>util.dbuffer: Add __name to metatable</title>
    <link>http://hg.omfa.de/prosody-hg/log/f243836c449a/util/dbuffer.lua</link>
    <description><![CDATA[util.dbuffer: Add __name to metatable]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 30 Oct 2020 13:53:39 +0000</pubDate>
</item>
<item>
    <title>Merge 0.11-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/88ce53df44a9/util/dbuffer.lua</link>
    <description><![CDATA[Merge 0.11-&gt;trunk]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 28 Oct 2020 14:32:33 +0000</pubDate>
</item>
<item>
    <title>util.dbuffer: Optimize :sub() and :byte()</title>
    <link>http://hg.omfa.de/prosody-hg/log/0ff148362a3d/util/dbuffer.lua</link>
    <description><![CDATA[util.dbuffer: Optimize :sub() and :byte()]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 28 Oct 2020 14:21:09 +0000</pubDate>
</item>
<item>
    <title>Merge 0.11-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/3a72cb126d6c/util/dbuffer.lua</link>
    <description><![CDATA[Merge 0.11-&gt;trunk]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 12 Oct 2020 21:29:20 +0200</pubDate>
</item>
<item>
    <title>util.dbuffer: Expose length as :len() method, like strings</title>
    <link>http://hg.omfa.de/prosody-hg/log/a8ef69f7fc35/util/dbuffer.lua</link>
    <description><![CDATA[util.dbuffer: Expose length as :len() method, like strings<br/>
<br/>
Ref #1598]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 12 Oct 2020 20:20:02 +0200</pubDate>
</item>
<item>
    <title>Merge 0.11-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/6a608ecb3471/util/dbuffer.lua</link>
    <description><![CDATA[Merge 0.11-&gt;trunk]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 29 Sep 2020 15:30:48 +0100</pubDate>
</item>
<item>
    <title>util.dbuffer: Fix :sub() not working with partially-consumed chunks (thanks Zash for test case)</title>
    <link>http://hg.omfa.de/prosody-hg/log/6632acc96cf6/util/dbuffer.lua</link>
    <description><![CDATA[util.dbuffer: Fix :sub() not working with partially-consumed chunks (thanks Zash for test case)<br/>
<br/>
This also appears to fix some bugs with chunk-encoded streams in net.http.parser.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Mon, 24 Aug 2020 16:18:13 +0100</pubDate>
</item>
<item>
    <title>util.dbuffer: Fix :sub() not working with partially-consumed chunks (thanks Zash for test case)</title>
    <link>http://hg.omfa.de/prosody-hg/log/8c6bace13229/util/dbuffer.lua</link>
    <description><![CDATA[util.dbuffer: Fix :sub() not working with partially-consumed chunks (thanks Zash for test case)<br/>
<br/>
This also appears to fix some bugs with chunk-encoded streams in net.http.parser.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Mon, 24 Aug 2020 16:18:13 +0100</pubDate>
</item>
<item>
    <title>util.dbuffer: Fix traceback when :collapse() is called on empty buffer</title>
    <link>http://hg.omfa.de/prosody-hg/log/d7a403060946/util/dbuffer.lua</link>
    <description><![CDATA[util.dbuffer: Fix traceback when :collapse() is called on empty buffer]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 20 Aug 2020 15:22:19 +0100</pubDate>
</item>
<item>
    <title>util.dbuffer: If no bytes parameter passed to read, return remainder of frontmost chunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/eaee72c7afbd/util/dbuffer.lua</link>
    <description><![CDATA[util.dbuffer: If no bytes parameter passed to read, return remainder of frontmost chunk]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Mon, 29 Jun 2020 12:51:28 +0100</pubDate>
</item>
<item>
    <title>util.dbuffer: dynamic string buffer</title>
    <link>http://hg.omfa.de/prosody-hg/log/39991e40d1dc/util/dbuffer.lua</link>
    <description><![CDATA[util.dbuffer: dynamic string buffer<br/>
<br/>
Similar to util.ringbuffer (and shares almost identical API). Differences:<br/>
<br/>
- size limit is optional and dynamic<br/>
- does not allocate a fixed buffer of max_size bytes<br/>
- focus on simply storing references to existing string objects where possible,<br/>
  avoiding unnecessary allocations<br/>
- references are still stored in a ring buffer to enable use as a fast FIFO<br/>
<br/>
Optional second parameter to new() provides the number of ring buffer segments. On<br/>
Lua 5.2 on my laptop, a segment is ~19 bytes. If the ring buffer fills up, the next<br/>
write will compact all strings into a single item.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 26 Jun 2020 16:41:31 +0100</pubDate>
</item>

  </channel>
</rss>
