Author: buildbot
Date: Sat Mar 22 20:53:42 2014
New Revision: 902946
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 Sat Mar 22 20:53:42 2014
@@ -1 +1 @@
-1580312
+1580317
Modified: websites/staging/thrift/trunk/content/index.html
==============================================================================
--- websites/staging/thrift/trunk/content/index.html (original)
+++ websites/staging/thrift/trunk/content/index.html Sat Mar 22 20:53:42 2014
@@ -127,10 +127,13 @@
</div>
</div>
<hr></p>
-<h3>Example<h3>
+<h3>Example</h3>
+
<p>Apache Thrift allows you to define data types and service interfaces in a
simple definition file. Taking that file as input, the compiler generates code
to be used to easily build RPC clients and servers that communicate seamlessly
across programming languages. Instead of writing a load of boilerplate code to
serialize and transport your objects and invoke remote methods, you can get
right down to business.
</p>
+
<p>The following example is a simple service to store user objects for a web
front end.</p>
+
<div class="tabbable">
<ul class="nav nav-tabs">
<li class="active"><a href="#1" data-toggle="tab">Thrift Definition
File</a></li>
@@ -163,47 +166,47 @@
}
</pre></div>
- </div>
- <div class="tab-pane" id="2">
-<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>
+<div class="codehilite"><pre><span class="o"></</span><span
class="n">div</span><span class="o">></span>
+<span class="o"><</span><span class="n">div</span> <span
class="n">class</span><span class="p">=</span>"<span
class="n">tab</span><span class="o">-</span><span class="n">pane</span>"
<span class="n">id</span><span class="p">=</span>"2"<span
class="o">></span>
+</pre></div>
- <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>
+<p><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></p>
+<p><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></p>
+<p><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></p>
+<p><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></p>
+<p><span class="c"># Connect!</span>
+ <span class="n">transport</span><span class="o">.</span><span
class="n">open</span><span class="p">()</span></p>
+<p><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></p>
+<p><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">
<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="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></p>
+<div class="codehilite"><pre> <span class="nt"><span</span> <span
class="na">class=</span><span class="s">"c1"</span><span
class="nt">></span>// Use this for a multithreaded server<span
class="nt"></span></span>
+ <span class="nt"><span</span> <span class="na">class=</span><span
class="s">"c1"</span><span class="nt">></span>// TServer server =
new TThreadPoolServer(new
TThreadPoolServer.Args(serverTransport).processor(processor));<span
class="nt"></span></span>
+
+ <span class="nt"><span</span> <span class="na">class=</span><span
class="s">"n"</span><span class="nt">></span>System<span
class="nt"></span><span</span> <span class="na">class=</span><span
class="s">"o"</span><span class="nt">></span>.<span
class="nt"></span><span</span> <span class="na">class=</span><span
class="s">"na"</span><span class="nt">></span>out<span
class="nt"></span><span</span> <span class="na">class=</span><span
class="s">"o"</span><span class="nt">></span>.<span
class="nt"></span><span</span> <span class="na">class=</span><span
class="s">"na"</span><span class="nt">></span>println<span
class="nt"></span><span</span> <span class="na">class=</span><span
class="s">"o"</span><span class="nt">></span>(<span
class="nt"></span><span</span> <span class="na">class=</span><span
class="s">"s"</span><span class="nt">></span><span c
lass="ni">&quot;</span>Starting the simple server...<span
class="ni">&quot;</span><span class="nt"></span><span</span> <span
class="na">class=</span><span class="s">"o"</span><span
class="nt">></span>);<span class="nt"></span></span>
+ <span class="nt"><span</span> <span class="na">class=</span><span
class="s">"n"</span><span class="nt">></span>server<span
class="nt"></span><span</span> <span class="na">class=</span><span
class="s">"o"</span><span class="nt">></span>.<span
class="nt"></span><span</span> <span class="na">class=</span><span
class="s">"na"</span><span class="nt">></span>serve<span
class="nt"></span><span</span> <span class="na">class=</span><span
class="s">"o"</span><span class="nt">></span>();<span
class="nt"></span></span>
+<span class="nt"><span</span> <span class="na">class=</span><span
class="s">"o"</span><span class="nt">></span>}<span
class="nt"></span></span> <span class="nt"><span</span> <span
class="na">class=</span><span class="s">"k"</span><span
class="nt">></span>catch<span class="nt"></span></span> <span
class="nt"><span</span> <span class="na">class=</span><span
class="s">"o"</span><span class="nt">></span>(<span
class="nt"></span><span</span> <span class="na">class=</span><span
class="s">"n"</span><span class="nt">></span>Exception<span
class="nt"></span></span> <span class="nt"><span</span> <span
class="na">class=</span><span class="s">"n"</span><span
class="nt">></span>e<span class="nt"></span><span</span> <span
class="na">class=</span><span class="s">"o"</span><span
class="nt">></span>)<span class="nt"></span></span> <span
class="nt"><span</span> <span
class="na">class=</span><span class="s">"o"</span><span
class="nt">></span>{<span class="nt"></span></span>
+ <span class="nt"><span</span> <span class="na">class=</span><span
class="s">"n"</span><span class="nt">></span>e<span
class="nt"></span><span</span> <span class="na">class=</span><span
class="s">"o"</span><span class="nt">></span>.<span
class="nt"></span><span</span> <span class="na">class=</span><span
class="s">"na"</span><span class="nt">></span>printStackTrace<span
class="nt"></span><span</span> <span class="na">class=</span><span
class="s">"o"</span><span class="nt">></span>();<span
class="nt"></span></span>
+<span class="nt"><span</span> <span class="na">class=</span><span
class="s">"o"</span><span class="nt">></span>}<span
class="nt"></span></span>
+</pre></div>
- <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>
+<p></pre></div>
</div>
</div>
-</div>
+</div></p>
</div>
<div class="container">