Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
Also fix the downgrade in the test suite.
|
|
Update the release upgrade test suite to use the appup from
src/ rather than from ebin/.
|
|
|
|
|
|
|
|
Also fix some Protocol:start_link/4 into start_link/3
left over in the documentation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
When a protocol fails to start, the socket will not be closed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The callback `ranch_transport:listen/1` has changed to accept a map
of transport options instead of socket options.
|
|
|
|
|
|
|
|
|
|
It was working already but the types were wrong and some small
details needed to be corrected.
|
|
|
|
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.
|