aboutsummaryrefslogtreecommitdiffstats
path: root/doc/src
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/guide/protocols.asciidoc5
-rw-r--r--doc/src/guide/websocket.asciidoc17
2 files changed, 22 insertions, 0 deletions
diff --git a/doc/src/guide/protocols.asciidoc b/doc/src/guide/protocols.asciidoc
index daf2d66..cb354fa 100644
--- a/doc/src/guide/protocols.asciidoc
+++ b/doc/src/guide/protocols.asciidoc
@@ -87,6 +87,11 @@ is sending Websocket frames using `gun:ws_send/3`.
Gun will send a `gun_ws` message for every frame received.
+It is recommended to disable automatic reconnect when
+Websocket is used because Gun cannot automatically upgrade
+to Websocket on reconnect, and so an undetected disconnect
+may lead to many error messages from Gun.
+
=== Summary
The two following tables summarize the supported operations
diff --git a/doc/src/guide/websocket.asciidoc b/doc/src/guide/websocket.asciidoc
index ba06e2c..31b014b 100644
--- a/doc/src/guide/websocket.asciidoc
+++ b/doc/src/guide/websocket.asciidoc
@@ -122,3 +122,20 @@ receive
handle_frame(ConnPid, StreamRef, Frame)
end.
----
+
+=== Automatic reconnect gotchas
+
+It is recommended to disable automatic reconnect when
+Websocket is used because Gun cannot automatically upgrade
+to Websocket on reconnect, and so an undetected disconnect
+may lead to many error messages from Gun.
+
+This can be done by setting the `retry` option to `0`
+when opening a connection:
+
+[source,erlang]
+----
+{ok, ConnPid} = gun:open("localhost", 12345, #{
+ retry ⇒ 0
+}).
+----