From 92b54aacc0de5446dd5497c39897b0bbff72e626 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Wed, 13 Jun 2018 09:54:12 +0200 Subject: Rebuild using Asciideck --- docs/en/ranch/1.3/guide/embedded/index.html | 60 +++++++++++------------------ 1 file changed, 22 insertions(+), 38 deletions(-) (limited to 'docs/en/ranch/1.3/guide/embedded/index.html') diff --git a/docs/en/ranch/1.3/guide/embedded/index.html b/docs/en/ranch/1.3/guide/embedded/index.html index 48adad24..a3b31404 100644 --- a/docs/en/ranch/1.3/guide/embedded/index.html +++ b/docs/en/ranch/1.3/guide/embedded/index.html @@ -62,48 +62,30 @@

Embedded mode

-

Embedded mode allows you to insert Ranch listeners directly -in your supervision tree. This allows for greater fault tolerance -control by permitting the shutdown of a listener due to the -failure of another part of the application and vice versa.

-
+

Embedded mode allows you to insert Ranch listeners directly in your supervision tree. This allows for greater fault tolerance control by permitting the shutdown of a listener due to the failure of another part of the application and vice versa.

Embedding

-
-

To embed Ranch in your application you can simply add the child specs -to your supervision tree. This can all be done in the init/1 function -of one of your application supervisors.

-

Ranch requires at the minimum two kinds of child specs for embedding. -First, you need to add ranch_sup to your supervision tree, only once, -regardless of the number of listeners you will use. Then you need to -add the child specs for each listener.

-

Ranch has a convenience function for getting the listeners child specs -called ranch:child_spec/6, that works like ranch:start_listener/6, -except that it doesn’t start anything, it only returns child specs.

-

As for ranch_sup, the child spec is simple enough to not require a -convenience function.

-

The following example adds both ranch_sup and one listener to another -application’s supervision tree.

-
-
Embed Ranch directly in your supervision tree
-
-
init([]) ->
-        RanchSupSpec = {ranch_sup, {ranch_sup, start_link, []},
-                permanent, 5000, supervisor, [ranch_sup]},
-        ListenerSpec = ranch:child_spec(echo, 100,
-                ranch_tcp, [{port, 5555}],
-                echo_protocol, []
-        ),
-        {ok, {{one_for_one, 10, 10}, [RanchSupSpec, ListenerSpec]}}.
-

Remember, you can add as many listener child specs as needed, but only -one ranch_sup spec!

-

It is recommended that your architecture makes sure that all listeners -are restarted if ranch_sup fails. See the Ranch internals chapter for -more details on how Ranch does it.

-
-
+
init([]) ->
+	RanchSupSpec = {ranch_sup, {ranch_sup, start_link, []},
+		permanent, 5000, supervisor, [ranch_sup]},
+	ListenerSpec = ranch:child_spec(echo, 100,
+		ranch_tcp, [{port, 5555}],
+		echo_protocol, []
+	),
+	{ok, {{one_for_one, 10, 10}, [RanchSupSpec, ListenerSpec]}}.
+ +

Remember, you can add as many listener child specs as needed, but only one ranch_sup spec!

+

It is recommended that your architecture makes sure that all listeners are restarted if ranch_sup fails. See the Ranch internals chapter for more details on how Ranch does it.

+ @@ -160,6 +142,8 @@ more details on how Ranch does it.

+
  • 1.5
  • +
  • 1.4
  • 1.3
  • -- cgit v1.2.3