blob: 44d06e6918d4b913c5f6dddc5df9f8d2c00b9251 (
plain) (
tree)
|
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
<title>Nine Nines: gun_upgrade(3)</title>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
<link href="/css/99s.css?r=2" rel="stylesheet">
<link rel="shortcut icon" href="/img/ico/favicon.ico">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
<link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
</head>
<body class="">
<header id="page-head">
<div id="topbar" class="container">
<div class="row">
<div class="span2">
<h1 id="logo"><a href="/" title="99s">99s</a></h1>
</div>
<div class="span10">
<div id="side-header">
<nav>
<ul>
<li><a title="Hear my thoughts" href="/articles">Articles</a></li>
<li><a title="Watch my talks" href="/talks">Talks</a></li>
<li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
<li><a title="Request my services" href="/services">Consulting & Training</a></li>
</ul>
</nav>
<ul id="social">
<li>
<a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
</li>
<li>
<a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
</li>
</ul>
</div>
</div>
</div>
</div>
</header>
<div id="contents" class="two_col">
<div class="container">
<div class="row">
<div id="docs" class="span9 maincol">
<h1 class="lined-header"><span>gun_upgrade(3)</span></h1>
<h2 id="_name">Name</h2>
<p>gun_upgrade - Successful protocol upgrade</p>
<h2 id="_description">Description</h2>
<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
<pre><tt>{<font color="#FF6600">gun_upgrade</font>, <font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">Protocols</font>, <font color="#009900">Headers</font>}
<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
<font color="#009900">StreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()
<font color="#009900">Protocols</font> <font color="#990000">::</font> [<font color="#990000"><<</font><font color="#FF0000">"websocket"</font><font color="#990000">>></font>]
<font color="#009900">Headers</font> <font color="#990000">::</font> [{<b><font color="#000080">binary</font></b>(), <b><font color="#000080">binary</font></b>()}]</tt></pre>
</div></div>
<p>Successful protocol upgrade.</p>
<p>This message informs the relevant process that the server accepted to upgrade to one or more protocols given in the original request.</p>
<p>The exact semantics of this message depend on the original protocol. HTTP/1.1 upgrades apply to the entire connection. HTTP/2 uses a different mechanism which allows switching specific streams to a different protocol.</p>
<p>Gun currently only supports upgrading HTTP/1.1 connections to the Websocket protocol.</p>
<h2 id="_elements">Elements</h2>
<dl><dt>ConnPid</dt>
<dd><p>The pid of the Gun connection process.</p>
</dd>
<dt>StreamRef</dt>
<dd><p>Identifier of the stream that resulted in an upgrade.</p>
</dd>
<dt>Protocols</dt>
<dd><p>List of protocols this stream was upgraded to.</p>
</dd>
<dt>Headers</dt>
<dd><p>Headers sent with the upgrade response.</p>
</dd>
</dl>
<h2 id="_changelog">Changelog</h2>
<ul><li><strong>1.0</strong>: Message introduced.
</li>
</ul>
<h2 id="_examples">Examples</h2>
<div class="listingblock"><div class="title">Receive a gun_upgrade message in a gen_server</div>
<div class="content"><!-- Generator: GNU source-highlight 3.1.8
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
<pre><tt><b><font color="#000000">handle_info</font></b>({<font color="#FF6600">gun_upgrade</font>, <font color="#009900">ConnPid</font>, <font color="#009900">_StreamRef</font>,
<font color="#009900">_Protocols</font>, <font color="#009900">_Headers</font>},
<font color="#009900">State</font><font color="#990000">=</font><font color="#008080">#state</font>{<font color="#0000FF">conn_pid</font><font color="#990000">=</font><font color="#009900">ConnPid</font>}) <font color="#990000">-></font>
<i><font color="#9A1900">%% Do something.</font></i>
{<font color="#FF6600">noreply</font>, <font color="#009900">State</font>}<font color="#990000">.</font></tt></pre>
</div></div>
<h2 id="_see_also">See also</h2>
<p><a href="../gun">gun(3)</a>, <a href="../gun.ws_upgrade">gun:ws_upgrade(3)</a>, <a href="../gun.ws_send">gun:ws_send(3)</a>, <a href="../gun_ws">gun_ws(3)</a></p>
</div>
<div class="span3 sidecol">
<h3>
Gun
1.0
Function Reference
</h3>
<ul>
<li><a href="/docs/en/gun/1.0/guide">User Guide</a></li>
<li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li>
</ul>
<h4 id="docs-nav">Navigation</h4>
<h4>Version select</h4>
<ul>
<li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
</ul>
</div>
</div>
</div>
</div>
<footer>
<div class="container">
<div class="row">
<div class="span6">
<p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
<nav>
<ul>
<li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
</ul>
</nav>
</div>
<div class="span6 credits">
<p><img src="/img/footer_logo.png"></p>
<p>Copyright © Loïc Hoguin 2012-2018</p>
</div>
</div>
</div>
</footer>
<script src="/js/custom.js"></script>
</body>
</html>
|