dudeswave2/ranch/src/ranch.appup

105 lines
3.8 KiB
Plaintext

%% ranch_conns_sup is a custom supervisor (special process),
%% not an OTP supervisor. When "supervisor" is used, the
%% module is always loaded before calling system_code_change,
%% for both upgrade and downgrade operations. This is so that
%% the supervisor's init callback of the upgraded/downgraded
%% module gets called. But the custom supervisors in Ranch
%% do not have an init callback and therefore can function
%% like other special processes: when upgrading, load the
%% module then call system_code_change; and when downgrading,
%% call system_code_change and then load the module.
{"2.1.0",
[{<<"2\\.0\\.[0-9]+.*">>, [
{apply, {ranch, stop_all_acceptors, []}},
{load_module, ranch},
{load_module, ranch_acceptor},
{update, ranch_acceptors_sup, supervisor},
{load_module, ranch_app},
{update, ranch_server, {advanced, []}},
{update, ranch_conns_sup_sup, supervisor},
%% See comments at the top of the file about ranch_conns_sup.
{update, ranch_conns_sup, {advanced, []}},
{load_module, ranch_crc32c},
{update, ranch_embedded_sup, supervisor},
{update, ranch_listener_sup, supervisor},
{load_module, ranch_protocol},
{load_module, ranch_proxy_header},
{update, ranch_server_proxy, {advanced, []}},
{load_module, ranch_ssl},
{update, ranch_sup, supervisor},
{load_module, ranch_tcp},
{load_module, ranch_transport},
{apply, {ranch, restart_all_acceptors, []}}
]}],
[{<<"2\\.0\\.[0-9]+.*">>, [
{apply, {ranch, stop_all_acceptors, []}},
{load_module, ranch},
{load_module, ranch_acceptor},
{update, ranch_acceptors_sup, supervisor},
{load_module, ranch_app},
%% See comments at the top of the file about ranch_conns_sup.
{update, ranch_conns_sup, {advanced, []}},
{update, ranch_conns_sup_sup, supervisor},
{load_module, ranch_crc32c},
{update, ranch_embedded_sup, supervisor},
{update, ranch_listener_sup, supervisor},
{load_module, ranch_protocol},
{load_module, ranch_proxy_header},
{update, ranch_server, {advanced, []}},
{update, ranch_server_proxy, {advanced, []}},
{load_module, ranch_ssl},
{update, ranch_sup, supervisor},
{load_module, ranch_tcp},
{load_module, ranch_transport},
{apply, {ranch, restart_all_acceptors, []}}
]}]
}.
{"2.0.0",
[{<<"2\\.0\\.[0-9]+.*">>, [
{apply, {ranch, stop_all_acceptors, []}},
{load_module, ranch},
{load_module, ranch_acceptor},
{update, ranch_acceptors_sup, supervisor},
{load_module, ranch_app},
{update, ranch_server, {advanced, []}},
{update, ranch_conns_sup_sup, supervisor},
%% See comments at the top of the file about ranch_conns_sup.
{update, ranch_conns_sup, {advanced, []}},
{load_module, ranch_crc32c},
{update, ranch_embedded_sup, supervisor},
{update, ranch_listener_sup, supervisor},
{load_module, ranch_protocol},
{load_module, ranch_proxy_header},
{update, ranch_server_proxy, {advanced, []}},
{load_module, ranch_ssl},
{update, ranch_sup, supervisor},
{load_module, ranch_tcp},
{load_module, ranch_transport},
{apply, {ranch, restart_all_acceptors, []}}
]}],
[{<<"2\\.0\\.[0-9]+.*">>, [
{apply, {ranch, stop_all_acceptors, []}},
{load_module, ranch},
{load_module, ranch_acceptor},
{update, ranch_acceptors_sup, supervisor},
{load_module, ranch_app},
%% See comments at the top of the file about ranch_conns_sup.
{update, ranch_conns_sup, {advanced, []}},
{update, ranch_conns_sup_sup, supervisor},
{load_module, ranch_crc32c},
{update, ranch_embedded_sup, supervisor},
{update, ranch_listener_sup, supervisor},
{load_module, ranch_protocol},
{load_module, ranch_proxy_header},
{update, ranch_server, {advanced, []}},
{update, ranch_server_proxy, {advanced, []}},
{load_module, ranch_ssl},
{update, ranch_sup, supervisor},
{load_module, ranch_tcp},
{load_module, ranch_transport},
{apply, {ranch, restart_all_acceptors, []}}
]}]
}.