aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)Author
2016-09-19Renaming NbAcceptors to NumAcceptorsferigis
2016-09-19Add ipv6_v6only listen optionMarc Worrell
2015-12-18Update to 1.2.11.2.1Loïc Hoguin
2015-12-18Use the default restart intensity in all supervisorsLoïc Hoguin
This reduces from 10 restarts in 10 seconds to 1 restart in 5 seconds. This is the new default in OTP 18, and it fits the kinds of processes that Ranch deals with: * Supervisors: default makes sense. * Acceptors: they crash on socket error. They'll probably crash again if the socket didn't change. * Connection processes: they are never restarted.
2015-12-18Fix node shutdown getting stuckLoïc Hoguin
When SSL is stopped before Ranch, the acceptors crash and Ranch tries to restart them. The problem is that the ranch_ssl:listen/1 call was trying to start the SSL application to make sure it works (an old artifact from when releases were not ubiquitous). Because the application controller is trying to shutdown Ranch, and Ranch tries to tell it to start an application, everything would get stuck. To avoid a breaking change, we move this in the start_listener call (or child_spec). Note that there are still logs when the SSL application is closed, because the acceptors crash. But at least we don't block node shutdown anymore. In Ranch 2.0, we will implement the proper fix which is to simply depend on the SSL application normally. Nowadays, it's not too difficult to build a release that excludes applications we don't want, although we should document that in the Ranch user guide.
2015-11-16Update to 1.2.01.2.0Loïc Hoguin
2015-10-16Update to 1.2.0-rc.11.2.0-rc.1Loïc Hoguin
2015-08-25Add an error message when Transport:listen failsLoïc Hoguin
Should be more user friendly.
2015-08-25Add ranch:get_addr/1Loïc Hoguin
2015-08-22Print a warning when discarding an option on listener startupLoïc Hoguin
2015-08-20Ensure ranch_conns_sup doesn't crash on protocol start crashLoïc Hoguin
2015-08-20Add tests and more docs about separate supervisor/connectionLoïc Hoguin
2015-08-20Supervised and connection process can now be differentLoïc Hoguin
2015-08-20Filter out all unknown options, not just 2-tuple onesLoïc Hoguin
For example 'binary' was making things crash.
2015-08-18Welcome to 2015Loïc Hoguin
2015-08-18Update the list of allowed transport optionsLoïc Hoguin
We are now up to date with regard to transport options we should accept for the listening socket. Documentation of existing options has been updated with regard to recent changes in the OTP docs and type specifications.
2015-08-17Don't pass Ranch-specific options down to transportsLoïc Hoguin
Should fix Dialyzer issues. The options are now also documented in the Ranch module, and there's new ranch:opt(), ranch_tcp:opt() and ranch_ssl:opt() for use in third party code.
2015-03-06Handle Transport:controlling_socket/2 errors and close the socketLoïc Hoguin
2015-03-06Fix start_listener specLoïc Hoguin
2014-11-06Update Ranch to 1.1.01.1.0Loïc Hoguin
2014-11-06Update erlang.mkLoïc Hoguin
2014-11-02support ssl partial_chain featureAndre Graf
2014-09-11Merge branch 'add_transport_secure' of git://github.com/matrixise/ranchLoïc Hoguin
2014-09-11Merge branch 'ssl_closed' of git://github.com/yjh0502/ranchLoïc Hoguin
2014-09-11Don't report error on ssl {error, closed}Jihyun Yu
SSL socket might be closed on accept_ack, it happens quite often and it is not a problem, so don't report error on the case.
2014-09-02Add Transport:secure/0Stéphane Wirtel
Currently Ranch checks if a connection is secure by checking if its name is 'ssl'. This isn't a very modular solution, adding an API function that returns whether a connection is secure.
2014-08-01Update Ranch to 1.0.0Loïc Hoguin
2014-06-10Update Ranch to 0.100.10.0Loïc Hoguin
2014-06-10Update copyright yearsLoïc Hoguin
2014-06-03Merge branch 'fix_inherit' of git://github.com/nevar/ranchLoïc Hoguin
2014-06-03Fix inherit listen options for accepted socketSlava Yurin
Order of options in listen is undocumented but significant. Now user option will replace default value if user set it.
2014-04-30additional ssl option supportRansom Richardson
2014-04-23Ignore some errors that may occur during handshakeLoïc Hoguin
These errors just pollute the logs when garbage is sent to the socket. Exit the process normally to avoid unwanted logs.
2013-12-07Add Transport:shutdown/2Loïc Hoguin
Allows closing the socket in one or two directions.
2013-12-07Get rid of a ton of pointless commentsLoïc Hoguin
All of it can be found in the manual, which defines what the code must do, and is always up to date unlike the code comments.
2013-12-07Add transport options linger, send_timeout, send_timeout_closeLoïc Hoguin
2013-12-07Merge branch 'connect_timeout' of git://github.com/heroku/ranchLoïc Hoguin
2013-12-07Add an error report when a connection process fails to startLoïc Hoguin
Becoming closer to a standard supervisor everyday.
2013-12-07Gracefully shutdown when stop_listener/1 is calledLoïc Hoguin
Implements the `shutdown` option as documented previously.
2013-11-26Add accept_ack on all transports and ack_timeout transport optionLoïc Hoguin
Doing this in the connection process allows us to free acceptors to start accepting more connections quicker, especially under load.
2013-11-25Small fixes to specsLoïc Hoguin
2013-11-14Update Ranch to 0.9.00.9.0Loïc Hoguin
2013-11-14Flush any message acceptors may receive and log themLoïc Hoguin
Inspired by what supervisor does.
2013-11-14Fix a socket leak with SSL when ssl_accept failsLoïc Hoguin
2013-11-07Implements ranch_transport:connect/4.Geoff Cant
Adds a transport connect method that takes a timeout, with implementations for both ssl and tcp connections.
2013-10-20Merge branch 'hibernate_after' of git://github.com/talko/ranchLoïc Hoguin
2013-09-23Add hibernate_after ssl optionRansom Richardson
2013-09-22Use previous ecc workaround for R16B02 as wellKlaus Trainer
The implementation of elliptic-curve ciphers that has been introduced in R16B01 is still incomplete (and broken). This makes our previous workaround (see c0c09a1311) work for R16B02 as well.
2013-08-29Include protocol module in error report when connection failsJames Fish
2013-08-28Don't report error when protocol exits with reason shutdownJames Fish
Exiting with reason `shutdown` or `{shutdown, term()}` is not an error.