<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ranch.git, branch 0.4.0</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 version to 0.4.0</title>
<updated>2012-08-22T11:17:31+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2012-08-22T11:07:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=de9b6f7a707efd308a6d6535d8296c15ea277308'/>
<id>de9b6f7a707efd308a6d6535d8296c15ea277308</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add initial Ranch guide</title>
<updated>2012-08-22T11:17:24+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2012-08-22T11:07:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=85510e373fa6db2b6faca0ef0e7081cf99dba146'/>
<id>85510e373fa6db2b6faca0ef0e7081cf99dba146</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add the 'ranch_protocol' behaviour</title>
<updated>2012-08-20T11:00:55+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2012-08-20T11:00:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=9cafa5e675065993c117cd94cc903248f5c97991'/>
<id>9cafa5e675065993c117cd94cc903248f5c97991</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add the 'ranch_transport' behaviour</title>
<updated>2012-08-20T10:44:53+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2012-08-20T10:44:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=0d84eda41c460433baa93cd06cb82a3d47cf814c'/>
<id>0d84eda41c460433baa93cd06cb82a3d47cf814c</id>
<content type='text'>
At the same time we make the 'port' option optional, defaulting to 0.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
At the same time we make the 'port' option optional, defaulting to 0.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add tests for {active, once} for both TCP and SSL</title>
<updated>2012-08-15T12:30:14+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2012-08-14T10:29:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=d8981b586223af4bffb813e1e76c172828b0810a'/>
<id>d8981b586223af4bffb813e1e76c172828b0810a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a TCP Echo protocol example</title>
<updated>2012-08-07T12:03:19+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2012-08-07T12:03:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=bfa353f8e75e06363bea565cc50f8de52090ae95'/>
<id>bfa353f8e75e06363bea565cc50f8de52090ae95</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make ranch_sup the owner of the ranch_server ets table</title>
<updated>2012-08-06T12:35:05+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2012-08-06T12:35:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=b186d01367a1a744f6195e071611f97f9cc88f8e'/>
<id>b186d01367a1a744f6195e071611f97f9cc88f8e</id>
<content type='text'>
Should prove itself more robust when things go wrong.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Should prove itself more robust when things go wrong.
</pre>
</div>
</content>
</entry>
<entry>
<title>Check the accept/2 return value for errors</title>
<updated>2012-08-06T12:23:16+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2012-08-06T12:23:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=eabb029895c8345ccedc41ed28a023d0e75c7e0e'/>
<id>eabb029895c8345ccedc41ed28a023d0e75c7e0e</id>
<content type='text'>
Distinguish the errors from transport_accept and ssl_accept
in ranch_ssl. {error, closed} for the first one means the listening
socket got closed; for the second one it means the connection
socket was.

Ignore all errors except when the listening socket got closed,
where we want to crash to allow opening the socket again.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Distinguish the errors from transport_accept and ssl_accept
in ranch_ssl. {error, closed} for the first one means the listening
socket got closed; for the second one it means the connection
socket was.

Ignore all errors except when the listening socket got closed,
where we want to crash to allow opening the socket again.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make accept asynchronous</title>
<updated>2012-08-06T11:39:28+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2012-08-06T11:39:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=6b354c1124035c54b6648665aafbe7197b34bd0e'/>
<id>6b354c1124035c54b6648665aafbe7197b34bd0e</id>
<content type='text'>
Ranch now accepts connection asynchronously through a separate
process. The accept process is linked to the acceptor, calls
accept and does nothing else but send the socket back to the
acceptor. This allows us to receive messages in the acceptor
to handle upgrades instead of polling. This will also allow us
later to make acceptors system processes.

Remove support for connection pools in favor of a simpler
max_connections setting. Connections can be removed from the
count, allowing us to have as many long-lived connections as
we want while still limiting the number of short-lived ones.

Add max_connections, max_connections with long-lived connections,
and upgrade tests.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Ranch now accepts connection asynchronously through a separate
process. The accept process is linked to the acceptor, calls
accept and does nothing else but send the socket back to the
acceptor. This allows us to receive messages in the acceptor
to handle upgrades instead of polling. This will also allow us
later to make acceptors system processes.

Remove support for connection pools in favor of a simpler
max_connections setting. Connections can be removed from the
count, allowing us to have as many long-lived connections as
we want while still limiting the number of short-lived ones.

Add max_connections, max_connections with long-lived connections,
and upgrade tests.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make acceptors query the protocol opts on startup</title>
<updated>2012-07-25T19:26:15+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2012-07-25T09:40:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=7d52280c2e3fcc9e1b89435c98ef96d4758aed7a'/>
<id>7d52280c2e3fcc9e1b89435c98ef96d4758aed7a</id>
<content type='text'>
This way, if a crash happens in one of them after a protocol options
upgrade has occured, the restarted acceptor will get the upgraded
options as expected, and not the initial ones.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This way, if a crash happens in one of them after a protocol options
upgrade has occured, the restarted acceptor will get the upgraded
options as expected, and not the initial ones.
</pre>
</div>
</content>
</entry>
</feed>
