Author: buildbot Date: Tue Feb 12 12:43:51 2019 New Revision: 1040314 Log: Staging update by buildbot for thrift
Modified: websites/staging/thrift/trunk/content/ (props changed) websites/staging/thrift/trunk/content/docs/HowToContribute.html websites/staging/thrift/trunk/content/docs/Languages.html websites/staging/thrift/trunk/content/docs/idl.html websites/staging/thrift/trunk/content/index.html websites/staging/thrift/trunk/content/lib/cpp.html websites/staging/thrift/trunk/content/lib/csharp.html websites/staging/thrift/trunk/content/lib/hs.html websites/staging/thrift/trunk/content/lib/index.html websites/staging/thrift/trunk/content/test/ThriftTest.html websites/staging/thrift/trunk/content/tutorial/cpp.html Propchange: websites/staging/thrift/trunk/content/ ------------------------------------------------------------------------------ --- cms:source-revision (original) +++ cms:source-revision Tue Feb 12 12:43:51 2019 @@ -1 +1 @@ -1852672 +1853430 Modified: websites/staging/thrift/trunk/content/docs/HowToContribute.html ============================================================================== --- websites/staging/thrift/trunk/content/docs/HowToContribute.html (original) +++ websites/staging/thrift/trunk/content/docs/HowToContribute.html Tue Feb 12 12:43:51 2019 @@ -98,13 +98,13 @@ on a variety of Linux and Windows config for a successful pull request:</p> <ol> <li> -<p>All code changes require an <a href="http://issues.apache.org/jira/browse/THRIFT">Apache Jira THRIFT Issue</a> ticket.</p> +<p>All significant changes require an <a href="http://issues.apache.org/jira/browse/THRIFT">Apache Jira THRIFT Issue</a> ticket. Trivial changes such as fixing a typo or a compiler warning do not.</p> </li> <li> <p>All pull requests should contain a single commit per issue, or we will ask you to squash it.</p> </li> <li> -<p>The pull request title must begin with the Jira THRIFT ticket identifier, for example:</p> +<p>The pull request title must begin with the Jira THRIFT ticket identifier if it has an associated ticket, for example:</p> <div class="codehilite"><pre><span class="n">THRIFT</span><span class="o">-</span>9999<span class="p">:</span> <span class="n">an</span> <span class="n">example</span> <span class="n">pull</span> <span class="n">request</span> <span class="n">title</span> </pre></div> @@ -113,7 +113,7 @@ for a successful pull request:</p> <li> <p>Commit messages must follow this pattern for code changes (deviations will not be merged):</p> <div class="codehilite"><pre><span class="n">THRIFT</span><span class="o">-</span>9999<span class="p">:</span> <span class="p">[</span><span class="n">summary</span> <span class="n">of</span> <span class="nb">fix</span><span class="p">,</span> <span class="n">one</span> <span class="n">line</span> <span class="k">if</span> <span class="n">possible</span><span class="p">]</span> -<span class="n">Client</span><span class="p">:</span> <span class="p">[</span><span class="n">language</span><span class="p">(</span><span class="n">s</span><span class="p">)</span> <span class="n">affected</span><span class="p">,</span> <span class="n">comma</span> <span class="n">separated</span><span class="p">,</span> <span class="n">use</span> <span class="n">lib</span><span class="o">/</span> <span class="n">directory</span> <span class="n">names</span> <span class="n">please</span><span class="p">]</span> +<span class="n">Client</span><span class="p">:</span> <span class="p">[</span><span class="n">language</span><span class="p">(</span><span class="n">s</span><span class="p">)</span> <span class="n">affected</span><span class="p">,</span> <span class="n">comma</span> <span class="n">separated</span><span class="p">,</span> <span class="k">for</span> <span class="n">example</span><span class="p">:</span> "<span class="n">cpp</span><span class="p">,</span><span class="n">erl</span><span class="p">,</span><span class="n">perl</span>"<span class="p">]</span> </pre></div> @@ -157,12 +157,12 @@ for a successful pull request:</p> <li>Contribute your code changes using the GitHub pull request method:</li> </ol> <h2 id="contributing-via-patch">Contributing via Patch<a class="headerlink" href="#contributing-via-patch" title="Permanent link">¶</a></h2> -<p>Some changes do not require a build, for example in documentation. For changes that are not code or build related, you can submit a patch on Jira for review. To create a patch from changes in your local directory:</p> +<p>To create a patch from changes in your local directory:</p> <div class="codehilite"><pre><span class="n">git</span> <span class="n">diff</span> <span class="o">></span> <span class="p">.</span><span class="o">./</span><span class="n">THRIFT</span><span class="o">-</span><span class="n">NNNN</span><span class="p">.</span><span class="n">patch</span> </pre></div> -<p>then wait for contributors or committers to review your changes, and then for a committer to apply your patch.</p> +<p>then wait for contributors or committers to review your changes, and then for a committer to apply your patch. This is not the preferred way to submit changes and incurs additional overhead for committers who must then create a pull request for you.</p> <h2 id="github-recipes-for-pull-requests">GitHub recipes for Pull Requests<a class="headerlink" href="#github-recipes-for-pull-requests" title="Permanent link">¶</a></h2> <p>Sometimes commmitters may ask you to take actions in your pull requests. Here are some recipes that will help you accomplish those requests. These examples assume you are working on Jira issue THRIFT-9999. You should also be familiar with the <a href="https://help.github.com/articles/syncing-a-fork/">upstream</a> repository concept.</p> <h3 id="squash-your-changes">Squash your changes<a class="headerlink" href="#squash-your-changes" title="Permanent link">¶</a></h3> Modified: websites/staging/thrift/trunk/content/docs/Languages.html ============================================================================== --- websites/staging/thrift/trunk/content/docs/Languages.html (original) +++ websites/staging/thrift/trunk/content/docs/Languages.html Tue Feb 12 12:43:51 2019 @@ -117,8 +117,8 @@ h2:hover > .headerlink, h3:hover > .head <tr align=center> <td align=left><a href="https://github.com/apache/thrift/blob/master/lib/as3/README.md">ActionScript</a></td> <!-- Since -----------------><td>0.3.0</td> -<!-- Build Systems ---------><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cred.png" alt=""/></td> -<!-- Language Levels -------><td colspan=2>ActionScript 3</td> +<!-- Build Systems ---------><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td> +<!-- Language Levels -------><td colspan=2>FLEX SDK 4.6</td> <!-- Low-Level Transports --><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cred.png" alt=""/></td> <!-- Transport Wrappers ----><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cred.png" alt=""/></td> <!-- Protocols -------------><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cred.png" alt=""/></td> Modified: websites/staging/thrift/trunk/content/docs/idl.html ============================================================================== --- websites/staging/thrift/trunk/content/docs/idl.html (original) +++ websites/staging/thrift/trunk/content/docs/idl.html Tue Feb 12 12:43:51 2019 @@ -85,7 +85,7 @@ } h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style> <h2 id="thrift-interface-description-language">Thrift interface description language<a class="headerlink" href="#thrift-interface-description-language" title="Permanent link">¶</a></h2> -<p>For Thrift version 1.0.0.</p> +<p>For Thrift version 0.13.0.</p> <p>The Thrift interface definition language (IDL) allows for the definition of <a href="/docs/types">Thrift Types</a>. A Thrift IDL file is processed by the Thrift code generator to produce code for the various target languages to support the defined structs and services in the IDL file.</p> <h2 id="description">Description<a class="headerlink" href="#description" title="Permanent link">¶</a></h2> <p>Here is a description of the Thrift IDL.</p> Modified: websites/staging/thrift/trunk/content/index.html ============================================================================== --- websites/staging/thrift/trunk/content/index.html (original) +++ websites/staging/thrift/trunk/content/index.html Tue Feb 12 12:43:51 2019 @@ -152,7 +152,8 @@ visibility: hidden; } h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style> -<div class="codehilite"><pre> * Ahh, now onto the cool part, defining a service. Services just need a name +<div class="codehilite"><pre>/** + * Ahh, now onto the cool part, defining a service. Services just need a name * and can optionally inherit from another service using the extends keyword. */ service Calculator extends shared.SharedService { @@ -174,7 +175,6 @@ service Calculator extends shared.Shared * This method has a oneway modifier. That means the client only makes * a request and does not listen for any response at all. Oneway methods * must be void. - */ </pre></div> <p class='snippet_footer'> This snippet was generated by Apache Thrift's <strong>source tree docs</strong>: Modified: websites/staging/thrift/trunk/content/lib/cpp.html ============================================================================== --- websites/staging/thrift/trunk/content/lib/cpp.html (original) +++ websites/staging/thrift/trunk/content/lib/cpp.html Tue Feb 12 12:43:51 2019 @@ -256,6 +256,9 @@ tell CMake through BUILD_SHARED_LIBS whe libraries now. This is CMake standard behavior.</p> <p>THRIFT-4735: Qt4 support was removed.</p> +<p>THRIFT-4762: +Added <code>const</code> specifier to <code>TTransport::getOrigin()</code>. This changes its function signature. +It's recommended to add the <code>override</code> specifier in implementations derived from <code>TTransport</code>.</p> <h2 id="0110">0.11.0<a class="headerlink" href="#0110" title="Permanent link">¶</a></h2> <p>Older versions of thrift depended on the <boost/smart_ptr.hpp> classes which were used in thrift headers to define interfaces. Thrift now detects C++11 Modified: websites/staging/thrift/trunk/content/lib/csharp.html ============================================================================== --- websites/staging/thrift/trunk/content/lib/csharp.html (original) +++ websites/staging/thrift/trunk/content/lib/csharp.html Tue Feb 12 12:43:51 2019 @@ -84,6 +84,12 @@ visibility: hidden; } h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style> +<p>Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License.</p> <h1 id="using-thrift-with-c">Using Thrift with C#<a class="headerlink" href="#using-thrift-with-c" title="Permanent link">¶</a></h1> <p>Thrift requires Mono >= 1.2.6 or .NET framework >= 3.5 <p class='snippet_footer'> Modified: websites/staging/thrift/trunk/content/lib/hs.html ============================================================================== --- websites/staging/thrift/trunk/content/lib/hs.html (original) +++ websites/staging/thrift/trunk/content/lib/hs.html Tue Feb 12 12:43:51 2019 @@ -128,7 +128,19 @@ class and proceeding down (all the while label to process as the handler.</p> <h1 id="processor">Processor<a class="headerlink" href="#processor" title="Permanent link">¶</a></h1> <p>Just a function that takes a handler label, protocols. It calls the -superclasses process if there is a superclass. +superclasses process if there is a superclass.</p> +<h1 id="releasing-to-hackage">Releasing to Hackage<a class="headerlink" href="#releasing-to-hackage" title="Permanent link">¶</a></h1> +<p>Using the <a href="../../build/docker/README">Docker Container for Ubuntu Bionic</a>, run:</p> +<div class="codehilite"><pre><span class="n">root</span><span class="p">@</span><span class="n">e941f5311545</span><span class="p">:</span><span class="o">/</span><span class="n">thrift</span><span class="o">/</span><span class="n">src</span># <span class="o">./</span><span class="n">bootstrap</span><span class="p">.</span><span class="n">sh</span> <span class="o">&&</span> <span class="o">./</span><span class="n">configure</span> +<span class="n">root</span><span class="p">@</span><span class="n">e941f5311545</span><span class="p">:</span><span class="o">/</span><span class="n">thrift</span><span class="o">/</span><span class="n">src</span># <span class="n">cd</span> <span class="n">lib</span><span class="o">/</span><span class="n">hs</span> <span class="o">&&</span> <span class="n">make</span> <span class="n">dist</span><span class="o">-</span><span class="n">local</span> +</pre></div> + + +<p>This will produce a <code>lib/hs/dist/thrift-<version>.tar.gz</code> file. Take this +file and upload it as a Haskell Hackage +<a href="https://hackage.haskell.org/upload#candidates">package candidate</a> and +check to make sure all the information is correct. Assuming all is satisfactory, +you can upload the package as official using the link at the top of the page. <p class='snippet_footer'> This page was generated by Apache Thrift's <strong>source tree docs</strong>: <a href="https://gitbox.apache.org/repos/asf?p=thrift.git;a=blob;f=lib/hs/README.md;hb=HEAD"</a>lib/hs/README.md</a> Modified: websites/staging/thrift/trunk/content/lib/index.html ============================================================================== --- websites/staging/thrift/trunk/content/lib/index.html (original) +++ websites/staging/thrift/trunk/content/lib/index.html Tue Feb 12 12:43:51 2019 @@ -150,7 +150,7 @@ h2:hover > .headerlink, h3:hover > .head <td class="packurl"><a href=""></a></td> <td class="ctrlfile"></td> <td class="maintainer"></td> - <td class="remarks">no official ASF package available</td> + <td class="remarks">language has no package manager</td> </tr> <tr class=""> @@ -159,7 +159,7 @@ h2:hover > .headerlink, h3:hover > .head <td class="packurl"><a href=""></a></td> <td class="ctrlfile"></td> <td class="maintainer"></td> - <td class="remarks">no official ASF package available</td> + <td class="remarks">see THRIFT-4800</td> </tr> <tr class=""> @@ -177,7 +177,7 @@ h2:hover > .headerlink, h3:hover > .head <td class="packurl"><a href=""></a></td> <td class="ctrlfile"></td> <td class="maintainer"></td> - <td class="remarks">no official ASF package available</td> + <td class="remarks">deprecated on 0.12.0 - use swift</td> </tr> <tr class=""> @@ -284,8 +284,8 @@ h2:hover > .headerlink, h3:hover > .head <td class="packman">npm</td> <td class="packurl"><a href="https://www.npmjs.com/package/thrift">https://www.npmjs.com/package/thrift</a></td> <td class="ctrlfile">package.json</td> - <td class="maintainer">jfarrell, wadey</td> - <td class="remarks">stale at 0.11.0 - see THRIFT-4688</td> + <td class="maintainer">jfarrell, wadey, jking</td> + <td class="remarks"></td> </tr> <tr class=""> Modified: websites/staging/thrift/trunk/content/test/ThriftTest.html ============================================================================== --- websites/staging/thrift/trunk/content/test/ThriftTest.html (original) +++ websites/staging/thrift/trunk/content/test/ThriftTest.html Tue Feb 12 12:43:51 2019 @@ -505,7 +505,8 @@ h2:hover > .headerlink, h3:hover > .head 407 408 409 -410</pre></div></td><td class="code"><div class="codehilite"><pre>/* +410 +411</pre></div></td><td class="code"><div class="codehilite"><pre>/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -537,6 +538,7 @@ namespace java thrift.test namespace js ThriftTest namespace lua ThriftTest namespace netcore ThriftTest +namespace netstd ThriftTest namespace perl ThriftTest namespace php ThriftTest namespace py ThriftTest Modified: websites/staging/thrift/trunk/content/tutorial/cpp.html ============================================================================== --- websites/staging/thrift/trunk/content/tutorial/cpp.html (original) +++ websites/staging/thrift/trunk/content/tutorial/cpp.html Tue Feb 12 12:43:51 2019 @@ -225,16 +225,16 @@ h2:hover > .headerlink, h3:hover > .head <span class="k">class</span> <span class="nc">CalculatorHandler</span> <span class="o">:</span> <span class="k">public</span> <span class="n">CalculatorIf</span> <span class="p">{</span> <span class="k">public</span><span class="o">:</span> - <span class="n">CalculatorHandler</span><span class="p">()</span> <span class="p">{}</span> + <span class="n">CalculatorHandler</span><span class="p">()</span> <span class="o">=</span> <span class="k">default</span><span class="p">;</span> - <span class="kt">void</span> <span class="n">ping</span><span class="p">()</span> <span class="p">{</span> <span class="n">cout</span> <span class="o"><<</span> <span class="s">"ping()"</span> <span class="o"><<</span> <span class="n">endl</span><span class="p">;</span> <span class="p">}</span> + <span class="kt">void</span> <span class="n">ping</span><span class="p">()</span> <span class="n">override</span> <span class="p">{</span> <span class="n">cout</span> <span class="o"><<</span> <span class="s">"ping()"</span> <span class="o"><<</span> <span class="n">endl</span><span class="p">;</span> <span class="p">}</span> - <span class="n">int32_t</span> <span class="n">add</span><span class="p">(</span><span class="k">const</span> <span class="n">int32_t</span> <span class="n">n1</span><span class="p">,</span> <span class="k">const</span> <span class="n">int32_t</span> <span class="n">n2</span><span class="p">)</span> <span class="p">{</span> + <span class="n">int32_t</span> <span class="n">add</span><span class="p">(</span><span class="k">const</span> <span class="n">int32_t</span> <span class="n">n1</span><span class="p">,</span> <span class="k">const</span> <span class="n">int32_t</span> <span class="n">n2</span><span class="p">)</span> <span class="n">override</span> <span class="p">{</span> <span class="n">cout</span> <span class="o"><<</span> <span class="s">"add("</span> <span class="o"><<</span> <span class="n">n1</span> <span class="o"><<</span> <span class="s">", "</span> <span class="o"><<</span> <span class="n">n2</span> <span class="o"><<</span> <span class="s">")"</span> <span class="o"><<</span> <span class="n">endl</span><span class="p">;</span> <span class="k">return</span> <span class="n">n1</span> <span class="o">+</span> <span class="n">n2</span><span class="p">;</span> <span class="p">}</span> - <span class="n">int32_t</span> <span class="n">calculate</span><span class="p">(</span><span class="k">const</span> <span class="n">int32_t</span> <span class="n">logid</span><span class="p">,</span> <span class="k">const</span> <span class="n">Work</span><span class="o">&</span> <span class="n">work</span><span class="p">)</span> <span class="p">{</span> + <span class="n">int32_t</span> <span class="n">calculate</span><span class="p">(</span><span class="k">const</span> <span class="n">int32_t</span> <span class="n">logid</span><span class="p">,</span> <span class="k">const</span> <span class="n">Work</span><span class="o">&</span> <span class="n">work</span><span class="p">)</span> <span class="n">override</span> <span class="p">{</span> <span class="n">cout</span> <span class="o"><<</span> <span class="s">"calculate("</span> <span class="o"><<</span> <span class="n">logid</span> <span class="o"><<</span> <span class="s">", "</span> <span class="o"><<</span> <span class="n">work</span> <span class="o"><<</span> <span class="s">")"</span> <span class="o"><<</span> <span class="n">endl</span><span class="p">;</span> <span class="n">int32_t</span> <span class="n">val</span><span class="p">;</span> @@ -273,12 +273,12 @@ h2:hover > .headerlink, h3:hover > .head <span class="k">return</span> <span class="n">val</span><span class="p">;</span> <span class="p">}</span> - <span class="kt">void</span> <span class="n">getStruct</span><span class="p">(</span><span class="n">SharedStruct</span><span class="o">&</span> <span class="n">ret</span><span class="p">,</span> <span class="k">const</span> <span class="n">int32_t</span> <span class="n">logid</span><span class="p">)</span> <span class="p">{</span> + <span class="kt">void</span> <span class="n">getStruct</span><span class="p">(</span><span class="n">SharedStruct</span><span class="o">&</span> <span class="n">ret</span><span class="p">,</span> <span class="k">const</span> <span class="n">int32_t</span> <span class="n">logid</span><span class="p">)</span> <span class="n">override</span> <span class="p">{</span> <span class="n">cout</span> <span class="o"><<</span> <span class="s">"getStruct("</span> <span class="o"><<</span> <span class="n">logid</span> <span class="o"><<</span> <span class="s">")"</span> <span class="o"><<</span> <span class="n">endl</span><span class="p">;</span> <span class="n">ret</span> <span class="o">=</span> <span class="n">log</span><span class="p">[</span><span class="n">logid</span><span class="p">];</span> <span class="p">}</span> - <span class="kt">void</span> <span class="n">zip</span><span class="p">()</span> <span class="p">{</span> <span class="n">cout</span> <span class="o"><<</span> <span class="s">"zip()"</span> <span class="o"><<</span> <span class="n">endl</span><span class="p">;</span> <span class="p">}</span> + <span class="kt">void</span> <span class="n">zip</span><span class="p">()</span> <span class="n">override</span> <span class="p">{</span> <span class="n">cout</span> <span class="o"><<</span> <span class="s">"zip()"</span> <span class="o"><<</span> <span class="n">endl</span><span class="p">;</span> <span class="p">}</span> <span class="k">protected</span><span class="o">:</span> <span class="n">map</span><span class="o"><</span><span class="n">int32_t</span><span class="p">,</span> <span class="n">SharedStruct</span><span class="o">></span> <span class="n">log</span><span class="p">;</span> @@ -292,8 +292,8 @@ h2:hover > .headerlink, h3:hover > .head <span class="cm">*/</span> <span class="k">class</span> <span class="nc">CalculatorCloneFactory</span> <span class="o">:</span> <span class="k">virtual</span> <span class="k">public</span> <span class="n">CalculatorIfFactory</span> <span class="p">{</span> <span class="k">public</span><span class="o">:</span> - <span class="k">virtual</span> <span class="o">~</span><span class="n">CalculatorCloneFactory</span><span class="p">()</span> <span class="p">{}</span> - <span class="k">virtual</span> <span class="n">CalculatorIf</span><span class="o">*</span> <span class="n">getHandler</span><span class="p">(</span><span class="k">const</span> <span class="o">::</span><span class="n">apache</span><span class="o">::</span><span class="n">thrift</span><span class="o">::</span><span class="n">TConnectionInfo</span><span class="o">&</span> <span class="n">connInfo</span><span class="p">)</span> + <span class="o">~</span><span class="n">CalculatorCloneFactory</span><span class="p">()</span> <span class="n">override</span> <span class="o">=</span> <span class="k">default</span><span class="p">;</span> + <span class="n">CalculatorIf</span><span class="o">*</span> <span class="n">getHandler</span><span class="p">(</span><span class="k">const</span> <span class="o">::</span><span class="n">apache</span><span class="o">::</span><span class="n">thrift</span><span class="o">::</span><span class="n">TConnectionInfo</span><span class="o">&</span> <span class="n">connInfo</span><span class="p">)</span> <span class="n">override</span> <span class="p">{</span> <span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o"><</span><span class="n">TSocket</span><span class="o">></span> <span class="n">sock</span> <span class="o">=</span> <span class="n">std</span><span class="o">::</span><span class="n">dynamic_pointer_cast</span><span class="o"><</span><span class="n">TSocket</span><span class="o">></span><span class="p">(</span><span class="n">connInfo</span><span class="p">.</span><span class="n">transport</span><span class="p">);</span> <span class="n">cout</span> <span class="o"><<</span> <span class="s">"Incoming connection</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span> @@ -303,7 +303,7 @@ h2:hover > .headerlink, h3:hover > .head <span class="n">cout</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\t</span><span class="s">PeerPort: "</span> <span class="o"><<</span> <span class="n">sock</span><span class="o">-></span><span class="n">getPeerPort</span><span class="p">()</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span> <span class="k">return</span> <span class="k">new</span> <span class="n">CalculatorHandler</span><span class="p">;</span> <span class="p">}</span> - <span class="k">virtual</span> <span class="kt">void</span> <span class="n">releaseHandler</span><span class="p">(</span> <span class="o">::</span><span class="n">shared</span><span class="o">::</span><span class="n">SharedServiceIf</span><span class="o">*</span> <span class="n">handler</span><span class="p">)</span> <span class="p">{</span> + <span class="kt">void</span> <span class="n">releaseHandler</span><span class="p">(</span> <span class="o">::</span><span class="n">shared</span><span class="o">::</span><span class="n">SharedServiceIf</span><span class="o">*</span> <span class="n">handler</span><span class="p">)</span> <span class="n">override</span> <span class="p">{</span> <span class="k">delete</span> <span class="n">handler</span><span class="p">;</span> <span class="p">}</span> <span class="p">};</span> @@ -358,7 +358,7 @@ h2:hover > .headerlink, h3:hover > .head <span class="n">cout</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\t</span><span class="s">PeerPort: "</span> <span class="o"><<</span> <span class="n">sock</span><span class="o">-></span><span class="n">getPeerPort</span><span class="p">()</span> <span class="o"><<</span> <span class="s">"</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span> <span class="k">return</span> <span class="k">new</span> <span class="n">CalculatorHandler</span><span class="p">;</span> <span class="p">}</span> - <span class="k">virtual</span> <span class="kt">void</span> <span class="n">releaseHandler</span><span class="p">(</span> <span class="o">::</span><span class="n">shared</span><span class="o">::</span><span class="n">SharedServiceIf</span><span class="o">*</span> <span class="n">handler</span><span class="p">)</span> <span class="p">{</span> + <span class="kt">void</span> <span class="n">releaseHandler</span><span class="p">(</span> <span class="o">::</span><span class="n">shared</span><span class="o">::</span><span class="n">SharedServiceIf</span><span class="o">*</span> <span class="n">handler</span><span class="p">)</span> <span class="n">override</span> <span class="p">{</span> <span class="k">delete</span> <span class="n">handler</span><span class="p">;</span> <span class="p">}</span> <span class="p">};</span>