aboutsummaryrefslogtreecommitdiffstats
path: root/doc/src/manual/gun_tunnel_up.asciidoc
blob: 5fc753eae789b70cc9735a3430832c82e60b40cf (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
= gun_tunnel_up(3)

== Name

gun_tunnel_up - The tunnel is up

// @todo Update with StreamRef

== Description

[source,erlang]
----
{gun_tunnel_up, ConnPid, Protocol}

ConnPid  :: pid()
Protocol :: http | http2 | socks
----

The Socks connection is up.

This message informs the owner/calling process that the connection
completed through the configured Socks proxy.

If Gun is configured to connect to another Socks server, then the
connection is not usable yet. One or more
link:man:gun_tunnel_up(3)[gun_tunnel_up(3)] messages will follow.

Otherwise, Gun will start processing the messages it received while
waiting for the connection to be up. If this is a reconnection,
then this may not be desirable for all requests. Those requests
should be cancelled when the connection goes down, and any
subsequent messages ignored.

== Elements

ConnPid::

The pid of the Gun connection process.

Protocol::

The protocol selected for this connection. It can be used
to determine the capabilities of the server.

== Changelog

* *2.0*: Message introduced.

== Examples

.Receive a gun_tunnel_up message in a gen_server
[source,erlang]
----
handle_info({gun_tunnel_up, ConnPid, _Protocol},
            State=#state{conn_pid=ConnPid}) ->
    %% Do something.
    {noreply, State}.
----

== See also

link:man:gun(3)[gun(3)],
link:man:gun:open(3)[gun:open(3)],
link:man:gun:open_unix(3)[gun:open_unix(3)],
link:man:gun:await_up(3)[gun:await_up(3)],
link:man:gun_up(3)[gun_up(3)],
link:man:gun_down(3)[gun_down(3)],
link:man:gun_error(3)[gun_error(3)]