152 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			152 lines
		
	
	
		
			5.4 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.2.0",
 | 
						|
	[{<<"2\\.1\\.[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\\.1\\.[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.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, []}}
 | 
						|
	]}]
 | 
						|
}.
 |