aboutsummaryrefslogtreecommitdiffstats
path: root/test/acceptor_SUITE.erl
AgeCommit message (Collapse)Author
2020-06-25Update copyrightjuhlig
2020-04-20Delete local socket file when a listener closesjuhlig
2020-04-02Delete possibly existing socket file when listening on a local socketjuhlig
2020-03-26Fix malformed_handshake_data error in tests on 23/masterLoïc Hoguin
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-07-18Return listener info as a map2.0.0-rc.1juhlig
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-06-21Embedded listeners depending on ranch_serverjuhlig
2019-06-19Validate transport optionsjuhlig
2019-06-13Filter expected errors from test outputjuhlig
2019-06-06Remove pre-21 ssl version switches from testsjuhlig
2019-06-04Fix Windows timing issuesjuhlig
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-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-12Add experimental num_listen_sockets optionjuhlig
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-08Add the num_conns_sups optionjuhlig
This new option allows configuring the number of connection supervisors. The old behavior can be obtained by setting this value to 1. A value larger than num_acceptors will result in some connection supervisors not being used as the acceptors currently only use one connection supervisor.
2019-05-06Create one ranch_conns_sup per num_acceptorjuhlig
This gets rid of a bottleneck that occurs when many connections are handled by a single supervisor. The bigger issue occurred when many connections were dropped at once and the supervisor couldn't keep up.
2019-04-29Remove socket optionj.uhlig
2019-04-29Fix repeated removal of connectionsjuhlig
Due to a typo, repeated calls to ranch:remove_connection/1 from a worker process would crash the respective ranch_conns_sup.
2018-10-10Fix a race condition on restart after listener_sup crashLoïc Hoguin
The race condition occurs when the restart is faster than the cleaning up. With this commit the restart will perform the cleanup if it was not done beforehand.
2018-08-01Use fn/1,2 instead of fn/{1,2} everywhereLoïc Hoguin
2018-08-01Fix a test failing in native modeLoïc Hoguin
2018-07-05Add a logger transport optionLoïc Hoguin
I had to use the process dictionary to work around the current interface for one log call. You have been warned.
2018-07-04Enable TLS upgrades via ranch_ssl:handshake/3Loïc Hoguin
Based on the work done by @juhlig.
2018-07-04Better distinguish between Ranch and socket optionsLoïc Hoguin
A map should now be used when specifying transport options that contain more than just socket options. It is still possible to pass a list of socket options directly as a convenience. The ack_timeout is renamed to handshake_timeout when specified as a map. This corresponds to the new function ranch:handshake/1,2 that will be favored in Ranch 2.0. Specifying Ranch-specific options via the proplist will no longer be possible starting from Ranch 2.0.
2018-07-02Introduce Transport:handshake/1,2j.uhlig
This commit deprecates Transport:accept_ack/1 in favor of a new forward-compatible function. Transport:handshake/1,2 will use ssl:handshake/2,3 from Ranch 2.0 onward.
2018-05-23Fix intermittent test failure of misc_wait_for_connectionsj.uhlig
2018-05-17Add a function to wait for number of connectionsj.uhlig
LH: Reworked validation style and added a -dialyzer attribute to acceptor_SUITE to silence expected errors.
2018-05-16Add nowarn_export_all to test suitesLoïc Hoguin
2018-05-16Ensure listener restart with changed TransOptsj.uhlig
2018-05-02Add suspend/resume of listeners and update of transport optionsj.uhlig
This allows graceful draining of connections, updating transport options on a running listener without having to drop connections and other similar scenarios. Note that when updating transport options the listener must be suspended which means that new connections will be rejected until the listener is resumed.
2018-04-10Ranch 1.5.01.5.0Loïc Hoguin
2018-04-10Prevent ranch_conns_sup from stopping on unexpected messagesLoïc Hoguin
2018-03-14Fix ranch:info/0 and ranch:procs/2 in embedded modej.uhlig
2018-01-22Added transport functions getopts/2, getstat/1 and getstat/2Jan Uhlig
2017-11-16Disable eacces tests on WindowsLoïc Hoguin
Windows apparently does not have privileged ports, anyone can open sockets on ports < 1024.
2017-11-16Disable tests that use tracing when +native is usedLoïc Hoguin
2017-06-07Update Copyright to 20171.4.0Loïc Hoguin
2017-05-31Deprecated ranch:start_listener/6 and child_spec/6Loïc Hoguin
The NumAcceptors argument has been moved to transport option num_acceptor, which defaults to 10. The functions now take one less argument. The old functions are still here, though deprecated.
2017-01-31Format eacces errors in a more readable wayMichael Klishin
Amended with small whitespace changes and removing an unused clause.
2016-11-25Small variable name tweak for better EnglishLoïc Hoguin
2016-11-24Fix a test error on FreeBSDLoïc Hoguin
2016-11-24Wait before calling ranch:info() in testsLoïc Hoguin
Otherwise gen_tcp doesn't have enough time to connect.
2016-11-24Add ranch:info/0 and ranch:procs/2Loïc Hoguin
Provides detailed information about Ranch listeners
2016-11-24Update copyright yearLoïc Hoguin