aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2019-10-17Use a map instead of pdict to keep pid active/removed stateno-pdictLoïc Hoguin
The performance seems to be equal as far as Cowboy is concerned, with a possible tiny improvement in the favor of maps. The code is smaller and the runtime introspection far cleaner because the process dictionary is small again.
2019-10-15Ranch 2.0.0-rc.22.0.0-rc.2Loïc Hoguin
2019-10-14Fix log on connection process exitchenduo
2019-10-14Enable multiple steps handshakejuhlig
Also fix some Protocol:start_link/4 into start_link/3 left over in the documentation.
2019-09-01Removed connections trigger acceptors wake-upJose M Perez
2019-08-29Remove an outdated comment in ranch_acceptors_supjuhlig
2019-08-08Update examples to use new transport options formatjuhlig
2019-07-18Return listener info as a map2.0.0-rc.1juhlig
2019-07-18Tweak the migration guideLoïc Hoguin
2019-07-17Ranch 2.0.0-rc.1Loïc Hoguin
2019-07-17Fix documentation for set_transport_optionsjuhlig
2019-07-17Update the migration guide for 2.0Loïc Hoguin
2019-07-16Update documentation for embedded listenersjuhlig
2019-07-16Run havoc on embedded listenersjuhlig
2019-07-16Fix typo in havoc suitejuhlig
2019-07-16Document connection draining on application shutdownjuhlig
2019-07-10Document connection drainingjuhlig
2019-07-08Run havoc on SSL listenerjuhlig
2019-07-02Set transport options without suspendjuhlig
Lift the restriction that a listener must be suspended before transport options can be changed. * Changes to the `max_connections`, `handshake_timeout` and `shutdown` options will take effect immediately. * Changes to the `num_acceptors`, `num_listen_sockets` and `socket_opts` options will take effect when a listener is suspended and resumed, or when the acceptors supervisor restarts. * Changes to the `num_conns_sups` and `connection_type` options will only take effect when the connections super-supervisor restarts. * Changes to the `logger` option will never take effect, unless a listener is stopped and started with fresh transport options. The fetching and handing down of transport options changes with this commit, to ensure consistency between the individual components in the hierarchy. * The `num_acceptors` option is handed down from the listener supervisor to the acceptors supervisor in the child spec, while the `num_listen_sockets` and `socket_opts` options are read inside the acceptors supervisor itself. This way, the `num_acceptors` option will only take effect when the listener supervisor restarts, whereas the other two options will take effect when acceptors supervisor restarts. This commit moves the fetching of the `num_acceptors` option into the acceptors supervisor as well. * The `logger` option is read in multiple places throughout the hierarchy. This way it may happen that processes that suffered a crash and restart may use a different logger than other processes that did not. This commit reads the `logger` from the transport options given to the listener supervisor start function, and hands it down from there. * The `connection_type` option is read individually by each connection supervisor. This way, a restart of an individual connection supervisor may cause them to use a different connection type than the others. This commit reads the transport options in the connections super-supervisor, and hands them down to the individual connections supervisors. * The `num_conns_sups` is handed down from the listener supervisor to the connections super-supervisor. This way, a change to this option will only take effect when the listener supervisor restarts. This commit moves the fetching of this option inside the connections super-supervisor. This change is merely for structural consistency, it is not necessary for operational consistency.
2019-07-01Add missing specsjuhlig
2019-06-21Embedded listeners depending on ranch_serverjuhlig
2019-06-20Fix misplaced monitoring of connection supervisorjuhlig
2019-06-20Ranch leaks sockets when protocols fail to startjuhlig
When a protocol fails to start, the socket will not be closed.
2019-06-20Make havoc kill supervisorsjuhlig
2019-06-20Log imminent kills from havoc suitejuhlig
2019-06-19Validate transport optionsjuhlig
2019-06-17Increase timeout in ssl_chunk_size testjuhlig
2019-06-14Adaptive restart intensity for acceptor and connection supervisorsjuhlig
2019-06-13Filter expected errors from test outputjuhlig
2019-06-06Remove pre-21 ssl version switches from testsjuhlig
2019-06-05Fix timing issues in shutdown test suitejuhlig
2019-06-04Fix Windows timing issuesjuhlig
2019-06-03Fix ssl sendfile tests for Windowsjuhlig
2019-06-03Suppress dialyzer warnings for local addresses with ssljuhlig
2019-06-03Skip privileged ports tests on MacOSjuhlig
2019-06-03Fix many conns_sups tests for Windowsjuhlig
2019-05-27Use transport options in ranch_transport:listen/1 callbacksjuhlig
The callback `ranch_transport:listen/1` has changed to accept a map of transport options instead of socket options.
2019-05-27Update ranch_ssl:ssl_opt() to conform with OTP 22 ssljuhlig
2019-05-22Add docs for local socketsjuhlig
2019-05-22Add inet:local_address() to ranch_tcp ip optionjuhlig
2019-05-18Add tests for active N modejuhlig
2019-05-18Add support for UNIX domain socketsjuhlig
It was working already but the types were wrong and some small details needed to be corrected.
2019-05-13Change supervisor child specs to mapsjuhlig
2019-05-13Fix premature ranch_server:set_addrjuhlig
With num_listen_sockets>1 and SO_REUSEPORT disabled, the startup of ranch_acceptors_sup fails because extra sockets cannot be created. Because ranch_server:set_addr is called right after the creation of the first socket succeeded, ranch:get_port etc may still return an ok tuple until it notices that the listener is in fact down.
2019-05-13Add the passive messages to ranch_transport:messages/0Loïc Hoguin
2019-05-12Properly document logger option; change default to loggerLoïc Hoguin
We now require OTP-21+ therefore there's no need to keep the default of error_logger.
2019-05-12Add experimental num_listen_sockets optionjuhlig
2019-05-09Remove Socket argument from ranch_protocol:start_linkLoïc Hoguin
2019-05-09Use ssl:handshake instead of ssl:ssl_acceptLoïc Hoguin
This makes Ranch require OTP-21+. The function ranch:accept_ack/1 was also removed in this commit.
2019-05-09Remove ranch:start_listener/6 and :child_spec/6Loïc Hoguin