socket.io-client-swift/docs/Classes/SocketEngine.html
2017-08-06 09:57:47 -04:00

1434 lines
71 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<title>SocketEngine Class Reference</title>
<link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="../css/highlight.css" />
<meta charset="utf-8">
<script src="../js/jquery.min.js" defer></script>
<script src="../js/jazzy.js" defer></script>
<script src="../js/lunr.min.js" defer></script>
<script src="../js/typeahead.jquery.js" defer></script>
<script src="../js/jazzy.search.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Class/SocketEngine" class="dashAnchor"></a>
<a title="SocketEngine Class Reference"></a>
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SocketIO Docs
</a>
(100% documented)
</p>
<p class="header-col--secondary">
<form role="search" action="../search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</p>
</header>
<p class="breadcrumbs">
<a class="breadcrumb" href="../index.html">SocketIO Reference</a>
<img class="carat" src="../img/carat.png" />
SocketEngine Class Reference
</p>
<div class="content-wrapper">
<nav class="navigation">
<ul class="nav-groups">
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/OnAckCallback.html">OnAckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAckEmitter.html">SocketAckEmitter</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketAnyEvent.html">SocketAnyEvent</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketClientManager.html">SocketClientManager</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketEngine.html">SocketEngine</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SocketIOClient.html">SocketIOClient</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Enums.html">Enums</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketAckStatus.html">SocketAckStatus</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketClientEvent.html">SocketClientEvent</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketEnginePacketType.html">SocketEnginePacketType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOClientOption.html">SocketIOClientOption</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SocketIOClientStatus.html">SocketIOClientStatus</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SocketData.html">SocketData</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SocketEngineClient.html">SocketEngineClient</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SocketEnginePollable.html">SocketEnginePollable</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SocketEngineSpec.html">SocketEngineSpec</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SocketEngineWebsocket.html">SocketEngineWebsocket</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/SocketLogger.html">SocketLogger</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Structs.html">Structs</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SocketIOClientConfiguration.html">SocketIOClientConfiguration</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Typealiases.html">Typealiases</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:8SocketIO11AckCallback">AckCallback</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Typealiases.html#/s:8SocketIO14NormalCallback">NormalCallback</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section class="section">
<div class="section-content">
<h1>SocketEngine</h1>
<div class="declaration">
<div class="language">
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">SocketEngine</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">URLSessionDelegate</span><span class="p">,</span> <span class="kt"><a href="../Protocols/SocketEnginePollable.html">SocketEnginePollable</a></span><span class="p">,</span> <span class="kt"><a href="../Protocols/SocketEngineWebsocket.html">SocketEngineWebsocket</a></span></code></pre>
</div>
</div>
<p>The class that handles the engine.io protocol and transports.
See <code><a href="../Protocols/SocketEnginePollable.html">SocketEnginePollable</a></code> and <code><a href="../Protocols/SocketEngineWebsocket.html">SocketEngineWebsocket</a></code> for transport specific methods.</p>
</div>
</section>
<section class="section">
<div class="section-content">
<div class="task-group">
<div class="task-name-container">
<a name="/Properties"></a>
<a name="//apple_ref/swift/Section/Properties" class="dashAnchor"></a>
<a href="#/Properties">
<h3 class="section-name">Properties</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:vC8SocketIO12SocketEngine11engineQueueCSo13DispatchQueue"></a>
<a name="//apple_ref/swift/Property/engineQueue" class="dashAnchor"></a>
<a class="token" href="#/s:vC8SocketIO12SocketEngine11engineQueueCSo13DispatchQueue">engineQueue</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The queue that all engine actions take place on.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">engineQueue</span> <span class="o">=</span> <span class="kt">DispatchQueue</span><span class="p">(</span><span class="nv">label</span><span class="p">:</span> <span class="s">"com.socketio.engineHandleQueue"</span><span class="p">)</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:vC8SocketIO12SocketEngine13connectParamsGSqGVs10DictionarySSP___"></a>
<a name="//apple_ref/swift/Property/connectParams" class="dashAnchor"></a>
<a class="token" href="#/s:vC8SocketIO12SocketEngine13connectParamsGSqGVs10DictionarySSP___">connectParams</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The connect parameters sent during a connect.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">connectParams</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span><span class="p">:</span> <span class="kt">Any</span><span class="p">]?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:vC8SocketIO12SocketEngine8postWaitGSaSS_"></a>
<a name="//apple_ref/swift/Property/postWait" class="dashAnchor"></a>
<a class="token" href="#/s:vC8SocketIO12SocketEngine8postWaitGSaSS_">postWait</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>A queue of engine.io messages waiting for POSTing</p>
<p><strong>You should not touch this directly</strong></p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">postWait</span> <span class="o">=</span> <span class="p">[</span><span class="kt">String</span><span class="p">]()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:vC8SocketIO12SocketEngine14waitingForPollSb"></a>
<a name="//apple_ref/swift/Property/waitingForPoll" class="dashAnchor"></a>
<a class="token" href="#/s:vC8SocketIO12SocketEngine14waitingForPollSb">waitingForPoll</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p><code>true</code> if there is an outstanding poll. Trying to poll before the first is done will cause socket.io to
disconnect us.</p>
<p><strong>Do not touch this directly</strong></p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">waitingForPoll</span> <span class="o">=</span> <span class="kc">false</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:vC8SocketIO12SocketEngine14waitingForPostSb"></a>
<a name="//apple_ref/swift/Property/waitingForPost" class="dashAnchor"></a>
<a class="token" href="#/s:vC8SocketIO12SocketEngine14waitingForPostSb">waitingForPost</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p><code>true</code> if there is an outstanding post. Trying to post before the first is done will cause socket.io to
disconnect us.</p>
<p><strong>Do not touch this directly</strong></p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">waitingForPost</span> <span class="o">=</span> <span class="kc">false</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:vC8SocketIO12SocketEngine6closedSb"></a>
<a name="//apple_ref/swift/Property/closed" class="dashAnchor"></a>
<a class="token" href="#/s:vC8SocketIO12SocketEngine6closedSb">closed</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p><code>true</code> if this engine is closed.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">closed</span> <span class="o">=</span> <span class="kc">false</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:vC8SocketIO12SocketEngine8compressSb"></a>
<a name="//apple_ref/swift/Property/compress" class="dashAnchor"></a>
<a class="token" href="#/s:vC8SocketIO12SocketEngine8compressSb">compress</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>If <code>true</code> the engine will attempt to use WebSocket compression.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">compress</span> <span class="o">=</span> <span class="kc">false</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:vC8SocketIO12SocketEngine9connectedSb"></a>
<a name="//apple_ref/swift/Property/connected" class="dashAnchor"></a>
<a class="token" href="#/s:vC8SocketIO12SocketEngine9connectedSb">connected</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p><code>true</code> if this engine is connected. Connected means that the initial poll connect has succeeded.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">connected</span> <span class="o">=</span> <span class="kc">false</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:vC8SocketIO12SocketEngine7cookiesGSqGSaCSo10HTTPCookie__"></a>
<a name="//apple_ref/swift/Property/cookies" class="dashAnchor"></a>
<a class="token" href="#/s:vC8SocketIO12SocketEngine7cookiesGSqGSaCSo10HTTPCookie__">cookies</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>An array of HTTPCookies that are sent during the connection.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">cookies</span><span class="p">:</span> <span class="p">[</span><span class="kt">HTTPCookie</span><span class="p">]?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:vC8SocketIO12SocketEngine12extraHeadersGSqGVs10DictionarySSSS__"></a>
<a name="//apple_ref/swift/Property/extraHeaders" class="dashAnchor"></a>
<a class="token" href="#/s:vC8SocketIO12SocketEngine12extraHeadersGSqGVs10DictionarySSSS__">extraHeaders</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>A dictionary of extra http headers that will be set during connection.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">extraHeaders</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span><span class="p">:</span> <span class="kt">String</span><span class="p">]?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:vC8SocketIO12SocketEngine11fastUpgradeSb"></a>
<a name="//apple_ref/swift/Property/fastUpgrade" class="dashAnchor"></a>
<a class="token" href="#/s:vC8SocketIO12SocketEngine11fastUpgradeSb">fastUpgrade</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>When <code>true</code>, the engine is in the process of switching to WebSockets.</p>
<p><strong>Do not touch this directly</strong></p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">fastUpgrade</span> <span class="o">=</span> <span class="kc">false</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:vC8SocketIO12SocketEngine12forcePollingSb"></a>
<a name="//apple_ref/swift/Property/forcePolling" class="dashAnchor"></a>
<a class="token" href="#/s:vC8SocketIO12SocketEngine12forcePollingSb">forcePolling</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>When <code>true</code>, the engine will only use HTTP long-polling as a transport.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">forcePolling</span> <span class="o">=</span> <span class="kc">false</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:vC8SocketIO12SocketEngine15forceWebsocketsSb"></a>
<a name="//apple_ref/swift/Property/forceWebsockets" class="dashAnchor"></a>
<a class="token" href="#/s:vC8SocketIO12SocketEngine15forceWebsocketsSb">forceWebsockets</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>When <code>true</code>, the engine will only use WebSockets as a transport.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">forceWebsockets</span> <span class="o">=</span> <span class="kc">false</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:vC8SocketIO12SocketEngine11invalidatedSb"></a>
<a name="//apple_ref/swift/Property/invalidated" class="dashAnchor"></a>
<a class="token" href="#/s:vC8SocketIO12SocketEngine11invalidatedSb">invalidated</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p><code>true</code> If engine&rsquo;s session has been invalidated.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">invalidated</span> <span class="o">=</span> <span class="kc">false</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:vC8SocketIO12SocketEngine7pollingSb"></a>
<a name="//apple_ref/swift/Property/polling" class="dashAnchor"></a>
<a class="token" href="#/s:vC8SocketIO12SocketEngine7pollingSb">polling</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>If <code>true</code>, the engine is currently in HTTP long-polling mode.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">polling</span> <span class="o">=</span> <span class="kc">true</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:vC8SocketIO12SocketEngine7probingSb"></a>
<a name="//apple_ref/swift/Property/probing" class="dashAnchor"></a>
<a class="token" href="#/s:vC8SocketIO12SocketEngine7probingSb">probing</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>If <code>true</code>, the engine is currently seeing whether it can upgrade to WebSockets.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">probing</span> <span class="o">=</span> <span class="kc">false</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:vC8SocketIO12SocketEngine7sessionGSqCSo10URLSession_"></a>
<a name="//apple_ref/swift/Property/session" class="dashAnchor"></a>
<a class="token" href="#/s:vC8SocketIO12SocketEngine7sessionGSqCSo10URLSession_">session</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The URLSession that will be used for polling.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">session</span><span class="p">:</span> <span class="kt">URLSession</span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:vC8SocketIO12SocketEngine3sidSS"></a>
<a name="//apple_ref/swift/Property/sid" class="dashAnchor"></a>
<a class="token" href="#/s:vC8SocketIO12SocketEngine3sidSS">sid</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The session id for this engine.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">sid</span> <span class="o">=</span> <span class="s">""</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:vC8SocketIO12SocketEngine10socketPathSS"></a>
<a name="//apple_ref/swift/Property/socketPath" class="dashAnchor"></a>
<a class="token" href="#/s:vC8SocketIO12SocketEngine10socketPathSS">socketPath</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The path to engine.io.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">socketPath</span> <span class="o">=</span> <span class="s">"/engine.io/"</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:vC8SocketIO12SocketEngine10urlPollingV10Foundation3URL"></a>
<a name="//apple_ref/swift/Property/urlPolling" class="dashAnchor"></a>
<a class="token" href="#/s:vC8SocketIO12SocketEngine10urlPollingV10Foundation3URL">urlPolling</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The url for polling.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">urlPolling</span> <span class="o">=</span> <span class="kt">URL</span><span class="p">(</span><span class="nv">string</span><span class="p">:</span> <span class="s">"http://localhost/"</span><span class="p">)</span><span class="o">!</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:vC8SocketIO12SocketEngine12urlWebSocketV10Foundation3URL"></a>
<a name="//apple_ref/swift/Property/urlWebSocket" class="dashAnchor"></a>
<a class="token" href="#/s:vC8SocketIO12SocketEngine12urlWebSocketV10Foundation3URL">urlWebSocket</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The url for WebSockets.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">urlWebSocket</span> <span class="o">=</span> <span class="kt">URL</span><span class="p">(</span><span class="nv">string</span><span class="p">:</span> <span class="s">"http://localhost/"</span><span class="p">)</span><span class="o">!</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:vC8SocketIO12SocketEngine9websocketSb"></a>
<a name="//apple_ref/swift/Property/websocket" class="dashAnchor"></a>
<a class="token" href="#/s:vC8SocketIO12SocketEngine9websocketSb">websocket</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>If <code>true</code>, then the engine is currently in WebSockets mode.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">websocket</span> <span class="o">=</span> <span class="kc">false</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:vC8SocketIO12SocketEngine2wsGSqC18StarscreamSocketIO9WebSocket_"></a>
<a name="//apple_ref/swift/Property/ws" class="dashAnchor"></a>
<a class="token" href="#/s:vC8SocketIO12SocketEngine2wsGSqC18StarscreamSocketIO9WebSocket_">ws</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The WebSocket for this engine.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">ws</span><span class="p">:</span> <span class="kt">WebSocket</span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:vC8SocketIO12SocketEngine6clientXwGSqPS_18SocketEngineClient__"></a>
<a name="//apple_ref/swift/Property/client" class="dashAnchor"></a>
<a class="token" href="#/s:vC8SocketIO12SocketEngine6clientXwGSqPS_18SocketEngineClient__">client</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The client for this engine.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="k">weak</span> <span class="k">var</span> <span class="nv">client</span><span class="p">:</span> <span class="kt"><a href="../Protocols/SocketEngineClient.html">SocketEngineClient</a></span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/Initializers"></a>
<a name="//apple_ref/swift/Section/Initializers" class="dashAnchor"></a>
<a href="#/Initializers">
<h3 class="section-name">Initializers</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:FC8SocketIO12SocketEnginecFT6clientPS_18SocketEngineClient_3urlV10Foundation3URL6configVS_27SocketIOClientConfiguration_S0_"></a>
<a name="//apple_ref/swift/Method/init(client:url:config:)" class="dashAnchor"></a>
<a class="token" href="#/s:FC8SocketIO12SocketEnginecFT6clientPS_18SocketEngineClient_3urlV10Foundation3URL6configVS_27SocketIOClientConfiguration_S0_">init(client:url:config:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Creates a new engine.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span> <span class="kt"><a href="../Protocols/SocketEngineClient.html">SocketEngineClient</a></span><span class="p">,</span> <span class="nv">url</span><span class="p">:</span> <span class="kt">URL</span><span class="p">,</span> <span class="nv">config</span><span class="p">:</span> <span class="kt"><a href="../Structs/SocketIOClientConfiguration.html">SocketIOClientConfiguration</a></span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>client</em>
</code>
</td>
<td>
<div>
<p>The client for this engine.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>url</em>
</code>
</td>
<td>
<div>
<p>The url for this engine.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>config</em>
</code>
</td>
<td>
<div>
<p>An array of configuration options for this engine.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:FC8SocketIO12SocketEnginecFT6clientPS_18SocketEngineClient_3urlV10Foundation3URL7optionsGSqCSo12NSDictionary__S0_"></a>
<a name="//apple_ref/swift/Method/init(client:url:options:)" class="dashAnchor"></a>
<a class="token" href="#/s:FC8SocketIO12SocketEnginecFT6clientPS_18SocketEngineClient_3urlV10Foundation3URL7optionsGSqCSo12NSDictionary__S0_">init(client:url:options:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Creates a new engine.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span> <span class="kt"><a href="../Protocols/SocketEngineClient.html">SocketEngineClient</a></span><span class="p">,</span> <span class="nv">url</span><span class="p">:</span> <span class="kt">URL</span><span class="p">,</span> <span class="nv">options</span><span class="p">:</span> <span class="kt">NSDictionary</span><span class="p">?)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>client</em>
</code>
</td>
<td>
<div>
<p>The client for this engine.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>url</em>
</code>
</td>
<td>
<div>
<p>The url for this engine.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>options</em>
</code>
</td>
<td>
<div>
<p>The options for this engine.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/Methods"></a>
<a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
<a href="#/Methods">
<h3 class="section-name">Methods</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:FC8SocketIO12SocketEngine7connectFT_T_"></a>
<a name="//apple_ref/swift/Method/connect()" class="dashAnchor"></a>
<a class="token" href="#/s:FC8SocketIO12SocketEngine7connectFT_T_">connect()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Starts the connection to the server.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">connect</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:FC8SocketIO12SocketEngine8didErrorFT6reasonSS_T_"></a>
<a name="//apple_ref/swift/Method/didError(reason:)" class="dashAnchor"></a>
<a class="token" href="#/s:FC8SocketIO12SocketEngine8didErrorFT6reasonSS_T_">didError(reason:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Called when an error happens during execution. Causes a disconnection.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">didError</span><span class="p">(</span><span class="nv">reason</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:FC8SocketIO12SocketEngine10disconnectFT6reasonSS_T_"></a>
<a name="//apple_ref/swift/Method/disconnect(reason:)" class="dashAnchor"></a>
<a class="token" href="#/s:FC8SocketIO12SocketEngine10disconnectFT6reasonSS_T_">disconnect(reason:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Disconnects from the server.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">disconnect</span><span class="p">(</span><span class="nv">reason</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>reason</em>
</code>
</td>
<td>
<div>
<p>The reason for the disconnection. This is communicated up to the client.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:FC8SocketIO12SocketEngine13doFastUpgradeFT_T_"></a>
<a name="//apple_ref/swift/Method/doFastUpgrade()" class="dashAnchor"></a>
<a class="token" href="#/s:FC8SocketIO12SocketEngine13doFastUpgradeFT_T_">doFastUpgrade()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Called to switch from HTTP long-polling to WebSockets. After calling this method the engine will be in
WebSocket mode.</p>
<p><strong>You shouldn&rsquo;t call this directly</strong></p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">doFastUpgrade</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:FC8SocketIO12SocketEngine30flushWaitingForPostToWebSocketFT_T_"></a>
<a name="//apple_ref/swift/Method/flushWaitingForPostToWebSocket()" class="dashAnchor"></a>
<a class="token" href="#/s:FC8SocketIO12SocketEngine30flushWaitingForPostToWebSocketFT_T_">flushWaitingForPostToWebSocket()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Causes any packets that were waiting for POSTing to be sent through the WebSocket. This happens because when
the engine is attempting to upgrade to WebSocket it does not do any POSTing.</p>
<p><strong>You shouldn&rsquo;t call this directly</strong></p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">flushWaitingForPostToWebSocket</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:FC8SocketIO12SocketEngine15parseEngineDataFV10Foundation4DataT_"></a>
<a name="//apple_ref/swift/Method/parseEngineData(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:FC8SocketIO12SocketEngine15parseEngineDataFV10Foundation4DataT_">parseEngineData(_:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Parses raw binary received from engine.io.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">parseEngineData</span><span class="p">(</span><span class="n">_</span> <span class="nv">data</span><span class="p">:</span> <span class="kt">Data</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>data</em>
</code>
</td>
<td>
<div>
<p>The data to parse.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:FC8SocketIO12SocketEngine18parseEngineMessageFSST_"></a>
<a name="//apple_ref/swift/Method/parseEngineMessage(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:FC8SocketIO12SocketEngine18parseEngineMessageFSST_">parseEngineMessage(_:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Parses a raw engine.io packet.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">parseEngineMessage</span><span class="p">(</span><span class="n">_</span> <span class="nv">message</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>message</em>
</code>
</td>
<td>
<div>
<p>The message to parse.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>fromPolling</em>
</code>
</td>
<td>
<div>
<p>Whether this message is from long-polling.
If <code>true</code> we might have to fix utf8 encoding.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:FC8SocketIO12SocketEngine5writeFTSS8withTypeOS_22SocketEnginePacketType8withDataGSaV10Foundation4Data__T_"></a>
<a name="//apple_ref/swift/Method/write(_:withType:withData:)" class="dashAnchor"></a>
<a class="token" href="#/s:FC8SocketIO12SocketEngine5writeFTSS8withTypeOS_22SocketEnginePacketType8withDataGSaV10Foundation4Data__T_">write(_:withType:withData:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Writes a message to engine.io, independent of transport.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">write</span><span class="p">(</span><span class="n">_</span> <span class="nv">msg</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="n">withType</span> <span class="nv">type</span><span class="p">:</span> <span class="kt"><a href="../Enums/SocketEnginePacketType.html">SocketEnginePacketType</a></span><span class="p">,</span> <span class="n">withData</span> <span class="nv">data</span><span class="p">:</span> <span class="p">[</span><span class="kt">Data</span><span class="p">])</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>msg</em>
</code>
</td>
<td>
<div>
<p>The message to send.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>withType</em>
</code>
</td>
<td>
<div>
<p>The type of this message.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>withData</em>
</code>
</td>
<td>
<div>
<p>Any data that this message has.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/Starscream%20delegate%20conformance"></a>
<a name="//apple_ref/swift/Section/Starscream delegate conformance" class="dashAnchor"></a>
<a href="#/Starscream%20delegate%20conformance">
<h3 class="section-name">Starscream delegate conformance</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:FC8SocketIO12SocketEngine19websocketDidConnectFT6socketC18StarscreamSocketIO9WebSocket_T_"></a>
<a name="//apple_ref/swift/Method/websocketDidConnect(socket:)" class="dashAnchor"></a>
<a class="token" href="#/s:FC8SocketIO12SocketEngine19websocketDidConnectFT6socketC18StarscreamSocketIO9WebSocket_T_">websocketDidConnect(socket:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Delegate method for connection.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">websocketDidConnect</span><span class="p">(</span><span class="nv">socket</span><span class="p">:</span> <span class="kt">WebSocket</span><span class="p">)</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:FC8SocketIO12SocketEngine22websocketDidDisconnectFT6socketC18StarscreamSocketIO9WebSocket5errorGSqCSo7NSError__T_"></a>
<a name="//apple_ref/swift/Method/websocketDidDisconnect(socket:error:)" class="dashAnchor"></a>
<a class="token" href="#/s:FC8SocketIO12SocketEngine22websocketDidDisconnectFT6socketC18StarscreamSocketIO9WebSocket5errorGSqCSo7NSError__T_">websocketDidDisconnect(socket:error:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Delegate method for disconnection.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">websocketDidDisconnect</span><span class="p">(</span><span class="nv">socket</span><span class="p">:</span> <span class="kt">WebSocket</span><span class="p">,</span> <span class="nv">error</span><span class="p">:</span> <span class="kt">NSError</span><span class="p">?)</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/URLSessionDelegate%20methods"></a>
<a name="//apple_ref/swift/Section/URLSessionDelegate methods" class="dashAnchor"></a>
<a href="#/URLSessionDelegate%20methods">
<h3 class="section-name">URLSessionDelegate methods</h3>
</a>
</div>
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:FC8SocketIO12SocketEngine10URLSessionFT7sessionCSo10URLSession25didBecomeInvalidWithErrorGSqCSo7NSError__T_"></a>
<a name="//apple_ref/swift/Method/URLSession(session:didBecomeInvalidWithError:)" class="dashAnchor"></a>
<a class="token" href="#/s:FC8SocketIO12SocketEngine10URLSessionFT7sessionCSo10URLSession25didBecomeInvalidWithErrorGSqCSo7NSError__T_">URLSession(session:didBecomeInvalidWithError:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Delegate called when the session becomes invalid.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="kt">URLSession</span><span class="p">(</span><span class="nv">session</span><span class="p">:</span> <span class="kt">URLSession</span><span class="p">,</span> <span class="n">didBecomeInvalidWithError</span> <span class="nv">error</span><span class="p">:</span> <span class="kt">NSError</span><span class="p">?)</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<section class="footer">
<p>&copy; 2017 <a class="link" href="https://github.com/socketio/socket.io-client-swift" target="_blank" rel="external">Erik</a>. All rights reserved. (Last updated: 2017-08-06)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.8.1</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>
</html>