aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2012-08-06Make ranch_sup the owner of the ranch_server ets tableLoïc Hoguin
Should prove itself more robust when things go wrong.
2012-08-06Check the accept/2 return value for errorsLoïc Hoguin
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.
2012-08-06Make accept asynchronousLoïc Hoguin
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.
2012-07-25Make acceptors query the protocol opts on startupLoïc Hoguin
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.
2012-07-25Register acceptors through ranch_serverLoïc Hoguin
2012-07-25Introduce the ranch_server registry, make it handle listenersLoïc Hoguin
2012-07-22Add an SSL testLoïc Hoguin
2012-07-22Add support for listening on random port numbers (port 0)Loïc Hoguin
ranch:get_port/1 returns the given listener's port.
2012-06-04Add Transport:connect/3 and remove types unneeded by R15B+0.2.1Loïc Hoguin
Also use one export per line to improve future diffs. Bump the version to 0.2.1 to reflect this change.
2012-04-14Update version to 0.2.00.2.0Loïc Hoguin
2012-04-14Import the acceptor code from CowboyLoïc Hoguin
Modules were renamed. The 'cowboy_' prefix became 'ranch_'. At the same time, ranch_ssl_transport became ranch_ssl, and ranch_tcp_transport became ranch_tcp, because appending '_transport' felt a bit redundant considering SSL and TCP clearly are transports. One test has been added to make sure everything is working.
2012-04-12Initial commit.Loïc Hoguin