You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by bu...@apache.org on 2014/11/11 01:55:32 UTC

svn commit: r928668 - in /websites/staging/thrift/trunk/content: ./ tutorial/haxe.html

Author: buildbot
Date: Tue Nov 11 00:55:31 2014
New Revision: 928668

Log:
Staging update by buildbot for thrift

Modified:
    websites/staging/thrift/trunk/content/   (props changed)
    websites/staging/thrift/trunk/content/tutorial/haxe.html

Propchange: websites/staging/thrift/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Nov 11 00:55:31 2014
@@ -1 +1 @@
-1637863
+1638003

Modified: websites/staging/thrift/trunk/content/tutorial/haxe.html
==============================================================================
--- websites/staging/thrift/trunk/content/tutorial/haxe.html (original)
+++ websites/staging/thrift/trunk/content/tutorial/haxe.html Tue Nov 11 00:55:31 2014
@@ -97,400 +97,401 @@
 <h3 id="client">Client</h3>
 <p>For this tutorial, we put both the server and the client main code into one single program. 
 Depending on the arguments passed, it runs as a server or as a client program.</p>
-<div class="codehilite"><pre><span class="n">package</span><span class="p">;</span>
+<div class="codehilite"><pre><span class="nt">&lt;div</span> <span class="na">class=</span><span class="s">&quot;codehilite&quot;</span><span class="nt">&gt;&lt;pre&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;kd&quot;</span><span class="nt">&gt;</span>package<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
 </pre></div>
 
 
-<p>import org.apache.thrift.<em>;
-import org.apache.thrift.protocol.</em>;
-import org.apache.thrift.transport.<em>;
-import org.apache.thrift.server.</em>;
-import org.apache.thrift.meta_data.*;</p>
-<p>import tutorial.<em>;
-import shared.</em>;</p>
-<p>enum Prot {
-    binary;
-    json;
-}</p>
-<p>enum Trns {
-    socket;
-    http;
-}</p>
-<p>class Main {</p>
-<div class="codehilite"><pre><span class="n">private</span> <span class="n">static</span> <span class="n">var</span> <span class="n">server</span> <span class="p">:</span> <span class="n">Bool</span> <span class="p">=</span> <span class="n">false</span><span class="p">;</span>
-<span class="n">private</span> <span class="n">static</span> <span class="n">var</span> <span class="n">framed</span> <span class="p">:</span> <span class="n">Bool</span> <span class="p">=</span> <span class="n">false</span><span class="p">;</span>
-<span class="n">private</span> <span class="n">static</span> <span class="n">var</span> <span class="n">buffered</span> <span class="p">:</span> <span class="n">Bool</span> <span class="p">=</span> <span class="n">false</span><span class="p">;</span>
-<span class="n">private</span> <span class="n">static</span> <span class="n">var</span> <span class="n">prot</span> <span class="p">:</span> <span class="n">Prot</span> <span class="p">=</span> <span class="n">binary</span><span class="p">;</span>
-<span class="n">private</span> <span class="n">static</span> <span class="n">var</span> <span class="n">trns</span> <span class="p">:</span> <span class="n">Trns</span> <span class="p">=</span> <span class="n">socket</span><span class="p">;</span>
-
-<span class="n">private</span> <span class="n">static</span> <span class="n">var</span> <span class="n">targetHost</span> <span class="p">:</span> <span class="n">String</span> <span class="p">=</span> &quot;<span class="n">localhost</span>&quot;<span class="p">;</span>
-<span class="n">private</span> <span class="n">static</span> <span class="n">var</span> <span class="n">targetPort</span> <span class="p">:</span> <span class="n">Int</span> <span class="p">=</span> 9090<span class="p">;</span>
-
-<span class="n">static</span> <span class="k">function</span> <span class="n">main</span><span class="p">()</span> <span class="p">{</span>
-    #<span class="k">if</span> ! <span class="p">(</span><span class="n">flash</span> <span class="o">||</span> <span class="n">js</span><span class="p">)</span>
-    <span class="k">try</span> <span class="p">{</span>
-          <span class="n">ParseArgs</span><span class="p">();</span>
-    <span class="p">}</span> <span class="k">catch</span> <span class="p">(</span><span class="n">e</span> <span class="p">:</span> <span class="n">String</span><span class="p">)</span> <span class="p">{</span>
-        <span class="n">trace</span><span class="p">(</span><span class="n">e</span><span class="p">);</span>
-        <span class="n">trace</span><span class="p">(</span><span class="n">GetHelp</span><span class="p">());</span>
-        <span class="k">return</span><span class="p">;</span>
-    <span class="p">}</span>
-    #<span class="k">end</span>
-
-    <span class="k">try</span> <span class="p">{</span>
-        <span class="k">if</span> <span class="p">(</span><span class="n">server</span><span class="p">)</span>
-            <span class="n">RunServer</span><span class="p">();</span>
-        <span class="k">else</span>
-            <span class="n">RunClient</span><span class="p">();</span>
-    <span class="p">}</span> <span class="k">catch</span> <span class="p">(</span><span class="n">e</span> <span class="p">:</span> <span class="n">String</span><span class="p">)</span> <span class="p">{</span>
-        <span class="n">trace</span><span class="p">(</span><span class="n">e</span><span class="p">);</span>
-    <span class="p">}</span>
-
-    <span class="n">trace</span><span class="p">(</span>&quot;<span class="n">Completed</span><span class="p">.</span>&quot;<span class="p">);</span>
-<span class="p">}</span>
-
-
-#<span class="k">if</span> ! <span class="p">(</span><span class="n">flash</span> <span class="o">||</span> <span class="n">js</span><span class="p">)</span>
-
-<span class="n">private</span> <span class="n">static</span> <span class="k">function</span> <span class="n">GetHelp</span><span class="p">()</span> <span class="p">:</span> <span class="n">String</span> <span class="p">{</span>
-    <span class="k">return</span> <span class="n">Sys</span><span class="p">.</span><span class="n">executablePath</span><span class="p">()</span><span class="o">+</span>&quot;  <span class="n">modus</span>  <span class="n">trnsOption</span>  <span class="n">transport</span>  <span class="n">protocol</span><span class="o">\</span><span class="n">n</span>&quot;
-    <span class="o">+</span>&quot;<span class="n">Options</span><span class="p">:</span><span class="o">\</span><span class="n">n</span>&quot;
-    <span class="o">+</span>&quot;  <span class="n">modus</span><span class="p">:</span>       <span class="n">client</span><span class="p">,</span> <span class="n">server</span>   <span class="p">(</span><span class="n">default</span><span class="p">:</span> <span class="n">client</span><span class="p">)</span><span class="o">\</span><span class="n">n</span>&quot;
-    <span class="o">+</span>&quot;  <span class="n">trnsOption</span><span class="p">:</span>  <span class="n">framed</span><span class="p">,</span> <span class="n">buffered</span> <span class="p">(</span><span class="n">default</span><span class="p">:</span> <span class="n">none</span><span class="p">)</span><span class="o">\</span><span class="n">n</span>&quot;
-    <span class="o">+</span>&quot;  <span class="n">transport</span><span class="p">:</span>   <span class="n">socket</span><span class="p">,</span> <span class="n">http</span>     <span class="p">(</span><span class="n">default</span><span class="p">:</span> <span class="n">socket</span><span class="p">)</span><span class="o">\</span><span class="n">n</span>&quot;
-    <span class="o">+</span>&quot;  <span class="n">protocol</span><span class="p">:</span>    <span class="n">binary</span><span class="p">,</span> <span class="n">json</span>     <span class="p">(</span><span class="n">default</span><span class="p">:</span> <span class="n">binary</span><span class="p">)</span><span class="o">\</span><span class="n">n</span>&quot;
-    <span class="o">+</span>&quot;<span class="o">\</span><span class="n">n</span>&quot;
-    <span class="o">+</span>&quot;<span class="n">All</span> <span class="n">arguments</span> <span class="n">are</span> <span class="n">optional</span><span class="o">.\</span><span class="n">n</span>&quot;<span class="p">;</span>
-<span class="p">}</span>
-
-
-<span class="n">private</span> <span class="n">static</span> <span class="k">function</span> <span class="n">ParseArgs</span><span class="p">()</span> <span class="p">:</span> <span class="n">Void</span> <span class="p">{</span>
-    <span class="n">var</span> <span class="n">step</span> <span class="p">=</span> 0<span class="p">;</span>
-    <span class="k">for</span> <span class="p">(</span><span class="n">arg</span> <span class="n">in</span> <span class="n">Sys</span><span class="p">.</span><span class="n">args</span><span class="p">())</span> <span class="p">{</span>
-
-        <span class="o">//</span> <span class="n">server</span><span class="o">|</span><span class="n">client</span>
-        <span class="k">switch</span><span class="p">(</span><span class="n">step</span><span class="p">)</span> <span class="p">{</span>
-        <span class="k">case</span> 0<span class="p">:</span>
-            <span class="o">++</span><span class="n">step</span><span class="p">;</span>
-            <span class="k">if</span> <span class="p">(</span> <span class="n">arg</span> <span class="o">==</span> &quot;<span class="n">client</span>&quot;<span class="p">)</span>
-                <span class="n">server</span> <span class="p">=</span> <span class="n">false</span><span class="p">;</span>
-            <span class="k">else</span> <span class="k">if</span> <span class="p">(</span> <span class="n">arg</span> <span class="o">==</span> &quot;<span class="n">server</span>&quot;<span class="p">)</span>
-                <span class="n">server</span> <span class="p">=</span> <span class="n">true</span><span class="p">;</span>
-            <span class="k">else</span>
-                <span class="n">throw</span> &quot;<span class="n">First</span> <span class="n">argument</span> <span class="n">must</span> <span class="n">be</span> <span class="s">&#39;server&#39;</span> <span class="n">or</span> <span class="s">&#39;client&#39;</span>&quot;<span class="p">;</span>
-
-        <span class="k">case</span> 1<span class="p">:</span>
-            <span class="k">if</span> <span class="p">(</span> <span class="n">arg</span> <span class="o">==</span> &quot;<span class="n">framed</span>&quot;<span class="p">)</span> <span class="p">{</span>
-                <span class="n">framed</span> <span class="p">=</span> <span class="n">true</span><span class="p">;</span>
-            <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span> <span class="n">arg</span> <span class="o">==</span> &quot;<span class="n">buffered</span>&quot;<span class="p">)</span> <span class="p">{</span>
-                <span class="n">buffered</span> <span class="p">=</span> <span class="n">true</span><span class="p">;</span>
-            <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span> <span class="n">arg</span> <span class="o">==</span> &quot;<span class="n">socket</span>&quot;<span class="p">)</span> <span class="p">{</span>
-                <span class="n">trns</span> <span class="p">=</span> <span class="n">socket</span><span class="p">;</span>
-                <span class="o">++</span><span class="n">step</span><span class="p">;</span>
-            <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span> <span class="n">arg</span> <span class="o">==</span> &quot;<span class="n">http</span>&quot;<span class="p">)</span> <span class="p">{</span>
-                <span class="n">trns</span> <span class="p">=</span> <span class="n">http</span><span class="p">;</span>
-                <span class="o">++</span><span class="n">step</span><span class="p">;</span>
-            <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
-                <span class="n">throw</span> &quot;<span class="n">Unknown</span> <span class="n">transport</span> &quot;<span class="o">+</span><span class="n">arg</span><span class="p">;</span>
-            <span class="p">}</span>
-
-        <span class="k">case</span> 2<span class="p">:</span>
-            <span class="k">if</span> <span class="p">(</span> <span class="n">arg</span> <span class="o">==</span> &quot;<span class="n">binary</span>&quot;<span class="p">)</span> <span class="p">{</span>
-                <span class="n">prot</span> <span class="p">=</span> <span class="n">binary</span><span class="p">;</span>
-                <span class="o">++</span><span class="n">step</span><span class="p">;</span>
-            <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span> <span class="n">arg</span> <span class="o">==</span> &quot;<span class="n">json</span>&quot;<span class="p">)</span> <span class="p">{</span>
-                <span class="n">prot</span> <span class="p">=</span> <span class="n">json</span><span class="p">;</span>
-                <span class="o">++</span><span class="n">step</span><span class="p">;</span>
-            <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
-                <span class="n">throw</span> &quot;<span class="n">Unknown</span> <span class="n">protocol</span> &quot;<span class="o">+</span><span class="n">arg</span><span class="p">;</span>
-            <span class="p">}</span>
-
-        <span class="n">default</span><span class="p">:</span>
-            <span class="n">throw</span> &quot;<span class="n">Unexpected</span> <span class="n">argument</span> &quot;<span class="o">+</span><span class="n">arg</span><span class="p">;</span>
-        <span class="p">}</span>
-
-        <span class="k">if</span> <span class="p">(</span> <span class="n">framed</span> <span class="o">&amp;&amp;</span> <span class="n">buffered</span><span class="p">)</span>
-        <span class="p">{</span>
-            <span class="n">trace</span><span class="p">(</span>&quot;<span class="n">WN</span><span class="p">:</span> <span class="n">framed</span> <span class="n">supersedes</span> <span class="n">buffered</span>&quot;<span class="p">);</span>
-        <span class="p">}</span>
-
-    <span class="p">}</span>
-<span class="p">}</span>
-
-#<span class="k">end</span>
-
-<span class="n">private</span> <span class="n">static</span> <span class="k">function</span> <span class="n">ClientSetup</span><span class="p">()</span> <span class="p">:</span> <span class="n">Calculator</span> <span class="p">{</span>
-     <span class="n">trace</span><span class="p">(</span>&quot;<span class="n">Client</span> <span class="n">configuration</span><span class="p">:</span>&quot;<span class="p">);</span>
-
-    <span class="o">//</span> <span class="n">endpoint</span> <span class="n">transport</span>
-    <span class="n">var</span> <span class="n">transport</span> <span class="p">:</span> <span class="n">TTransport</span><span class="p">;</span>
-    <span class="k">switch</span><span class="p">(</span><span class="n">trns</span><span class="p">)</span>
-    <span class="p">{</span>
-    <span class="k">case</span> <span class="n">socket</span><span class="p">:</span>
-         <span class="n">trace</span><span class="p">(</span><span class="s">&#39;- socket transport $targetHost:$targetPort&#39;</span><span class="p">);</span>
-        <span class="n">transport</span> <span class="p">=</span> <span class="n">new</span> <span class="n">TSocket</span><span class="p">(</span> <span class="n">targetHost</span><span class="p">,</span> <span class="n">targetPort</span><span class="p">);</span>
-    <span class="k">case</span> <span class="n">http</span><span class="p">:</span>
-         <span class="n">trace</span><span class="p">(</span><span class="s">&#39;- HTTP transport $targetHost&#39;</span><span class="p">);</span>
-        <span class="n">transport</span> <span class="p">=</span> <span class="n">new</span> <span class="n">THttpClient</span><span class="p">(</span> <span class="n">targetHost</span><span class="p">);</span>
-    <span class="n">default</span><span class="p">:</span>
-        <span class="n">throw</span> &quot;<span class="n">Unhandled</span> <span class="n">transport</span>&quot;<span class="p">;</span>
-    <span class="p">}</span>
-
-
-    <span class="o">//</span> <span class="n">optinal</span> <span class="n">layered</span> <span class="n">transport</span>
-    <span class="k">if</span> <span class="p">(</span> <span class="n">framed</span><span class="p">)</span> <span class="p">{</span>
-         <span class="n">trace</span><span class="p">(</span>&quot;<span class="o">-</span> <span class="n">framed</span> <span class="n">transport</span>&quot;<span class="p">);</span>
-        <span class="n">transport</span> <span class="p">=</span> <span class="n">new</span> <span class="n">TFramedTransport</span><span class="p">(</span><span class="n">transport</span><span class="p">);</span>
-    <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span> <span class="n">buffered</span><span class="p">)</span> <span class="p">{</span>
-         <span class="n">trace</span><span class="p">(</span>&quot;<span class="o">-</span> <span class="n">buffered</span> <span class="n">transport</span>&quot;<span class="p">);</span>
-        <span class="n">throw</span> &quot;<span class="n">TBufferedTransport</span> <span class="n">not</span> <span class="n">implemented</span> <span class="n">yet</span>&quot;<span class="p">;</span>
-        <span class="o">//</span><span class="n">transport</span> <span class="p">=</span> <span class="n">new</span> <span class="n">TBufferedTransport</span><span class="p">(</span><span class="n">transport</span><span class="p">);</span>
-    <span class="p">}</span>
-
-
-    <span class="o">//</span> <span class="n">protocol</span>
-    <span class="n">var</span> <span class="n">protocol</span> <span class="p">:</span> <span class="n">TProtocol</span><span class="p">;</span>
-    <span class="k">switch</span><span class="p">(</span><span class="n">prot</span><span class="p">)</span>
-    <span class="p">{</span>
-    <span class="k">case</span> <span class="n">binary</span><span class="p">:</span>
-         <span class="n">trace</span><span class="p">(</span>&quot;<span class="o">-</span> <span class="n">binary</span> <span class="n">protocol</span>&quot;<span class="p">);</span>
-         <span class="n">protocol</span> <span class="p">=</span> <span class="n">new</span> <span class="n">TBinaryProtocol</span><span class="p">(</span> <span class="n">transport</span><span class="p">);</span>
-    <span class="k">case</span> <span class="n">json</span><span class="p">:</span>
-         <span class="n">trace</span><span class="p">(</span>&quot;<span class="o">-</span> <span class="n">JSON</span> <span class="n">protocol</span>&quot;<span class="p">);</span>
-         <span class="n">protocol</span> <span class="p">=</span> <span class="n">new</span> <span class="n">TJSONProtocol</span><span class="p">(</span> <span class="n">transport</span><span class="p">);</span>
-    <span class="n">default</span><span class="p">:</span>
-        <span class="n">throw</span> &quot;<span class="n">Unhandled</span> <span class="n">protocol</span>&quot;<span class="p">;</span>
-    <span class="p">}</span>
-
-
-    <span class="o">//</span> <span class="n">put</span> <span class="n">everything</span> <span class="n">together</span>
-    <span class="n">transport</span><span class="p">.</span><span class="n">open</span><span class="p">();</span>
-    <span class="k">return</span> <span class="n">new</span> <span class="n">CalculatorImpl</span><span class="p">(</span><span class="n">protocol</span><span class="p">,</span><span class="n">protocol</span><span class="p">);</span>
-<span class="p">}</span>
-
-
-<span class="n">private</span> <span class="n">static</span> <span class="k">function</span> <span class="n">RunClient</span><span class="p">()</span> <span class="p">:</span> <span class="n">Void</span> <span class="p">{</span>
-    <span class="n">var</span> <span class="n">client</span> <span class="p">=</span> <span class="n">ClientSetup</span><span class="p">();</span>
-
-    <span class="k">try</span> <span class="p">{</span>
-          <span class="n">client</span><span class="p">.</span><span class="n">ping</span><span class="p">();</span>
-        <span class="n">trace</span><span class="p">(</span>&quot;<span class="n">ping</span><span class="p">()</span> <span class="n">successful</span>&quot;<span class="p">);</span>
-    <span class="p">}</span> <span class="k">catch</span><span class="p">(</span><span class="n">error</span> <span class="p">:</span> <span class="n">TException</span><span class="p">)</span> <span class="p">{</span>
-        <span class="n">trace</span><span class="p">(</span><span class="s">&#39;ping() failed: $error&#39;</span><span class="p">);</span>
-    <span class="p">}</span> <span class="k">catch</span><span class="p">(</span><span class="n">error</span> <span class="p">:</span> <span class="n">Dynamic</span><span class="p">)</span> <span class="p">{</span>
-        <span class="n">trace</span><span class="p">(</span><span class="s">&#39;ping() failed: $error&#39;</span><span class="p">);</span>
-    <span class="p">}</span>
-
-    <span class="k">try</span> <span class="p">{</span>
-        <span class="n">var</span> <span class="n">sum</span> <span class="p">=</span> <span class="n">client</span><span class="p">.</span><span class="n">add</span><span class="p">(</span> 1<span class="p">,</span> 1<span class="p">);</span>
-        <span class="n">trace</span><span class="p">(</span><span class="s">&#39;1+1=$sum&#39;</span><span class="p">);</span>
-    <span class="p">}</span> <span class="k">catch</span><span class="p">(</span><span class="n">error</span> <span class="p">:</span> <span class="n">TException</span><span class="p">)</span> <span class="p">{</span>
-        <span class="n">trace</span><span class="p">(</span><span class="s">&#39;add() failed: $error&#39;</span><span class="p">);</span>
-    <span class="p">}</span> <span class="k">catch</span><span class="p">(</span><span class="n">error</span> <span class="p">:</span> <span class="n">Dynamic</span><span class="p">)</span> <span class="p">{</span>
-        <span class="n">trace</span><span class="p">(</span><span class="s">&#39;add() failed: $error&#39;</span><span class="p">);</span>
-    <span class="p">}</span>
-
-
-    <span class="n">var</span> <span class="n">work</span> <span class="p">=</span> <span class="n">new</span> <span class="n">tutorial</span><span class="p">.</span><span class="n">Work</span><span class="p">();</span>
-    <span class="n">work</span><span class="p">.</span><span class="n">op</span> <span class="p">=</span> <span class="n">tutorial</span><span class="p">.</span><span class="n">Operation</span><span class="p">.</span><span class="n">DIVIDE</span><span class="p">;</span>
-    <span class="n">work</span><span class="p">.</span><span class="n">num1</span> <span class="p">=</span> 1<span class="p">;</span>
-    <span class="n">work</span><span class="p">.</span><span class="n">num2</span> <span class="p">=</span> 0<span class="p">;</span>
-    <span class="k">try</span> <span class="p">{</span>
-        <span class="n">var</span> <span class="n">quotient</span> <span class="p">=</span> <span class="n">client</span><span class="p">.</span><span class="n">calculate</span><span class="p">(</span> 1<span class="p">,</span> <span class="n">work</span><span class="p">);</span>
-        <span class="n">trace</span><span class="p">(</span><span class="s">&#39;Whoa we can divide by 0! Result = $quotient&#39;</span><span class="p">);</span>
-    <span class="p">}</span> <span class="k">catch</span><span class="p">(</span><span class="n">error</span> <span class="p">:</span> <span class="n">TException</span><span class="p">)</span> <span class="p">{</span>
-        <span class="n">trace</span><span class="p">(</span><span class="s">&#39;calculate() failed: $error&#39;</span><span class="p">);</span>
-    <span class="p">}</span> <span class="k">catch</span><span class="p">(</span><span class="n">error</span> <span class="p">:</span> <span class="n">Dynamic</span><span class="p">)</span> <span class="p">{</span>
-        <span class="n">trace</span><span class="p">(</span><span class="s">&#39;calculate() failed: $error&#39;</span><span class="p">);</span>
-    <span class="p">}</span>
-
-    <span class="n">work</span><span class="p">.</span><span class="n">op</span> <span class="p">=</span> <span class="n">tutorial</span><span class="p">.</span><span class="n">Operation</span><span class="p">.</span><span class="n">SUBTRACT</span><span class="p">;</span>
-    <span class="n">work</span><span class="p">.</span><span class="n">num1</span> <span class="p">=</span> 15<span class="p">;</span>
-    <span class="n">work</span><span class="p">.</span><span class="n">num2</span> <span class="p">=</span> 10<span class="p">;</span>
-    <span class="k">try</span> <span class="p">{</span>
-        <span class="n">var</span> <span class="n">diff</span> <span class="p">=</span> <span class="n">client</span><span class="p">.</span><span class="n">calculate</span><span class="p">(</span> 1<span class="p">,</span> <span class="n">work</span><span class="p">);</span>
-        <span class="n">trace</span><span class="p">(</span><span class="s">&#39;15-10=$diff&#39;</span><span class="p">);</span>
-    <span class="p">}</span> <span class="k">catch</span><span class="p">(</span><span class="n">error</span> <span class="p">:</span> <span class="n">TException</span><span class="p">)</span> <span class="p">{</span>
-        <span class="n">trace</span><span class="p">(</span><span class="s">&#39;calculate() failed: $error&#39;</span><span class="p">);</span>
-    <span class="p">}</span> <span class="k">catch</span><span class="p">(</span><span class="n">error</span> <span class="p">:</span> <span class="n">Dynamic</span><span class="p">)</span> <span class="p">{</span>
-        <span class="n">trace</span><span class="p">(</span><span class="s">&#39;calculate() failed: $error&#39;</span><span class="p">);</span>
-    <span class="p">}</span>
-
-
-    <span class="k">try</span> <span class="p">{</span>
-        <span class="n">var</span> <span class="nb">log</span> <span class="p">:</span> <span class="n">SharedStruct</span> <span class="p">=</span> <span class="n">client</span><span class="p">.</span><span class="n">getStruct</span><span class="p">(</span> 1<span class="p">);</span>
-        <span class="n">var</span> <span class="n">logval</span> <span class="p">=</span> <span class="nb">log</span><span class="p">.</span><span class="n">value</span><span class="p">;</span>
-        <span class="n">trace</span><span class="p">(</span><span class="s">&#39;Check log: $logval&#39;</span><span class="p">);</span>
-    <span class="p">}</span> <span class="k">catch</span><span class="p">(</span><span class="n">error</span> <span class="p">:</span> <span class="n">TException</span><span class="p">)</span> <span class="p">{</span>
-        <span class="n">trace</span><span class="p">(</span><span class="s">&#39;getStruct() failed: $error&#39;</span><span class="p">);</span>
-    <span class="p">}</span> <span class="k">catch</span><span class="p">(</span><span class="n">error</span> <span class="p">:</span> <span class="n">Dynamic</span><span class="p">)</span> <span class="p">{</span>
-        <span class="n">trace</span><span class="p">(</span><span class="s">&#39;getStruct() failed: $error&#39;</span><span class="p">);</span>
-    <span class="p">}</span>
-<span class="p">}</span>
-
-
-<span class="n">private</span> <span class="n">static</span> <span class="k">function</span> <span class="n">ServerSetup</span><span class="p">()</span> <span class="p">:</span> <span class="n">TServer</span> <span class="p">{</span>
-     <span class="n">trace</span><span class="p">(</span>&quot;<span class="n">Server</span> <span class="n">configuration</span><span class="p">:</span>&quot;<span class="p">);</span>
-
-    <span class="o">//</span> <span class="n">endpoint</span> <span class="n">transport</span>
-    <span class="n">var</span> <span class="n">transport</span> <span class="p">:</span> <span class="n">TServerTransport</span> <span class="p">=</span> <span class="n">null</span><span class="p">;</span>
-    <span class="k">switch</span><span class="p">(</span><span class="n">trns</span><span class="p">)</span>
-    <span class="p">{</span>
-    <span class="k">case</span> <span class="n">socket</span><span class="p">:</span>
-        #<span class="k">if</span> <span class="p">(</span><span class="n">flash</span> <span class="o">||</span> <span class="n">js</span><span class="p">)</span>
-        <span class="n">throw</span> <span class="s">&#39;current platform does not support socket servers&#39;</span><span class="p">;</span>
-        #<span class="k">else</span>
-         <span class="n">trace</span><span class="p">(</span><span class="s">&#39;- socket transport port $targetPort&#39;</span><span class="p">);</span>
-        <span class="n">transport</span> <span class="p">=</span> <span class="n">new</span> <span class="n">TServerSocket</span><span class="p">(</span> <span class="n">targetPort</span><span class="p">);</span>
-        #<span class="k">end</span>
-    <span class="k">case</span> <span class="n">http</span><span class="p">:</span>
-        <span class="n">throw</span> &quot;<span class="n">HTTP</span> <span class="n">server</span> <span class="n">not</span> <span class="n">implemented</span> <span class="n">yet</span>&quot;<span class="p">;</span>
-         <span class="o">//</span><span class="n">trace</span><span class="p">(</span>&quot;<span class="o">-</span> <span class="n">http</span> <span class="n">transport</span>&quot;<span class="p">);</span>
-         <span class="o">//</span><span class="n">transport</span> <span class="p">=</span> <span class="n">new</span> <span class="n">THttpClient</span><span class="p">(</span> <span class="n">targetHost</span><span class="p">);</span>
-    <span class="n">default</span><span class="p">:</span>
-        <span class="n">throw</span> &quot;<span class="n">Unhandled</span> <span class="n">transport</span>&quot;<span class="p">;</span>
-    <span class="p">}</span>
-
-    <span class="o">//</span> <span class="n">optional</span><span class="p">:</span> <span class="n">layered</span> <span class="n">transport</span>
-    <span class="n">var</span> <span class="n">transfactory</span> <span class="p">:</span> <span class="n">TTransportFactory</span> <span class="p">=</span> <span class="n">null</span><span class="p">;</span>
-    <span class="k">if</span> <span class="p">(</span> <span class="n">framed</span><span class="p">)</span> <span class="p">{</span>
-         <span class="n">trace</span><span class="p">(</span>&quot;<span class="o">-</span> <span class="n">framed</span> <span class="n">transport</span>&quot;<span class="p">);</span>
-        <span class="n">transfactory</span> <span class="p">=</span> <span class="n">new</span> <span class="n">TFramedTransportFactory</span><span class="p">();</span>
-    <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span> <span class="n">buffered</span><span class="p">)</span> <span class="p">{</span>
-         <span class="n">trace</span><span class="p">(</span>&quot;<span class="o">-</span> <span class="n">buffered</span> <span class="n">transport</span>&quot;<span class="p">);</span>
-        <span class="n">throw</span> &quot;<span class="n">TBufferedTransport</span> <span class="n">not</span> <span class="n">implemented</span> <span class="n">yet</span>&quot;<span class="p">;</span>
-        <span class="o">//</span><span class="n">transfactory</span> <span class="p">=</span> <span class="n">new</span> <span class="n">TBufferedTransportFactory</span><span class="p">();</span>
-    <span class="p">}</span>
-
-    <span class="o">//</span> <span class="n">protocol</span>
-    <span class="n">var</span> <span class="n">protfactory</span> <span class="p">:</span> <span class="n">TProtocolFactory</span> <span class="p">=</span> <span class="n">null</span><span class="p">;</span>
-    <span class="k">switch</span><span class="p">(</span><span class="n">prot</span><span class="p">)</span>
-    <span class="p">{</span>
-    <span class="k">case</span> <span class="n">binary</span><span class="p">:</span>
-         <span class="n">trace</span><span class="p">(</span>&quot;<span class="o">-</span> <span class="n">binary</span> <span class="n">protocol</span>&quot;<span class="p">);</span>
-         <span class="n">protfactory</span> <span class="p">=</span> <span class="n">new</span> <span class="n">TBinaryProtocolFactory</span><span class="p">();</span>
-    <span class="k">case</span> <span class="n">json</span><span class="p">:</span>
-        <span class="n">trace</span><span class="p">(</span>&quot;<span class="o">-</span> <span class="n">JSON</span> <span class="n">protocol</span>&quot;<span class="p">);</span>
-         <span class="n">protfactory</span> <span class="p">=</span> <span class="n">new</span> <span class="n">TJSONProtocolFactory</span><span class="p">();</span>
-    <span class="n">default</span><span class="p">:</span>
-        <span class="n">throw</span> &quot;<span class="n">Unhandled</span> <span class="n">protocol</span>&quot;<span class="p">;</span>
-    <span class="p">}</span>
-
-    <span class="n">var</span> <span class="n">handler</span> <span class="p">=</span> <span class="n">new</span> <span class="n">CalculatorHandler</span><span class="p">();</span>
-    <span class="n">var</span> <span class="n">processor</span> <span class="p">=</span> <span class="n">new</span> <span class="n">CalculatorProcessor</span><span class="p">(</span><span class="n">handler</span><span class="p">);</span>
-    <span class="n">var</span> <span class="n">server</span> <span class="p">=</span> <span class="n">new</span> <span class="n">TSimpleServer</span><span class="p">(</span> <span class="n">processor</span><span class="p">,</span> <span class="n">transport</span><span class="p">,</span> <span class="n">transfactory</span><span class="p">,</span> <span class="n">protfactory</span><span class="p">);</span>
-    <span class="k">return</span> <span class="n">server</span><span class="p">;</span>
-<span class="p">}</span>
-
-
-<span class="n">private</span> <span class="n">static</span> <span class="k">function</span> <span class="n">RunServer</span><span class="p">()</span> <span class="p">:</span> <span class="n">Void</span> <span class="p">{</span>
-    <span class="k">try</span>
-    <span class="p">{</span>
-        <span class="n">var</span> <span class="n">server</span> <span class="p">=</span> <span class="n">ServerSetup</span><span class="p">();</span>
-
-        <span class="n">trace</span><span class="p">(</span>&quot;<span class="o">\</span><span class="n">nStarting</span> <span class="n">the</span> <span class="n">server</span><span class="p">...</span>&quot;<span class="p">);</span>
-        <span class="n">server</span><span class="p">.</span><span class="n">Serve</span><span class="p">();</span>
-    <span class="p">}</span>
-    <span class="k">catch</span><span class="p">(</span> <span class="n">e</span> <span class="p">:</span> <span class="n">Dynamic</span><span class="p">)</span>
-    <span class="p">{</span>
-        <span class="n">trace</span><span class="p">(</span><span class="s">&#39;RunServer() failed: $e&#39;</span><span class="p">);</span>
-    <span class="p">}</span>
-    <span class="n">trace</span><span class="p">(</span>&quot;<span class="n">done</span><span class="p">.</span>&quot;<span class="p">);</span>
-<span class="p">}</span>
+<p><span class="kd">import</span> <span class="nx">org</span><span class="p">.</span><span class="nx">apache</span><span class="p">.</span><span class="nx">thrift</span><span class="p">.</span><span class="o"><em>;</span>
+<span class="kd">import</span> <span class="nx">org</span><span class="p">.</span><span class="nx">apache</span><span class="p">.</span><span class="nx">thrift</span><span class="p">.</span><span class="nx">protocol</span><span class="p">.</span><span class="o"></em>;</span>
+<span class="kd">import</span> <span class="nx">org</span><span class="p">.</span><span class="nx">apache</span><span class="p">.</span><span class="nx">thrift</span><span class="p">.</span><span class="nx">transport</span><span class="p">.</span><span class="o"><em>;</span>
+<span class="kd">import</span> <span class="nx">org</span><span class="p">.</span><span class="nx">apache</span><span class="p">.</span><span class="nx">thrift</span><span class="p">.</span><span class="nx">server</span><span class="p">.</span><span class="o"></em>;</span>
+<span class="kd">import</span> <span class="nx">org</span><span class="p">.</span><span class="nx">apache</span><span class="p">.</span><span class="nx">thrift</span><span class="p">.</span><span class="nx">meta_data</span><span class="p">.</span><span class="o">*;</span></p>
+<p><span class="kd">import</span> <span class="nx">tutorial</span><span class="p">.</span><span class="o"><em>;</span>
+<span class="kd">import</span> <span class="nx">shared</span><span class="p">.</span><span class="o"></em>;</span></p>
+<p><span class="nx">enum</span> <span class="nx">Prot</span> <span class="p">{</span>
+    <span class="nx">binary</span><span class="o">;</span>
+    <span class="nx">json</span><span class="o">;</span>
+<span class="p">}</span></p>
+<p><span class="nx">enum</span> <span class="nx">Trns</span> <span class="p">{</span>
+    <span class="nx">socket</span><span class="o">;</span>
+    <span class="nx">http</span><span class="o">;</span>
+<span class="p">}</span></p>
+<p><span class="kd">class</span> <span class="nx">Main</span> <span class="p">{</span></p>
+<div class="codehilite"><pre><span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kd&quot;</span><span class="nt">&gt;</span>private<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kd&quot;</span><span class="nt">&gt;</span>static<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>var<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>server<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">
 &gt;</span>Bool<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kc&quot;</span><span class="nt">&gt;</span>false<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kd&quot;</span><span class="nt">&gt;</span>private<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kd&quot;</span><span class="nt">&gt;</span>static<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>var<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>framed<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>Bool<span class="n
 t">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kc&quot;</span><span class="nt">&gt;</span>false<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kd&quot;</span><span class="nt">&gt;</span>private<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kd&quot;</span><span class="nt">&gt;</span>static<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>var<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>buffered<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>Bool<span class=
 "nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kc&quot;</span><span class="nt">&gt;</span>false<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kd&quot;</span><span class="nt">&gt;</span>private<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kd&quot;</span><span class="nt">&gt;</span>static<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>var<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>prot<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>Prot<span class="nt"
 >&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>binary<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kd&quot;</span><span class="nt">&gt;</span>private<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kd&quot;</span><span class="nt">&gt;</span>static<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>var<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>trns<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>Trns<span class="nt"
 >&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>socket<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kd&quot;</span><span class="nt">&gt;</span>private<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kd&quot;</span><span class="nt">&gt;</span>static<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>var<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>targetHost<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nb&quot;</span><span class="nt">&gt;</span>String<span cl
 ass="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;s2&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;quot;</span>localhost<span class="ni">&amp;quot;</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kd&quot;</span><span class="nt">&gt;</span>private<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kd&quot;</span><span class="nt">&gt;</span>static<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>var<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>targetPort<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>Int<span class
 ="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;mi&quot;</span><span class="nt">&gt;</span>9090<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kd&quot;</span><span class="nt">&gt;</span>static<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kd&quot;</span><span class="nt">&gt;</span>function<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>main<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>()<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span><span class="err">{</span><span class="nt">&lt;/span&gt;</span>
+    <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;err&quot;</span><span class="nt">&gt;</span><span class="err">#</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>if<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>!<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>flash<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>||<span class="nt">&lt;/span&gt;</span> <span class="
 nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>js<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>)<span class="nt">&lt;/span&gt;</span>
+    <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>try<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span><span class="err">{</span><span class="nt">&lt;/span&gt;</span>
+          <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>ParseArgs<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>();<span class="nt">&lt;/span&gt;</span>
+    <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>}<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>catch<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>e<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nb&quot;</span><span class="nt">&gt;</span>String<span class="nt">&lt;/span&gt;&lt;span</span> <sp
 an class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>)<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span><span class="err">{</span><span class="nt">&lt;/span&gt;</span>
+        <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nf&quot;</span><span class="nt">&gt;</span>trace<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>e<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>);<span class="nt">&lt;/span&gt;</span>
+        <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nf&quot;</span><span class="nt">&gt;</span>trace<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>GetHelp<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>());<span class="nt">&lt;/span&gt;</span>
+        <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>return<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+    <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>}<span class="nt">&lt;/span&gt;</span>
+    <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;err&quot;</span><span class="nt">&gt;</span><span class="err">#</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>end<span class="nt">&lt;/span&gt;</span>
+
+    <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>try<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span><span class="err">{</span><span class="nt">&lt;/span&gt;</span>
+        <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>if<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>server<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>)<span class="nt">&lt;/span&gt;</span>
+            <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>RunServer<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>();<span class="nt">&lt;/span&gt;</span>
+        <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>else<span class="nt">&lt;/span&gt;</span>
+            <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>RunClient<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>();<span class="nt">&lt;/span&gt;</span>
+    <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>}<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>catch<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>e<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nb&quot;</span><span class="nt">&gt;</span>String<span class="nt">&lt;/span&gt;&lt;span</span> <sp
 an class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>)<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span><span class="err">{</span><span class="nt">&lt;/span&gt;</span>
+        <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nf&quot;</span><span class="nt">&gt;</span>trace<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>e<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>);<span class="nt">&lt;/span&gt;</span>
+    <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>}<span class="nt">&lt;/span&gt;</span>
+
+    <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nf&quot;</span><span class="nt">&gt;</span>trace<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;s2&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;quot;</span>Completed.<span class="ni">&amp;quot;</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>);<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>}<span class="nt">&lt;/span&gt;</span>
+
+
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;err&quot;</span><span class="nt">&gt;</span><span class="err">#</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>if<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>!<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>flash<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>||<span class="nt">&lt;/span&gt;</span> <span class="nt">
 &lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>js<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>)<span class="nt">&lt;/span&gt;</span>
+
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kd&quot;</span><span class="nt">&gt;</span>private<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kd&quot;</span><span class="nt">&gt;</span>static<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kd&quot;</span><span class="nt">&gt;</span>function<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>GetHelp<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>()<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:<span class="nt">&lt;/span&gt;</spa
 n> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nb&quot;</span><span class="nt">&gt;</span>String<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span><span class="err">{</span><span class="nt">&lt;/span&gt;</span>
+    <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>return<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>Sys<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>executablePath<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>()<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>+<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;s2&quot;</span
 ><span class="nt">&gt;</span><span class="ni">&amp;quot;</span>  modus  trnsOption  transport  protocol\n<span class="ni">&amp;quot;</span><span class="nt">&lt;/span&gt;</span>
+    <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>+<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;s2&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;quot;</span>Options:\n<span class="ni">&amp;quot;</span><span class="nt">&lt;/span&gt;</span>
+    <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>+<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;s2&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;quot;</span>  modus:       client, server   (default: client)\n<span class="ni">&amp;quot;</span><span class="nt">&lt;/span&gt;</span>
+    <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>+<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;s2&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;quot;</span>  trnsOption:  framed, buffered (default: none)\n<span class="ni">&amp;quot;</span><span class="nt">&lt;/span&gt;</span>
+    <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>+<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;s2&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;quot;</span>  transport:   socket, http     (default: socket)\n<span class="ni">&amp;quot;</span><span class="nt">&lt;/span&gt;</span>
+    <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>+<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;s2&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;quot;</span>  protocol:    binary, json     (default: binary)\n<span class="ni">&amp;quot;</span><span class="nt">&lt;/span&gt;</span>
+    <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>+<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;s2&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;quot;</span>\n<span class="ni">&amp;quot;</span><span class="nt">&lt;/span&gt;</span>
+    <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>+<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;s2&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;quot;</span>All arguments are optional.\n<span class="ni">&amp;quot;</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>}<span class="nt">&lt;/span&gt;</span>
+
+
+<span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kd&quot;</span><span class="nt">&gt;</span>private<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kd&quot;</span><span class="nt">&gt;</span>static<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kd&quot;</span><span class="nt">&gt;</span>function<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>ParseArgs<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>()<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:<span class="nt">&lt;/span&gt;</s
 pan> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kc&quot;</span><span class="nt">&gt;</span>Void<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span><span class="err">{</span><span class="nt">&lt;/span&gt;</span>
+    <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>var<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>step<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;mi&quot;</span><span class="nt">&gt;</span>0<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+    <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>for<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>arg<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>in<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>Sys<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>.<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span>
 <span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>args<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>())<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span><span class="err">{</span><span class="nt">&lt;/span&gt;</span>
+
+        <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;c1&quot;</span><span class="nt">&gt;</span>// server|client<span class="nt">&lt;/span&gt;</span>
+        <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>switch<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>step<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>)<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span><span class="err">{</span><span class="nt">&lt;/span&gt;</span>
+        <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>case<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;mi&quot;</span><span class="nt">&gt;</span>0<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:<span class="nt">&lt;/span&gt;</span>
+            <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>++<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>step<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+            <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>if<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>arg<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>==<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;s2&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;quot;</span>client<span class="ni">&amp;quot;</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><s
 pan class="nt">&gt;</span>)<span class="nt">&lt;/span&gt;</span>
+                <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>server<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kc&quot;</span><span class="nt">&gt;</span>false<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+            <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>else<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>if<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>arg<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>==<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;s2&quot;</span><span class="nt">&gt;</span><span class="ni">&a
 mp;quot;</span>server<span class="ni">&amp;quot;</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>)<span class="nt">&lt;/span&gt;</span>
+                <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>server<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kc&quot;</span><span class="nt">&gt;</span>true<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+            <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>else<span class="nt">&lt;/span&gt;</span>
+                <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>throw<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;s2&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;quot;</span>First argument must be <span class="ni">&amp;</span><span class="err">#</span><span class="ni">39;</span>server<span class="ni">&amp;</span><span class="err">#</span><span class="ni">39;</span> or <span class="ni">&amp;</span><span class="err">#</span><span class="ni">39;</span>client<span class="ni">&amp;</span><span class="err">#</span><span class="ni">39;&amp;quot;</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+
+        <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>case<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;mi&quot;</span><span class="nt">&gt;</span>1<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:<span class="nt">&lt;/span&gt;</span>
+            <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>if<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>arg<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>==<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;s2&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;quot;</span>framed<span class="ni">&amp;quot;</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><s
 pan class="nt">&gt;</span>)<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span><span class="err">{</span><span class="nt">&lt;/span&gt;</span>
+                <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>framed<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kc&quot;</span><span class="nt">&gt;</span>true<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+            <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>}<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>else<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>if<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>arg<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>==<span class="nt">&l
 t;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;s2&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;quot;</span>buffered<span class="ni">&amp;quot;</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>)<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span><span class="err">{</span><span class="nt">&lt;/span&gt;</span>
+                <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>buffered<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;kc&quot;</span><span class="nt">&gt;</span>true<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+            <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>}<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>else<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>if<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>arg<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>==<span class="nt">&l
 t;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;s2&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;quot;</span>socket<span class="ni">&amp;quot;</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>)<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span><span class="err">{</span><span class="nt">&lt;/span&gt;</span>
+                <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>trns<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>socket<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+                <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>++<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>step<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+            <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>}<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>else<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>if<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>(<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>arg<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>==<span class="nt">&l
 t;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;s2&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;quot;</span>http<span class="ni">&amp;quot;</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>)<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span><span class="err">{</span><span class="nt">&lt;/span&gt;</span>
+                <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>trns<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>=<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>http<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+                <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>++<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>step<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+            <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>}<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>else<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span><span class="err">{</span><span class="nt">&lt;/span&gt;</span>
+                <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>throw<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;s2&quot;</span><span class="nt">&gt;</span><span class="ni">&amp;quot;</span>Unknown transport <span class="ni">&amp;quot;</span><span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>+<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;nx&quot;</span><span class="nt">&gt;</span>arg<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>;<span class="nt">&lt;/span&gt;</span>
+            <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;p&quot;</span><span class="nt">&gt;</span>}<span class="nt">&lt;/span&gt;</span>
+
+        <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;k&quot;</span><span class="nt">&gt;</span>case<span class="nt">&lt;/span&gt;</span> <span class="nt">&lt;span</span> <span class="na">class=</span><span class="s">&quot;mi&quot;</span><span class="nt">&gt;</span>2<span class="nt">&lt;/span&gt;&lt;span</span> <span class="na">class=</span><span class="s">&quot;o&quot;</span><span class="nt">&gt;</span>:<span class="nt">&lt;/span&gt;</span>

[... 379 lines stripped ...]