<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ranch.git/src, branch 0.6.1</title>
<subtitle>Socket acceptor pool for TCP protocols.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/'/>
<entry>
<title>Update Ranch to 0.6.1</title>
<updated>2013-01-17T18:30:09+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2013-01-17T18:30:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=d635aece25ae0d6489d2c3c074cfb6363d92fc61'/>
<id>d635aece25ae0d6489d2c3c074cfb6363d92fc61</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'optimise-conn-count' of https://github.com/ferd/ranch</title>
<updated>2013-01-15T16:49:30+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2013-01-15T16:49:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=0a101a324da969e51395d21e2782095a433b2084'/>
<id>0a101a324da969e51395d21e2782095a433b2084</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Ignore tracking of requests when MaxConn = infinity</title>
<updated>2013-01-15T16:45:50+00:00</updated>
<author>
<name>Fred Hebert</name>
<email>mononcqc@ferd.ca</email>
</author>
<published>2013-01-11T15:31:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=662d94a531178af005f06b0bfb4a8660b0fa023f'/>
<id>662d94a531178af005f06b0bfb4a8660b0fa023f</id>
<content type='text'>
There is no need to contact the server and track requests unless being
asked to do so by the user. It's going to be faster and more efficient
to not track anything when being told tracking doesn't matter.

Whenever the max connections is set to infinity, the connections
counting key is not created, or is deleted if it existed already.
When using a numeric value, the connection count is created or
maintained if it existed already.

Moreover, trying to reduce a listener's counter while the max connection
number is set to `infinity` will return 0 and avoid all counting
operations as they are meaningless.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There is no need to contact the server and track requests unless being
asked to do so by the user. It's going to be faster and more efficient
to not track anything when being told tracking doesn't matter.

Whenever the max connections is set to infinity, the connections
counting key is not created, or is deleted if it existed already.
When using a numeric value, the connection count is created or
maintained if it existed already.

Moreover, trying to reduce a listener's counter while the max connection
number is set to `infinity` will return 0 and avoid all counting
operations as they are meaningless.
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow raw socket options for TCP and SSL</title>
<updated>2013-01-15T16:34:52+00:00</updated>
<author>
<name>Fred Hebert</name>
<email>mononcqc@ferd.ca</email>
</author>
<published>2013-01-09T19:39:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=c7bf6d2e4d4ae559ffd1ca429cbe605f710e7f0c'/>
<id>c7bf6d2e4d4ae559ffd1ca429cbe605f710e7f0c</id>
<content type='text'>
This patch lets the user set and use raw socket options as described in
inet:setopts/2 documentation.

The raw options can be useful to use TCP features that are platform-
specific and not supported in inet in general, such as TCP_DEFER_ACCEPT
or TCP_LINGER2 in linux stacks, for example.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch lets the user set and use raw socket options as described in
inet:setopts/2 documentation.

The raw options can be useful to use TCP features that are platform-
specific and not supported in inet in general, such as TCP_DEFER_ACCEPT
or TCP_LINGER2 in linux stacks, for example.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update version to 0.6.0</title>
<updated>2012-12-24T21:50:24+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2012-12-24T21:50:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=9fd9294a13375a56c42b4b77225bbe317ecf0b4d'/>
<id>9fd9294a13375a56c42b4b77225bbe317ecf0b4d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve max_connections type</title>
<updated>2012-12-24T15:16:00+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2012-12-24T15:16:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=201a0cb5e421e24ffcce0d6315b2190d103bcb06'/>
<id>201a0cb5e421e24ffcce0d6315b2190d103bcb06</id>
<content type='text'>
It is non_neg_integer() | infinity. Introduce the type
`ranch:max_conns/0` for easier manipulation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is non_neg_integer() | infinity. Introduce the type
`ranch:max_conns/0` for easier manipulation.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add ranch:set_max_connections/2 and get_max_connections/1</title>
<updated>2012-12-24T15:09:40+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2012-12-24T15:09:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=9993923c40b96ab07752ec36692dc09c4c7648e9'/>
<id>9993923c40b96ab07752ec36692dc09c4c7648e9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Ensure transport module is loaded before checking exports</title>
<updated>2012-12-21T12:18:47+00:00</updated>
<author>
<name>Andrew Majorov</name>
<email>encube.ul@gmail.com</email>
</author>
<published>2012-12-20T20:52:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=0b270b2e9cc05ad5fb5c42802c61ccf520860b7b'/>
<id>0b270b2e9cc05ad5fb5c42802c61ccf520860b7b</id>
<content type='text'>
Tests were constantly failing without this patch. It seems ct
starts erlang code server in interactive mode, so application
module loading is defered.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Tests were constantly failing without this patch. It seems ct
starts erlang code server in interactive mode, so application
module loading is defered.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix for cases when listener dies before acceptors</title>
<updated>2012-12-21T12:18:15+00:00</updated>
<author>
<name>Andrew Majorov</name>
<email>encube.ul@gmail.com</email>
</author>
<published>2012-11-01T15:49:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=0dd0f5149daaea84ec858a40a5673c04202f64fd'/>
<id>0dd0f5149daaea84ec858a40a5673c04202f64fd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make listener supervisor failures less painful</title>
<updated>2012-12-20T20:05:12+00:00</updated>
<author>
<name>Andrew Majorov</name>
<email>encube.ul@gmail.com</email>
</author>
<published>2012-11-01T12:50:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=8dad1451dd6e41f30741ac7554da238aa63c163a'/>
<id>8dad1451dd6e41f30741ac7554da238aa63c163a</id>
<content type='text'>
Two general issues were addressed. The first one is the issue with
statically defined pids passed into childspecs. This issue prevents
regular supervisor' children restarts in the case of someone's
failure.

The second one is the not quite appropriate restart strategy.
Changed to rest_for_one which in pair with previous fixes assures
that live connections will not die in the case of partial failure.
Among possible failures are listening socket shutdown or frequent
accept errors.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Two general issues were addressed. The first one is the issue with
statically defined pids passed into childspecs. This issue prevents
regular supervisor' children restarts in the case of someone's
failure.

The second one is the not quite appropriate restart strategy.
Changed to rest_for_one which in pair with previous fixes assures
that live connections will not die in the case of partial failure.
Among possible failures are listening socket shutdown or frequent
accept errors.
</pre>
</div>
</content>
</entry>
</feed>
