uWebSockets.js/docs/generated/interfaces/WebSocket.html
e3dio 81ab2a13fd
fix typedoc gen (#601)
Co-authored-by: e3dio <>
2021-08-16 03:09:11 +02:00

661 lines
34 KiB
HTML

<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>WebSocket | uWebSockets.js v19.3.0 documentation</title>
<meta name="description" content="Documentation for uWebSockets.js v19.3.0 documentation">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
<script async src="../assets/js/search.js" id="search-script"></script>
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">uWebSockets.js v19.3.0 documentation</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../index.html">uWebSockets.js v19.3.0 documentation</a>
</li>
<li>
<a href="WebSocket.html">WebSocket</a>
</li>
</ul>
<h1>Interface WebSocket</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>A WebSocket connection that is valid from open to close event.
Read more about this in the user manual.</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">WebSocket</span>
</li>
</ul>
</section>
<section class="tsd-panel tsd-kind-interface">
<h3 class="tsd-before-signature">Indexable</h3>
<div class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">[</span>key: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]: </span><span class="tsd-signature-type">any</span></div>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Arbitrary user data may be attached to this object. In C++ this is done by using getUserData().</p>
</div>
</div>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Methods</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="WebSocket.html#close" class="tsd-kind-icon">close</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="WebSocket.html#cork" class="tsd-kind-icon">cork</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="WebSocket.html#end" class="tsd-kind-icon">end</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="WebSocket.html#getBufferedAmount" class="tsd-kind-icon">get<wbr>Buffered<wbr>Amount</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="WebSocket.html#getRemoteAddress" class="tsd-kind-icon">get<wbr>Remote<wbr>Address</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="WebSocket.html#getRemoteAddressAsText" class="tsd-kind-icon">get<wbr>Remote<wbr>Address<wbr>AsText</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="WebSocket.html#getTopics" class="tsd-kind-icon">get<wbr>Topics</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="WebSocket.html#isSubscribed" class="tsd-kind-icon">is<wbr>Subscribed</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="WebSocket.html#ping" class="tsd-kind-icon">ping</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="WebSocket.html#publish" class="tsd-kind-icon">publish</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="WebSocket.html#send" class="tsd-kind-icon">send</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="WebSocket.html#subscribe" class="tsd-kind-icon">subscribe</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="WebSocket.html#unsubscribe" class="tsd-kind-icon">unsubscribe</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Methods</h2>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="close" class="tsd-anchor"></a>
<h3>close</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">close<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="WebSocket.html" class="tsd-signature-type" data-tsd-kind="Interface">WebSocket</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/e3dio/uWebSockets.js/blob/master/docs/index.d.ts#L71">index.d.ts:71</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Forcefully closes this WebSocket. Immediately calls the close handler.
No WebSocket close message is sent.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <a href="WebSocket.html" class="tsd-signature-type" data-tsd-kind="Interface">WebSocket</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="cork" class="tsd-anchor"></a>
<h3>cork</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">cork<span class="tsd-signature-symbol">(</span>cb<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/e3dio/uWebSockets.js/blob/master/docs/index.d.ts#L107">index.d.ts:107</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>See HttpResponse.cork. Takes a function in which the socket is corked (packing many sends into one single syscall/SSL block)</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>cb: <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></h5>
<ul class="tsd-parameters">
<li class="tsd-parameter-signature">
<ul class="tsd-signatures tsd-kind-type-literal">
<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="end" class="tsd-anchor"></a>
<h3>end</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">end<span class="tsd-signature-symbol">(</span>code<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span>, shortMessage<span class="tsd-signature-symbol">?: </span><a href="../index.html#RecognizedString" class="tsd-signature-type" data-tsd-kind="Type alias">RecognizedString</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="WebSocket.html" class="tsd-signature-type" data-tsd-kind="Interface">WebSocket</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/e3dio/uWebSockets.js/blob/master/docs/index.d.ts#L66">index.d.ts:66</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Gracefully closes this WebSocket. Immediately calls the close handler.
A WebSocket close message is sent with code and shortMessage.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> code: <span class="tsd-signature-type">number</span></h5>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> shortMessage: <a href="../index.html#RecognizedString" class="tsd-signature-type" data-tsd-kind="Type alias">RecognizedString</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="WebSocket.html" class="tsd-signature-type" data-tsd-kind="Interface">WebSocket</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="getBufferedAmount" class="tsd-anchor"></a>
<h3>get<wbr>Buffered<wbr>Amount</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">get<wbr>Buffered<wbr>Amount<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/e3dio/uWebSockets.js/blob/master/docs/index.d.ts#L61">index.d.ts:61</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns the bytes buffered in backpressure. This is similar to the bufferedAmount property in the browser counterpart.
Check backpressure example.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="getRemoteAddress" class="tsd-anchor"></a>
<h3>get<wbr>Remote<wbr>Address</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">get<wbr>Remote<wbr>Address<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ArrayBuffer</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/e3dio/uWebSockets.js/blob/master/docs/index.d.ts#L116">index.d.ts:116</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns the remote IP address. Note that the returned IP is binary, not text.</p>
</div>
<p>IPv4 is 4 byte long and can be converted to text by printing every byte as a digit between 0 and 255.
IPv6 is 16 byte long and can be converted to text in similar ways, but you typically print digits in HEX.</p>
<p>See getRemoteAddressAsText() for a text version.</p>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">ArrayBuffer</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="getRemoteAddressAsText" class="tsd-anchor"></a>
<h3>get<wbr>Remote<wbr>Address<wbr>AsText</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">get<wbr>Remote<wbr>Address<wbr>AsText<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ArrayBuffer</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/e3dio/uWebSockets.js/blob/master/docs/index.d.ts#L119">index.d.ts:119</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns the remote IP address as text. See RecognizedString.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">ArrayBuffer</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="getTopics" class="tsd-anchor"></a>
<h3>get<wbr>Topics</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">get<wbr>Topics<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/e3dio/uWebSockets.js/blob/master/docs/index.d.ts#L92">index.d.ts:92</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns a list of topics this websocket is subscribed to.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="isSubscribed" class="tsd-anchor"></a>
<h3>is<wbr>Subscribed</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">is<wbr>Subscribed<span class="tsd-signature-symbol">(</span>topic<span class="tsd-signature-symbol">: </span><a href="../index.html#RecognizedString" class="tsd-signature-type" data-tsd-kind="Type alias">RecognizedString</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/e3dio/uWebSockets.js/blob/master/docs/index.d.ts#L89">index.d.ts:89</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns whether this websocket is subscribed to topic.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>topic: <a href="../index.html#RecognizedString" class="tsd-signature-type" data-tsd-kind="Type alias">RecognizedString</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="ping" class="tsd-anchor"></a>
<h3>ping</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">ping<span class="tsd-signature-symbol">(</span>message<span class="tsd-signature-symbol">?: </span><a href="../index.html#RecognizedString" class="tsd-signature-type" data-tsd-kind="Type alias">RecognizedString</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/e3dio/uWebSockets.js/blob/master/docs/index.d.ts#L74">index.d.ts:74</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Sends a ping control message. Returns true on success in similar ways as WebSocket.send does (regarding backpressure). This helper function correlates to WebSocket::send(message, uWS::OpCode::PING, ...) in C++.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> message: <a href="../index.html#RecognizedString" class="tsd-signature-type" data-tsd-kind="Type alias">RecognizedString</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="publish" class="tsd-anchor"></a>
<h3>publish</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">publish<span class="tsd-signature-symbol">(</span>topic<span class="tsd-signature-symbol">: </span><a href="../index.html#RecognizedString" class="tsd-signature-type" data-tsd-kind="Type alias">RecognizedString</a>, message<span class="tsd-signature-symbol">: </span><a href="../index.html#RecognizedString" class="tsd-signature-type" data-tsd-kind="Type alias">RecognizedString</a>, isBinary<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span>, compress<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/e3dio/uWebSockets.js/blob/master/docs/index.d.ts#L104">index.d.ts:104</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Publish a message to a topic in MQTT syntax. You cannot publish using wildcards, only fully specified topics. Just like with MQTT.</p>
</div>
<p>&quot;parent/child&quot; kind of tree is allowed, but not &quot;parent/#&quot; kind of wildcard publishing.</p>
<p>The pub/sub system does not guarantee order between what you manually send using WebSocket.send
and what you publish using WebSocket.publish. WebSocket messages are perfectly atomic, but the order in which they appear can get scrambled if you mix the two sending functions on the same socket.
This shouldn&#39;t matter in most applications. Order is guaranteed relative to other calls to WebSocket.publish.</p>
<p>Also keep in mind that backpressure will be automatically managed with pub/sub, meaning some outgoing messages may be dropped if backpressure is greater than specified maxBackpressure.</p>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>topic: <a href="../index.html#RecognizedString" class="tsd-signature-type" data-tsd-kind="Type alias">RecognizedString</a></h5>
</li>
<li>
<h5>message: <a href="../index.html#RecognizedString" class="tsd-signature-type" data-tsd-kind="Type alias">RecognizedString</a></h5>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> isBinary: <span class="tsd-signature-type">boolean</span></h5>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> compress: <span class="tsd-signature-type">boolean</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="send" class="tsd-anchor"></a>
<h3>send</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">send<span class="tsd-signature-symbol">(</span>message<span class="tsd-signature-symbol">: </span><a href="../index.html#RecognizedString" class="tsd-signature-type" data-tsd-kind="Type alias">RecognizedString</a>, isBinary<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span>, compress<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/e3dio/uWebSockets.js/blob/master/docs/index.d.ts#L56">index.d.ts:56</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Sends a message. Make sure to check getBufferedAmount() before sending. Returns true for success, false for built up backpressure that will drain when time is given.
Returning false does not mean nothing was sent, it only means backpressure was built up. This you can check by calling getBufferedAmount() afterwards.</p>
</div>
<p>Make sure you properly understand the concept of backpressure. Check the backpressure example file.</p>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>message: <a href="../index.html#RecognizedString" class="tsd-signature-type" data-tsd-kind="Type alias">RecognizedString</a></h5>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> isBinary: <span class="tsd-signature-type">boolean</span></h5>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> compress: <span class="tsd-signature-type">boolean</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="subscribe" class="tsd-anchor"></a>
<h3>subscribe</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">subscribe<span class="tsd-signature-symbol">(</span>topic<span class="tsd-signature-symbol">: </span><a href="../index.html#RecognizedString" class="tsd-signature-type" data-tsd-kind="Type alias">RecognizedString</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/e3dio/uWebSockets.js/blob/master/docs/index.d.ts#L83">index.d.ts:83</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Subscribe to a topic in MQTT syntax.</p>
</div>
<p>MQTT syntax includes things like &quot;root/child/+/grandchild&quot; where &quot;+&quot; is a
wildcard and &quot;root/#&quot; where &quot;#&quot; is a terminating wildcard.</p>
<p>Read more about MQTT.</p>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>topic: <a href="../index.html#RecognizedString" class="tsd-signature-type" data-tsd-kind="Type alias">RecognizedString</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="unsubscribe" class="tsd-anchor"></a>
<h3>unsubscribe</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">unsubscribe<span class="tsd-signature-symbol">(</span>topic<span class="tsd-signature-symbol">: </span><a href="../index.html#RecognizedString" class="tsd-signature-type" data-tsd-kind="Type alias">RecognizedString</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/e3dio/uWebSockets.js/blob/master/docs/index.d.ts#L86">index.d.ts:86</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Unsubscribe from a topic. Returns true on success, if the WebSocket was subscribed.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>topic: <a href="../index.html#RecognizedString" class="tsd-signature-type" data-tsd-kind="Type alias">RecognizedString</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class=" ">
<a href="../index.html">Exports</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-enum">
<a href="../enums/ListenOptions.html" class="tsd-kind-icon">Listen<wbr>Options</a>
</li>
<li class=" tsd-kind-interface">
<a href="AppOptions.html" class="tsd-kind-icon">App<wbr>Options</a>
</li>
<li class=" tsd-kind-interface">
<a href="HttpRequest.html" class="tsd-kind-icon">Http<wbr>Request</a>
</li>
<li class=" tsd-kind-interface">
<a href="HttpResponse.html" class="tsd-kind-icon">Http<wbr>Response</a>
</li>
<li class=" tsd-kind-interface">
<a href="MultipartField.html" class="tsd-kind-icon">Multipart<wbr>Field</a>
</li>
<li class=" tsd-kind-interface">
<a href="TemplatedApp.html" class="tsd-kind-icon">Templated<wbr>App</a>
</li>
</ul>
<ul class="current">
<li class="current tsd-kind-interface">
<a href="WebSocket.html" class="tsd-kind-icon">Web<wbr>Socket</a>
<ul>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="WebSocket.html#close" class="tsd-kind-icon">close</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="WebSocket.html#cork" class="tsd-kind-icon">cork</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="WebSocket.html#end" class="tsd-kind-icon">end</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="WebSocket.html#getBufferedAmount" class="tsd-kind-icon">get<wbr>Buffered<wbr>Amount</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="WebSocket.html#getRemoteAddress" class="tsd-kind-icon">get<wbr>Remote<wbr>Address</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="WebSocket.html#getRemoteAddressAsText" class="tsd-kind-icon">get<wbr>Remote<wbr>Address<wbr>AsText</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="WebSocket.html#getTopics" class="tsd-kind-icon">get<wbr>Topics</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="WebSocket.html#isSubscribed" class="tsd-kind-icon">is<wbr>Subscribed</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="WebSocket.html#ping" class="tsd-kind-icon">ping</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="WebSocket.html#publish" class="tsd-kind-icon">publish</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="WebSocket.html#send" class="tsd-kind-icon">send</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="WebSocket.html#subscribe" class="tsd-kind-icon">subscribe</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="WebSocket.html#unsubscribe" class="tsd-kind-icon">unsubscribe</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
<li class=" tsd-kind-interface">
<a href="WebSocketBehavior.html" class="tsd-kind-icon">Web<wbr>Socket<wbr>Behavior</a>
</li>
<li class=" tsd-kind-interface">
<a href="us_listen_socket.html" class="tsd-kind-icon">us_<wbr>listen_<wbr>socket</a>
</li>
<li class=" tsd-kind-interface">
<a href="us_socket.html" class="tsd-kind-icon">us_<wbr>socket</a>
</li>
<li class=" tsd-kind-interface">
<a href="us_socket_context_t.html" class="tsd-kind-icon">us_<wbr>socket_<wbr>context_<wbr>t</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#CompressOptions" class="tsd-kind-icon">Compress<wbr>Options</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../index.html#RecognizedString" class="tsd-kind-icon">Recognized<wbr>String</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#DEDICATED_COMPRESSOR_128KB" class="tsd-kind-icon">DEDICATED_<wbr>COMPRESSOR_<wbr>128KB</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#DEDICATED_COMPRESSOR_16KB" class="tsd-kind-icon">DEDICATED_<wbr>COMPRESSOR_<wbr>16KB</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#DEDICATED_COMPRESSOR_256KB" class="tsd-kind-icon">DEDICATED_<wbr>COMPRESSOR_<wbr>256KB</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#DEDICATED_COMPRESSOR_32KB" class="tsd-kind-icon">DEDICATED_<wbr>COMPRESSOR_<wbr>32KB</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#DEDICATED_COMPRESSOR_3KB" class="tsd-kind-icon">DEDICATED_<wbr>COMPRESSOR_<wbr>3KB</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#DEDICATED_COMPRESSOR_4KB" class="tsd-kind-icon">DEDICATED_<wbr>COMPRESSOR_<wbr>4KB</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#DEDICATED_COMPRESSOR_64KB" class="tsd-kind-icon">DEDICATED_<wbr>COMPRESSOR_<wbr>64KB</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#DEDICATED_COMPRESSOR_8KB" class="tsd-kind-icon">DEDICATED_<wbr>COMPRESSOR_<wbr>8KB</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#DISABLED" class="tsd-kind-icon">DISABLED</a>
</li>
<li class=" tsd-kind-variable">
<a href="../index.html#SHARED_COMPRESSOR" class="tsd-kind-icon">SHARED_<wbr>COMPRESSOR</a>
</li>
<li class=" tsd-kind-function">
<a href="../index.html#App" class="tsd-kind-icon">App</a>
</li>
<li class=" tsd-kind-function">
<a href="../index.html#SSLApp" class="tsd-kind-icon">SSLApp</a>
</li>
<li class=" tsd-kind-function">
<a href="../index.html#getParts" class="tsd-kind-icon">get<wbr>Parts</a>
</li>
<li class=" tsd-kind-function">
<a href="../index.html#us_listen_socket_close" class="tsd-kind-icon">us_<wbr>listen_<wbr>socket_<wbr>close</a>
</li>
<li class=" tsd-kind-function">
<a href="../index.html#us_socket_local_port" class="tsd-kind-icon">us_<wbr>socket_<wbr>local_<wbr>port</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer class="with-border-bottom">
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
</ul>
</div>
</div>
</footer>
<div class="container tsd-generator">
<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
</div>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
</body>
</html>