<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/diameter/include, branch OTP-20.2.4</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>Redo message decode as a single pass</title>
<updated>2017-08-03T15:17:37+00:00</updated>
<author>
<name>Anders Svensson</name>
<email>anders@erlang.org</email>
</author>
<published>2017-07-24T23:27:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=b3d9e0c09ff9d8f963b6084a84ab120cd423a9ae'/>
<id>b3d9e0c09ff9d8f963b6084a84ab120cd423a9ae</id>
<content type='text'>
Decode has previously been two passes: first chunk the message into a
reversed list of toplevel diameter_avp records, then fold through the
reversed list to build the full result. Various workarounds have made it
a bit more convoluted than it should be however. Rework it completely,
turning the previous 2-pass tail-recursive implementation into a 1-pass
body recursive one.

The relay decode still exists in diameter_codec, as a stripped down
version of the full decode in diameter_gen.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Decode has previously been two passes: first chunk the message into a
reversed list of toplevel diameter_avp records, then fold through the
reversed list to build the full result. Various workarounds have made it
a bit more convoluted than it should be however. Rework it completely,
turning the previous 2-pass tail-recursive implementation into a 1-pass
body recursive one.

The relay decode still exists in diameter_codec, as a stripped down
version of the full decode in diameter_gen.
</pre>
</div>
</content>
</entry>
<entry>
<title>Move (most of) diameter_gen.hrl to diameter_gen.erl</title>
<updated>2017-06-13T11:50:07+00:00</updated>
<author>
<name>Anders Svensson</name>
<email>anders@erlang.org</email>
</author>
<published>2017-06-11T11:59:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=205521d3927ed6f53c9a6fa3095f8a879bdca929'/>
<id>205521d3927ed6f53c9a6fa3095f8a879bdca929</id>
<content type='text'>
To remove the requirement that dictionary modules be recompiled whenever
the encode/decode implementation changes. The included diameter_gen.hrl
now only contains trivial functions that call info diameter_gen.erl.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To remove the requirement that dictionary modules be recompiled whenever
the encode/decode implementation changes. The included diameter_gen.hrl
now only contains trivial functions that call info diameter_gen.erl.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add diameter_codec option ordered_encode</title>
<updated>2017-06-13T11:50:07+00:00</updated>
<author>
<name>Anders Svensson</name>
<email>anders@erlang.org</email>
</author>
<published>2017-04-30T08:30:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=84dbccad048374e3eb1ec7372fd177eba022d108'/>
<id>84dbccad048374e3eb1ec7372fd177eba022d108</id>
<content type='text'>
To allow list-valued messaged to be encoded in the specified order,
instead of in the dictionary order by first converting the list to a
record. This is not yet exposed in configuration.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To allow list-valued messaged to be encoded in the specified order,
instead of in the dictionary order by first converting the list to a
record. This is not yet exposed in configuration.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove use of process dictionary in decode</title>
<updated>2017-06-13T11:50:06+00:00</updated>
<author>
<name>Anders Svensson</name>
<email>anders@erlang.org</email>
</author>
<published>2017-04-24T22:09:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=d56888b318baf62cdaf9d6e9f875f9656e420e4f'/>
<id>d56888b318baf62cdaf9d6e9f875f9656e420e4f</id>
<content type='text'>
By passing additional arguments through it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
By passing additional arguments through it.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix maximum AVP arity check</title>
<updated>2017-06-12T14:13:52+00:00</updated>
<author>
<name>Anders Svensson</name>
<email>anders@erlang.org</email>
</author>
<published>2017-04-23T07:39:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=6838d0a8988eb7264641eb68bb7d7a79ff7bfbbb'/>
<id>6838d0a8988eb7264641eb68bb7d7a79ff7bfbbb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use avp_arity/1 when creating a zero group</title>
<updated>2017-06-12T14:13:52+00:00</updated>
<author>
<name>Anders Svensson</name>
<email>anders@erlang.org</email>
</author>
<published>2017-04-22T21:57:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=7aec6ad7e56a377bf84fe833dfde43f52263224a'/>
<id>7aec6ad7e56a377bf84fe833dfde43f52263224a</id>
<content type='text'>
Converting with list_to_binary/1 appears to be faster than the
equivalent binary comprehension:

  &lt;&lt; (z(F,A)) || {F,A} &lt;- avp_arity(Name) &gt;&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Converting with list_to_binary/1 appears to be faster than the
equivalent binary comprehension:

  &lt;&lt; (z(F,A)) || {F,A} &lt;- avp_arity(Name) &gt;&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Use avp_arity/1 when detecting missing AVPs</title>
<updated>2017-06-12T14:13:52+00:00</updated>
<author>
<name>Anders Svensson</name>
<email>anders@erlang.org</email>
</author>
<published>2017-04-22T10:43:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=6e753c9861effb4ae820d7b1ad20fdb66dca34f6'/>
<id>6e753c9861effb4ae820d7b1ad20fdb66dca34f6</id>
<content type='text'>
Recursing over the entire list of arities and values is faster than
retrieving them one at a time.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Recursing over the entire list of arities and values is faster than
retrieving them one at a time.
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't prepend bit for sub binary optimization</title>
<updated>2017-06-12T14:13:52+00:00</updated>
<author>
<name>Anders Svensson</name>
<email>anders@erlang.org</email>
</author>
<published>2017-04-22T06:46:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=2ae059913dc332e5655f44d1b2292342cb470fc1'/>
<id>2ae059913dc332e5655f44d1b2292342cb470fc1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove upgrade-related code</title>
<updated>2017-06-12T14:13:52+00:00</updated>
<author>
<name>Anders Svensson</name>
<email>anders@erlang.org</email>
</author>
<published>2017-04-21T22:29:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=c83d5ac4d4df41924b52cb577c255cd0c23f36ed'/>
<id>c83d5ac4d4df41924b52cb577c255cd0c23f36ed</id>
<content type='text'>
This and subsequent commits are destined for OTP 20.0.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This and subsequent commits are destined for OTP 20.0.
</pre>
</div>
</content>
</entry>
<entry>
<title>Simplify value setting at decode</title>
<updated>2017-06-12T14:13:52+00:00</updated>
<author>
<name>Anders Svensson</name>
<email>anders@erlang.org</email>
</author>
<published>2017-04-21T13:41:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=d6b15a127ec9263bd9ec8571ec577f4e7e304182'/>
<id>d6b15a127ec9263bd9ec8571ec577f4e7e304182</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
