Author: buildbot
Date: Sun Mar 23 01:49:29 2014
New Revision: 903063
Log:
Staging update by buildbot for thrift
Modified:
websites/staging/thrift/trunk/content/ (props changed)
websites/staging/thrift/trunk/content/index.html
Propchange: websites/staging/thrift/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Sun Mar 23 01:49:29 2014
@@ -1 +1 @@
-1580410
+1580415
Modified: websites/staging/thrift/trunk/content/index.html
==============================================================================
--- websites/staging/thrift/trunk/content/index.html (original)
+++ websites/staging/thrift/trunk/content/index.html Sun Mar 23 01:49:29 2014
@@ -137,13 +137,68 @@
</ul>
<div class="tab-content">
<div class="tab-pane active" id="1">
-[snippet:path=tutorial/tutorial.thrift:lang=text:lines=123,145]
+<div class="codehilite"><pre>service Calculator extends shared.SharedService {
+
+ /**
+ * A method definition looks like C code. It has a return type, arguments,
+ * and optionally a list of exceptions that it may throw. Note that argument
+ * lists and exception lists are specified using the exact same syntax as
+ * field lists in struct or exception definitions.
+ */
+
+ void ping(),
+
+ i32 add(1:i32 num1, 2:i32 num2),
+
+ i32 calculate(1:i32 logid, 2:Work w) throws (1:InvalidOperation ouch),
+
+ /**
+ * 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.
+ */
+ oneway void zip()
+
+}
+</pre></div>
</div>
<div class="tab-pane" id="2">
-[snippet:path=tutorial/py/PythonClient.py:lang=python:lines=36,55]
+<div class="codehilite"><pre> <span class="c"># Make socket</span>
+ <span class="n">transport</span> <span class="o">=</span> <span
class="n">TSocket</span><span class="o">.</span><span
class="n">TSocket</span><span class="p">(</span><span
class="s">'localhost'</span><span class="p">,</span> <span
class="mi">9090</span><span class="p">)</span>
+
+ <span class="c"># Buffering is critical. Raw sockets are very slow</span>
+ <span class="n">transport</span> <span class="o">=</span> <span
class="n">TTransport</span><span class="o">.</span><span
class="n">TBufferedTransport</span><span class="p">(</span><span
class="n">transport</span><span class="p">)</span>
+
+ <span class="c"># Wrap in a protocol</span>
+ <span class="n">protocol</span> <span class="o">=</span> <span
class="n">TBinaryProtocol</span><span class="o">.</span><span
class="n">TBinaryProtocol</span><span class="p">(</span><span
class="n">transport</span><span class="p">)</span>
+
+ <span class="c"># Create a client to use the protocol encoder</span>
+ <span class="n">client</span> <span class="o">=</span> <span
class="n">Calculator</span><span class="o">.</span><span
class="n">Client</span><span class="p">(</span><span
class="n">protocol</span><span class="p">)</span>
+
+ <span class="c"># Connect!</span>
+ <span class="n">transport</span><span class="o">.</span><span
class="n">open</span><span class="p">()</span>
+
+ <span class="n">client</span><span class="o">.</span><span
class="n">ping</span><span class="p">()</span>
+ <span class="k">print</span> <span class="s">'ping()'</span>
+
+ <span class="nb">sum</span> <span class="o">=</span> <span
class="n">client</span><span class="o">.</span><span class="n">add</span><span
class="p">(</span><span class="mi">1</span><span class="p">,</span><span
class="mi">1</span><span class="p">)</span>
+ <span class="k">print</span> <span class="s">'1+1=</span><span
class="si">%d</span><span class="s">'</span> <span class="o">%</span> <span
class="p">(</span><span class="nb">sum</span><span class="p">)</span>
+</pre></div>
</div>
<div class="tab-pane" id="3">
-[snippet:path=tutorial/java/src/JavaServer.java:lang=java:lines:65,76]
+<div class="codehilite"><pre> <span class="k">try</span> <span
class="o">{</span>
+ <span class="n">TServerTransport</span> <span
class="n">serverTransport</span> <span class="o">=</span> <span
class="k">new</span> <span class="n">TServerSocket</span><span
class="o">(</span><span class="mi">9090</span><span class="o">);</span>
+ <span class="n">TServer</span> <span class="n">server</span> <span
class="o">=</span> <span class="k">new</span> <span
class="n">TSimpleServer</span><span class="o">(</span><span
class="k">new</span> <span class="n">Args</span><span class="o">(</span><span
class="n">serverTransport</span><span class="o">).</span><span
class="na">processor</span><span class="o">(</span><span
class="n">processor</span><span class="o">));</span>
+
+ <span class="c1">// Use this for a multithreaded server</span>
+ <span class="c1">// TServer server = new TThreadPoolServer(new
TThreadPoolServer.Args(serverTransport).processor(processor));</span>
+
+ <span class="n">System</span><span class="o">.</span><span
class="na">out</span><span class="o">.</span><span
class="na">println</span><span class="o">(</span><span class="s">"Starting
the simple server..."</span><span class="o">);</span>
+ <span class="n">server</span><span class="o">.</span><span
class="na">serve</span><span class="o">();</span>
+ <span class="o">}</span> <span class="k">catch</span> <span
class="o">(</span><span class="n">Exception</span> <span
class="n">e</span><span class="o">)</span> <span class="o">{</span>
+ <span class="n">e</span><span class="o">.</span><span
class="na">printStackTrace</span><span class="o">();</span>
+ <span class="o">}</span>
+</pre></div>
</div>
</div>
</div>