Kaynağa Gözat

Merge pull request #3316 from soltanmm/whatsappdoc

Auto-update Python documentation.
Nathaniel Manista 10 yıl önce
ebeveyn
işleme
27859c0c10
100 değiştirilmiş dosya ile 5975 ekleme ve 9282 silme
  1. 1 1
      python/.buildinfo
  2. BIN
      python/.doctrees/environment.pickle
  3. BIN
      python/.doctrees/grpc.beta.doctree
  4. BIN
      python/.doctrees/grpc.doctree
  5. BIN
      python/.doctrees/grpc.early_adopter.doctree
  6. BIN
      python/.doctrees/grpc.framework.alpha.doctree
  7. BIN
      python/.doctrees/grpc.framework.base.doctree
  8. BIN
      python/.doctrees/grpc.framework.common.doctree
  9. BIN
      python/.doctrees/grpc.framework.core.doctree
  10. BIN
      python/.doctrees/grpc.framework.crust.doctree
  11. BIN
      python/.doctrees/grpc.framework.doctree
  12. BIN
      python/.doctrees/grpc.framework.face.doctree
  13. BIN
      python/.doctrees/grpc.framework.face.testing.doctree
  14. BIN
      python/.doctrees/grpc.framework.foundation.doctree
  15. BIN
      python/.doctrees/grpc.framework.interfaces.base.doctree
  16. BIN
      python/.doctrees/grpc.framework.interfaces.doctree
  17. BIN
      python/.doctrees/grpc.framework.interfaces.face.doctree
  18. BIN
      python/.doctrees/grpc.framework.interfaces.links.doctree
  19. BIN
      python/.doctrees/index.doctree
  20. 563 0
      python/_modules/grpc/beta/implementations.html
  21. 410 0
      python/_modules/grpc/beta/interfaces.html
  22. 359 0
      python/_modules/grpc/beta/utilities.html
  23. 32 13
      python/_modules/grpc/early_adopter/implementations.html
  24. 0 369
      python/_modules/grpc/early_adopter/implementations_test.html
  25. 11 4
      python/_modules/grpc/framework/alpha/exceptions.html
  26. 11 4
      python/_modules/grpc/framework/alpha/interfaces.html
  27. 11 4
      python/_modules/grpc/framework/alpha/utilities.html
  28. 11 4
      python/_modules/grpc/framework/base/exceptions.html
  29. 11 4
      python/_modules/grpc/framework/base/implementations.html
  30. 0 269
      python/_modules/grpc/framework/base/implementations_test.html
  31. 11 4
      python/_modules/grpc/framework/base/in_memory.html
  32. 11 4
      python/_modules/grpc/framework/base/interfaces.html
  33. 0 496
      python/_modules/grpc/framework/base/interfaces_test_case.html
  34. 11 4
      python/_modules/grpc/framework/base/util.html
  35. 11 4
      python/_modules/grpc/framework/common/cardinality.html
  36. 11 4
      python/_modules/grpc/framework/common/style.html
  37. 0 276
      python/_modules/grpc/framework/common/test_control.html
  38. 0 305
      python/_modules/grpc/framework/common/test_coverage.html
  39. 40 17
      python/_modules/grpc/framework/core/implementations.html
  40. 560 0
      python/_modules/grpc/framework/crust/implementations.html
  41. 0 235
      python/_modules/grpc/framework/face/blocking_invocation_inline_service_test.html
  42. 11 4
      python/_modules/grpc/framework/face/demonstration.html
  43. 11 4
      python/_modules/grpc/framework/face/exceptions.html
  44. 0 235
      python/_modules/grpc/framework/face/future_invocation_asynchronous_event_service_test.html
  45. 11 4
      python/_modules/grpc/framework/face/implementations.html
  46. 11 4
      python/_modules/grpc/framework/face/interfaces.html
  47. 0 291
      python/_modules/grpc/framework/face/testing/base_util.html
  48. 0 411
      python/_modules/grpc/framework/face/testing/blocking_invocation_inline_service_test_case.html
  49. 0 283
      python/_modules/grpc/framework/face/testing/callback.html
  50. 0 276
      python/_modules/grpc/framework/face/testing/control.html
  51. 0 312
      python/_modules/grpc/framework/face/testing/coverage.html
  52. 0 639
      python/_modules/grpc/framework/face/testing/digest.html
  53. 0 551
      python/_modules/grpc/framework/face/testing/event_invocation_synchronous_event_service_test_case.html
  54. 0 565
      python/_modules/grpc/framework/face/testing/future_invocation_asynchronous_event_service_test_case.html
  55. 0 306
      python/_modules/grpc/framework/face/testing/interfaces.html
  56. 0 526
      python/_modules/grpc/framework/face/testing/service.html
  57. 0 563
      python/_modules/grpc/framework/face/testing/stock_service.html
  58. 0 269
      python/_modules/grpc/framework/face/testing/test_case.html
  59. 11 4
      python/_modules/grpc/framework/face/utilities.html
  60. 11 4
      python/_modules/grpc/framework/foundation/abandonment.html
  61. 11 4
      python/_modules/grpc/framework/foundation/activated.html
  62. 11 4
      python/_modules/grpc/framework/foundation/callable_util.html
  63. 11 4
      python/_modules/grpc/framework/foundation/future.html
  64. 11 4
      python/_modules/grpc/framework/foundation/later.html
  65. 11 4
      python/_modules/grpc/framework/foundation/logging_pool.html
  66. 11 4
      python/_modules/grpc/framework/foundation/relay.html
  67. 11 4
      python/_modules/grpc/framework/foundation/stream.html
  68. 0 262
      python/_modules/grpc/framework/foundation/stream_testing.html
  69. 11 4
      python/_modules/grpc/framework/foundation/stream_util.html
  70. 535 0
      python/_modules/grpc/framework/interfaces/base/base.html
  71. 58 39
      python/_modules/grpc/framework/interfaces/base/utilities.html
  72. 1188 0
      python/_modules/grpc/framework/interfaces/face/face.html
  73. 374 0
      python/_modules/grpc/framework/interfaces/face/utilities.html
  74. 32 7
      python/_modules/grpc/framework/interfaces/links/links.html
  75. 0 522
      python/_modules/grpc/framework/interfaces/links/test_cases.html
  76. 0 255
      python/_modules/grpc/framework/interfaces/links/test_utilities.html
  77. 21 29
      python/_modules/index.html
  78. 38 0
      python/_sources/grpc.beta.txt
  79. 0 8
      python/_sources/grpc.early_adopter.txt
  80. 0 16
      python/_sources/grpc.framework.base.txt
  81. 0 24
      python/_sources/grpc.framework.common.txt
  82. 22 0
      python/_sources/grpc.framework.core.txt
  83. 22 0
      python/_sources/grpc.framework.crust.txt
  84. 0 118
      python/_sources/grpc.framework.face.testing.txt
  85. 0 31
      python/_sources/grpc.framework.face.txt
  86. 0 8
      python/_sources/grpc.framework.foundation.txt
  87. 30 0
      python/_sources/grpc.framework.interfaces.base.txt
  88. 30 0
      python/_sources/grpc.framework.interfaces.face.txt
  89. 0 16
      python/_sources/grpc.framework.interfaces.links.txt
  90. 2 0
      python/_sources/grpc.framework.interfaces.txt
  91. 2 0
      python/_sources/grpc.framework.txt
  92. 1 0
      python/_sources/grpc.txt
  93. 1 1
      python/_sources/index.txt
  94. 294 307
      python/genindex.html
  95. 779 0
      python/grpc.beta.html
  96. 19 53
      python/grpc.early_adopter.html
  97. 11 4
      python/grpc.framework.alpha.html
  98. 11 117
      python/grpc.framework.base.html
  99. 13 161
      python/grpc.framework.common.html
  100. 263 0
      python/grpc.framework.core.html

+ 1 - 1
python/.buildinfo

@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 485c4d9e4f0a83a8b780cd4273b48395
+config: 1f8999f11b56795ae385f12e4ab424df
 tags: 645f666f9bcd5a90fca523b33c5a78b7

BIN
python/.doctrees/environment.pickle


BIN
python/.doctrees/grpc.beta.doctree


BIN
python/.doctrees/grpc.doctree


BIN
python/.doctrees/grpc.early_adopter.doctree


BIN
python/.doctrees/grpc.framework.alpha.doctree


BIN
python/.doctrees/grpc.framework.base.doctree


BIN
python/.doctrees/grpc.framework.common.doctree


BIN
python/.doctrees/grpc.framework.core.doctree


BIN
python/.doctrees/grpc.framework.crust.doctree


BIN
python/.doctrees/grpc.framework.doctree


BIN
python/.doctrees/grpc.framework.face.doctree


BIN
python/.doctrees/grpc.framework.face.testing.doctree


BIN
python/.doctrees/grpc.framework.foundation.doctree


BIN
python/.doctrees/grpc.framework.interfaces.base.doctree


BIN
python/.doctrees/grpc.framework.interfaces.doctree


BIN
python/.doctrees/grpc.framework.interfaces.face.doctree


BIN
python/.doctrees/grpc.framework.interfaces.links.doctree


BIN
python/.doctrees/index.doctree


+ 563 - 0
python/_modules/grpc/beta/implementations.html

@@ -0,0 +1,563 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>grpc.beta.implementations &mdash; grpcio 0.11.0b0 documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../index.html"/>
+        <link rel="up" title="Module code" href="../../index.html"/> 
+
+  
+  <script src="_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-nav-search">
+        
+
+        
+          <a href="../../../index.html" class="icon icon-home"> grpcio
+        
+
+        
+        </a>
+
+        
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+        
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+        
+          
+          
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../grpc.html">grpc package</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.early_adopter.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../grpc.framework.html">grpc.framework package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.framework.html#subpackages">Subpackages</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../grpc.html#module-grpc">Module contents</a></li>
+</ul>
+</li>
+</ul>
+
+          
+        
+      </div>
+      &nbsp;
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../../../index.html">grpcio</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="../../index.html">Module code</a> &raquo;</li>
+      
+    <li>grpc.beta.implementations</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document">
+            
+  <h1>Source code for grpc.beta.implementations</h1><div class="highlight"><pre>
+<span class="c"># Copyright 2015, Google Inc.</span>
+<span class="c"># All rights reserved.</span>
+<span class="c">#</span>
+<span class="c"># Redistribution and use in source and binary forms, with or without</span>
+<span class="c"># modification, are permitted provided that the following conditions are</span>
+<span class="c"># met:</span>
+<span class="c">#</span>
+<span class="c">#     * Redistributions of source code must retain the above copyright</span>
+<span class="c"># notice, this list of conditions and the following disclaimer.</span>
+<span class="c">#     * Redistributions in binary form must reproduce the above</span>
+<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
+<span class="c"># in the documentation and/or other materials provided with the</span>
+<span class="c"># distribution.</span>
+<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
+<span class="c"># contributors may be used to endorse or promote products derived from</span>
+<span class="c"># this software without specific prior written permission.</span>
+<span class="c">#</span>
+<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
+<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
+<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
+<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
+<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
+<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
+<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
+<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
+<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
+<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
+<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+
+<span class="sd">&quot;&quot;&quot;Entry points into the Beta API of gRPC Python.&quot;&quot;&quot;</span>
+
+<span class="c"># threading is referenced from specification in this module.</span>
+<span class="kn">import</span> <span class="nn">abc</span>
+<span class="kn">import</span> <span class="nn">enum</span>
+<span class="kn">import</span> <span class="nn">threading</span>  <span class="c"># pylint: disable=unused-import</span>
+
+<span class="c"># cardinality and face are referenced from specification in this module.</span>
+<span class="kn">from</span> <span class="nn">grpc._adapter</span> <span class="kn">import</span> <span class="n">_intermediary_low</span>
+<span class="kn">from</span> <span class="nn">grpc._adapter</span> <span class="kn">import</span> <span class="n">_types</span>
+<span class="kn">from</span> <span class="nn">grpc.beta</span> <span class="kn">import</span> <span class="n">_connectivity_channel</span>
+<span class="kn">from</span> <span class="nn">grpc.beta</span> <span class="kn">import</span> <span class="n">_server</span>
+<span class="kn">from</span> <span class="nn">grpc.beta</span> <span class="kn">import</span> <span class="n">_stub</span>
+<span class="kn">from</span> <span class="nn">grpc.beta</span> <span class="kn">import</span> <span class="n">interfaces</span>
+<span class="kn">from</span> <span class="nn">grpc.framework.common</span> <span class="kn">import</span> <span class="n">cardinality</span>  <span class="c"># pylint: disable=unused-import</span>
+<span class="kn">from</span> <span class="nn">grpc.framework.interfaces.face</span> <span class="kn">import</span> <span class="n">face</span>  <span class="c"># pylint: disable=unused-import</span>
+
+<span class="n">_CHANNEL_SUBSCRIPTION_CALLBACK_ERROR_LOG_MESSAGE</span> <span class="o">=</span> <span class="p">(</span>
+    <span class="s">&#39;Exception calling channel subscription callback!&#39;</span><span class="p">)</span>
+
+
+<div class="viewcode-block" id="ClientCredentials"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.implementations.ClientCredentials">[docs]</a><span class="k">class</span> <span class="nc">ClientCredentials</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;A value encapsulating the data required to create a secure Channel.</span>
+
+<span class="sd">  This class and its instances have no supported interface - it exists to define</span>
+<span class="sd">  the type of its instances and its instances exist to be passed to other</span>
+<span class="sd">  functions.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+
+  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">low_credentials</span><span class="p">,</span> <span class="n">intermediary_low_credentials</span><span class="p">):</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_low_credentials</span> <span class="o">=</span> <span class="n">low_credentials</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_intermediary_low_credentials</span> <span class="o">=</span> <span class="n">intermediary_low_credentials</span>
+
+</div>
+<div class="viewcode-block" id="ssl_client_credentials"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.implementations.ssl_client_credentials">[docs]</a><span class="k">def</span> <span class="nf">ssl_client_credentials</span><span class="p">(</span><span class="n">root_certificates</span><span class="p">,</span> <span class="n">private_key</span><span class="p">,</span> <span class="n">certificate_chain</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates a ClientCredentials for use with an SSL-enabled Channel.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    root_certificates: The PEM-encoded root certificates or None to ask for</span>
+<span class="sd">      them to be retrieved from a default location.</span>
+<span class="sd">    private_key: The PEM-encoded private key to use or None if no private key</span>
+<span class="sd">      should be used.</span>
+<span class="sd">    certificate_chain: The PEM-encoded certificate chain to use or None if no</span>
+<span class="sd">      certificate chain should be used.</span>
+
+<span class="sd">  Returns:</span>
+<span class="sd">    A ClientCredentials for use with an SSL-enabled Channel.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="n">intermediary_low_credentials</span> <span class="o">=</span> <span class="n">_intermediary_low</span><span class="o">.</span><span class="n">ClientCredentials</span><span class="p">(</span>
+      <span class="n">root_certificates</span><span class="p">,</span> <span class="n">private_key</span><span class="p">,</span> <span class="n">certificate_chain</span><span class="p">)</span>
+  <span class="k">return</span> <span class="n">ClientCredentials</span><span class="p">(</span>
+      <span class="n">intermediary_low_credentials</span><span class="o">.</span><span class="n">_internal</span><span class="p">,</span> <span class="n">intermediary_low_credentials</span><span class="p">)</span>  <span class="c"># pylint: disable=protected-access</span>
+
+</div>
+<div class="viewcode-block" id="Channel"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.implementations.Channel">[docs]</a><span class="k">class</span> <span class="nc">Channel</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;A channel to a remote host through which RPCs may be conducted.</span>
+
+<span class="sd">  Only the &quot;subscribe&quot; and &quot;unsubscribe&quot; methods are supported for application</span>
+<span class="sd">  use. This class&#39; instance constructor and all other attributes are</span>
+<span class="sd">  unsupported.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+
+  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">low_channel</span><span class="p">,</span> <span class="n">intermediary_low_channel</span><span class="p">):</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_low_channel</span> <span class="o">=</span> <span class="n">low_channel</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_intermediary_low_channel</span> <span class="o">=</span> <span class="n">intermediary_low_channel</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_connectivity_channel</span> <span class="o">=</span> <span class="n">_connectivity_channel</span><span class="o">.</span><span class="n">ConnectivityChannel</span><span class="p">(</span>
+        <span class="n">low_channel</span><span class="p">)</span>
+
+<div class="viewcode-block" id="Channel.subscribe"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.implementations.Channel.subscribe">[docs]</a>  <span class="k">def</span> <span class="nf">subscribe</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">callback</span><span class="p">,</span> <span class="n">try_to_connect</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Subscribes to this Channel&#39;s connectivity.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      callback: A callable to be invoked and passed an</span>
+<span class="sd">        interfaces.ChannelConnectivity identifying this Channel&#39;s connectivity.</span>
+<span class="sd">        The callable will be invoked immediately upon subscription and again for</span>
+<span class="sd">        every change to this Channel&#39;s connectivity thereafter until it is</span>
+<span class="sd">        unsubscribed.</span>
+<span class="sd">      try_to_connect: A boolean indicating whether or not this Channel should</span>
+<span class="sd">        attempt to connect if it is not already connected and ready to conduct</span>
+<span class="sd">        RPCs.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_connectivity_channel</span><span class="o">.</span><span class="n">subscribe</span><span class="p">(</span><span class="n">callback</span><span class="p">,</span> <span class="n">try_to_connect</span><span class="p">)</span>
+</div>
+<div class="viewcode-block" id="Channel.unsubscribe"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.implementations.Channel.unsubscribe">[docs]</a>  <span class="k">def</span> <span class="nf">unsubscribe</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">callback</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Unsubscribes a callback from this Channel&#39;s connectivity.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      callback: A callable previously registered with this Channel from having</span>
+<span class="sd">        been passed to its &quot;subscribe&quot; method.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_connectivity_channel</span><span class="o">.</span><span class="n">unsubscribe</span><span class="p">(</span><span class="n">callback</span><span class="p">)</span>
+
+</div></div>
+<div class="viewcode-block" id="insecure_channel"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.implementations.insecure_channel">[docs]</a><span class="k">def</span> <span class="nf">insecure_channel</span><span class="p">(</span><span class="n">host</span><span class="p">,</span> <span class="n">port</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates an insecure Channel to a remote host.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    host: The name of the remote host to which to connect.</span>
+<span class="sd">    port: The port of the remote host to which to connect.</span>
+
+<span class="sd">  Returns:</span>
+<span class="sd">    A Channel to the remote host through which RPCs may be conducted.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="n">intermediary_low_channel</span> <span class="o">=</span> <span class="n">_intermediary_low</span><span class="o">.</span><span class="n">Channel</span><span class="p">(</span>
+      <span class="s">&#39;</span><span class="si">%s</span><span class="s">:</span><span class="si">%d</span><span class="s">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">host</span><span class="p">,</span> <span class="n">port</span><span class="p">),</span> <span class="bp">None</span><span class="p">)</span>
+  <span class="k">return</span> <span class="n">Channel</span><span class="p">(</span><span class="n">intermediary_low_channel</span><span class="o">.</span><span class="n">_internal</span><span class="p">,</span> <span class="n">intermediary_low_channel</span><span class="p">)</span>  <span class="c"># pylint: disable=protected-access</span>
+
+</div>
+<div class="viewcode-block" id="secure_channel"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.implementations.secure_channel">[docs]</a><span class="k">def</span> <span class="nf">secure_channel</span><span class="p">(</span><span class="n">host</span><span class="p">,</span> <span class="n">port</span><span class="p">,</span> <span class="n">client_credentials</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates a secure Channel to a remote host.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    host: The name of the remote host to which to connect.</span>
+<span class="sd">    port: The port of the remote host to which to connect.</span>
+<span class="sd">    client_credentials: A ClientCredentials.</span>
+
+<span class="sd">  Returns:</span>
+<span class="sd">    A secure Channel to the remote host through which RPCs may be conducted.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="n">intermediary_low_channel</span> <span class="o">=</span> <span class="n">_intermediary_low</span><span class="o">.</span><span class="n">Channel</span><span class="p">(</span>
+      <span class="s">&#39;</span><span class="si">%s</span><span class="s">:</span><span class="si">%d</span><span class="s">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">host</span><span class="p">,</span> <span class="n">port</span><span class="p">),</span> <span class="n">client_credentials</span><span class="o">.</span><span class="n">intermediary_low_credentials</span><span class="p">)</span>
+  <span class="k">return</span> <span class="n">Channel</span><span class="p">(</span><span class="n">intermediary_low_channel</span><span class="o">.</span><span class="n">_internal</span><span class="p">,</span> <span class="n">intermediary_low_channel</span><span class="p">)</span>  <span class="c"># pylint: disable=protected-access</span>
+
+</div>
+<div class="viewcode-block" id="StubOptions"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.implementations.StubOptions">[docs]</a><span class="k">class</span> <span class="nc">StubOptions</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;A value encapsulating the various options for creation of a Stub.</span>
+
+<span class="sd">  This class and its instances have no supported interface - it exists to define</span>
+<span class="sd">  the type of its instances and its instances exist to be passed to other</span>
+<span class="sd">  functions.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+
+  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">host</span><span class="p">,</span> <span class="n">request_serializers</span><span class="p">,</span> <span class="n">response_deserializers</span><span class="p">,</span>
+      <span class="n">metadata_transformer</span><span class="p">,</span> <span class="n">thread_pool</span><span class="p">,</span> <span class="n">thread_pool_size</span><span class="p">):</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">host</span> <span class="o">=</span> <span class="n">host</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">request_serializers</span> <span class="o">=</span> <span class="n">request_serializers</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">response_deserializers</span> <span class="o">=</span> <span class="n">response_deserializers</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">metadata_transformer</span> <span class="o">=</span> <span class="n">metadata_transformer</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">thread_pool</span> <span class="o">=</span> <span class="n">thread_pool</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">thread_pool_size</span> <span class="o">=</span> <span class="n">thread_pool_size</span>
+</div>
+<span class="n">_EMPTY_STUB_OPTIONS</span> <span class="o">=</span> <span class="n">StubOptions</span><span class="p">(</span>
+    <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
+
+
+<div class="viewcode-block" id="stub_options"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.implementations.stub_options">[docs]</a><span class="k">def</span> <span class="nf">stub_options</span><span class="p">(</span>
+    <span class="n">host</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">request_serializers</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">response_deserializers</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+    <span class="n">metadata_transformer</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">thread_pool</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">thread_pool_size</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates a StubOptions value to be passed at stub creation.</span>
+
+<span class="sd">  All parameters are optional and should always be passed by keyword.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    host: A host string to set on RPC calls.</span>
+<span class="sd">    request_serializers: A dictionary from service name-method name pair to</span>
+<span class="sd">      request serialization behavior.</span>
+<span class="sd">    response_deserializers: A dictionary from service name-method name pair to</span>
+<span class="sd">      response deserialization behavior.</span>
+<span class="sd">    metadata_transformer: A callable that given a metadata object produces</span>
+<span class="sd">      another metadata object to be used in the underlying communication on the</span>
+<span class="sd">      wire.</span>
+<span class="sd">    thread_pool: A thread pool to use in stubs.</span>
+<span class="sd">    thread_pool_size: The size of thread pool to create for use in stubs;</span>
+<span class="sd">      ignored if thread_pool has been passed.</span>
+
+<span class="sd">  Returns:</span>
+<span class="sd">    A StubOptions value created from the passed parameters.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="k">return</span> <span class="n">StubOptions</span><span class="p">(</span>
+      <span class="n">host</span><span class="p">,</span> <span class="n">request_serializers</span><span class="p">,</span> <span class="n">response_deserializers</span><span class="p">,</span>
+      <span class="n">metadata_transformer</span><span class="p">,</span> <span class="n">thread_pool</span><span class="p">,</span> <span class="n">thread_pool_size</span><span class="p">)</span>
+
+</div>
+<div class="viewcode-block" id="generic_stub"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.implementations.generic_stub">[docs]</a><span class="k">def</span> <span class="nf">generic_stub</span><span class="p">(</span><span class="n">channel</span><span class="p">,</span> <span class="n">options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates a face.GenericStub on which RPCs can be made.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    channel: A Channel for use by the created stub.</span>
+<span class="sd">    options: A StubOptions customizing the created stub.</span>
+
+<span class="sd">  Returns:</span>
+<span class="sd">    A face.GenericStub on which RPCs can be made.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="n">effective_options</span> <span class="o">=</span> <span class="n">_EMPTY_STUB_OPTIONS</span> <span class="k">if</span> <span class="n">options</span> <span class="ow">is</span> <span class="bp">None</span> <span class="k">else</span> <span class="n">options</span>
+  <span class="k">return</span> <span class="n">_stub</span><span class="o">.</span><span class="n">generic_stub</span><span class="p">(</span>
+      <span class="n">channel</span><span class="o">.</span><span class="n">_intermediary_low_channel</span><span class="p">,</span> <span class="n">effective_options</span><span class="o">.</span><span class="n">host</span><span class="p">,</span>  <span class="c"># pylint: disable=protected-access</span>
+      <span class="n">effective_options</span><span class="o">.</span><span class="n">metadata_transformer</span><span class="p">,</span>
+      <span class="n">effective_options</span><span class="o">.</span><span class="n">request_serializers</span><span class="p">,</span>
+      <span class="n">effective_options</span><span class="o">.</span><span class="n">response_deserializers</span><span class="p">,</span> <span class="n">effective_options</span><span class="o">.</span><span class="n">thread_pool</span><span class="p">,</span>
+      <span class="n">effective_options</span><span class="o">.</span><span class="n">thread_pool_size</span><span class="p">)</span>
+
+</div>
+<div class="viewcode-block" id="dynamic_stub"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.implementations.dynamic_stub">[docs]</a><span class="k">def</span> <span class="nf">dynamic_stub</span><span class="p">(</span><span class="n">channel</span><span class="p">,</span> <span class="n">service</span><span class="p">,</span> <span class="n">cardinalities</span><span class="p">,</span> <span class="n">options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates a face.DynamicStub with which RPCs can be invoked.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    channel: A Channel for the returned face.DynamicStub to use.</span>
+<span class="sd">    service: The package-qualified full name of the service.</span>
+<span class="sd">    cardinalities: A dictionary from RPC method name to cardinality.Cardinality</span>
+<span class="sd">      value identifying the cardinality of the RPC method.</span>
+<span class="sd">    options: An optional StubOptions value further customizing the functionality</span>
+<span class="sd">      of the returned face.DynamicStub.</span>
+
+<span class="sd">  Returns:</span>
+<span class="sd">    A face.DynamicStub with which RPCs can be invoked.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="n">effective_options</span> <span class="o">=</span> <span class="n">StubOptions</span><span class="p">()</span> <span class="k">if</span> <span class="n">options</span> <span class="ow">is</span> <span class="bp">None</span> <span class="k">else</span> <span class="n">options</span>
+  <span class="k">return</span> <span class="n">_stub</span><span class="o">.</span><span class="n">dynamic_stub</span><span class="p">(</span>
+      <span class="n">channel</span><span class="o">.</span><span class="n">_intermediary_low_channel</span><span class="p">,</span> <span class="n">effective_options</span><span class="o">.</span><span class="n">host</span><span class="p">,</span> <span class="n">service</span><span class="p">,</span>  <span class="c"># pylint: disable=protected-access</span>
+      <span class="n">cardinalities</span><span class="p">,</span> <span class="n">effective_options</span><span class="o">.</span><span class="n">metadata_transformer</span><span class="p">,</span>
+      <span class="n">effective_options</span><span class="o">.</span><span class="n">request_serializers</span><span class="p">,</span>
+      <span class="n">effective_options</span><span class="o">.</span><span class="n">response_deserializers</span><span class="p">,</span> <span class="n">effective_options</span><span class="o">.</span><span class="n">thread_pool</span><span class="p">,</span>
+      <span class="n">effective_options</span><span class="o">.</span><span class="n">thread_pool_size</span><span class="p">)</span>
+
+</div>
+<div class="viewcode-block" id="ServerCredentials"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.implementations.ServerCredentials">[docs]</a><span class="k">class</span> <span class="nc">ServerCredentials</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;A value encapsulating the data required to open a secure port on a Server.</span>
+
+<span class="sd">  This class and its instances have no supported interface - it exists to define</span>
+<span class="sd">  the type of its instances and its instances exist to be passed to other</span>
+<span class="sd">  functions.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+
+  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">low_credentials</span><span class="p">,</span> <span class="n">intermediary_low_credentials</span><span class="p">):</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_low_credentials</span> <span class="o">=</span> <span class="n">low_credentials</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_intermediary_low_credentials</span> <span class="o">=</span> <span class="n">intermediary_low_credentials</span>
+
+</div>
+<div class="viewcode-block" id="ssl_server_credentials"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.implementations.ssl_server_credentials">[docs]</a><span class="k">def</span> <span class="nf">ssl_server_credentials</span><span class="p">(</span>
+    <span class="n">private_key_certificate_chain_pairs</span><span class="p">,</span> <span class="n">root_certificates</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+    <span class="n">require_client_auth</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates a ServerCredentials for use with an SSL-enabled Server.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    private_key_certificate_chain_pairs: A nonempty sequence each element of</span>
+<span class="sd">      which is a pair the first element of which is a PEM-encoded private key</span>
+<span class="sd">      and the second element of which is the corresponding PEM-encoded</span>
+<span class="sd">      certificate chain.</span>
+<span class="sd">    root_certificates: PEM-encoded client root certificates to be used for</span>
+<span class="sd">      verifying authenticated clients. If omitted, require_client_auth must also</span>
+<span class="sd">      be omitted or be False.</span>
+<span class="sd">    require_client_auth: A boolean indicating whether or not to require clients</span>
+<span class="sd">      to be authenticated. May only be True if root_certificates is not None.</span>
+
+<span class="sd">  Returns:</span>
+<span class="sd">    A ServerCredentials for use with an SSL-enabled Server.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">private_key_certificate_chain_pairs</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
+    <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
+        <span class="s">&#39;At least one private key-certificate chain pairis required!&#39;</span><span class="p">)</span>
+  <span class="k">elif</span> <span class="n">require_client_auth</span> <span class="ow">and</span> <span class="n">root_certificates</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+    <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
+        <span class="s">&#39;Illegal to require client auth without providing root certificates!&#39;</span><span class="p">)</span>
+  <span class="k">else</span><span class="p">:</span>
+    <span class="n">intermediary_low_credentials</span> <span class="o">=</span> <span class="n">_intermediary_low</span><span class="o">.</span><span class="n">ServerCredentials</span><span class="p">(</span>
+        <span class="n">root_certificates</span><span class="p">,</span> <span class="n">private_key_certificate_chain_pairs</span><span class="p">,</span>
+        <span class="n">require_client_auth</span><span class="p">)</span>
+    <span class="k">return</span> <span class="n">ServerCredentials</span><span class="p">(</span>
+        <span class="n">intermediary_low_credentials</span><span class="o">.</span><span class="n">_internal</span><span class="p">,</span> <span class="n">intermediary_low_credentials</span><span class="p">)</span>  <span class="c"># pylint: disable=protected-access</span>
+
+</div>
+<div class="viewcode-block" id="ServerOptions"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.implementations.ServerOptions">[docs]</a><span class="k">class</span> <span class="nc">ServerOptions</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;A value encapsulating the various options for creation of a Server.</span>
+
+<span class="sd">  This class and its instances have no supported interface - it exists to define</span>
+<span class="sd">  the type of its instances and its instances exist to be passed to other</span>
+<span class="sd">  functions.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+
+  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">multi_method_implementation</span><span class="p">,</span> <span class="n">request_deserializers</span><span class="p">,</span>
+      <span class="n">response_serializers</span><span class="p">,</span> <span class="n">thread_pool</span><span class="p">,</span> <span class="n">thread_pool_size</span><span class="p">,</span> <span class="n">default_timeout</span><span class="p">,</span>
+      <span class="n">maximum_timeout</span><span class="p">):</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">multi_method_implementation</span> <span class="o">=</span> <span class="n">multi_method_implementation</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">request_deserializers</span> <span class="o">=</span> <span class="n">request_deserializers</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">response_serializers</span> <span class="o">=</span> <span class="n">response_serializers</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">thread_pool</span> <span class="o">=</span> <span class="n">thread_pool</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">thread_pool_size</span> <span class="o">=</span> <span class="n">thread_pool_size</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">default_timeout</span> <span class="o">=</span> <span class="n">default_timeout</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">maximum_timeout</span> <span class="o">=</span> <span class="n">maximum_timeout</span>
+</div>
+<span class="n">_EMPTY_SERVER_OPTIONS</span> <span class="o">=</span> <span class="n">ServerOptions</span><span class="p">(</span>
+    <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
+
+
+<div class="viewcode-block" id="server_options"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.implementations.server_options">[docs]</a><span class="k">def</span> <span class="nf">server_options</span><span class="p">(</span>
+    <span class="n">multi_method_implementation</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">request_deserializers</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+    <span class="n">response_serializers</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">thread_pool</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">thread_pool_size</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+    <span class="n">default_timeout</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">maximum_timeout</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates a ServerOptions value to be passed at server creation.</span>
+
+<span class="sd">  All parameters are optional and should always be passed by keyword.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    multi_method_implementation: A face.MultiMethodImplementation to be called</span>
+<span class="sd">      to service an RPC if the server has no specific method implementation for</span>
+<span class="sd">      the name of the RPC for which service was requested.</span>
+<span class="sd">    request_deserializers: A dictionary from service name-method name pair to</span>
+<span class="sd">      request deserialization behavior.</span>
+<span class="sd">    response_serializers: A dictionary from service name-method name pair to</span>
+<span class="sd">      response serialization behavior.</span>
+<span class="sd">    thread_pool: A thread pool to use in stubs.</span>
+<span class="sd">    thread_pool_size: The size of thread pool to create for use in stubs;</span>
+<span class="sd">      ignored if thread_pool has been passed.</span>
+<span class="sd">    default_timeout: A duration in seconds to allow for RPC service when</span>
+<span class="sd">      servicing RPCs that did not include a timeout value when invoked.</span>
+<span class="sd">    maximum_timeout: A duration in seconds to allow for RPC service when</span>
+<span class="sd">      servicing RPCs no matter what timeout value was passed when the RPC was</span>
+<span class="sd">      invoked.</span>
+
+<span class="sd">  Returns:</span>
+<span class="sd">    A StubOptions value created from the passed parameters.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="k">return</span> <span class="n">ServerOptions</span><span class="p">(</span>
+      <span class="n">multi_method_implementation</span><span class="p">,</span> <span class="n">request_deserializers</span><span class="p">,</span> <span class="n">response_serializers</span><span class="p">,</span>
+      <span class="n">thread_pool</span><span class="p">,</span> <span class="n">thread_pool_size</span><span class="p">,</span> <span class="n">default_timeout</span><span class="p">,</span> <span class="n">maximum_timeout</span><span class="p">)</span>
+
+</div>
+<div class="viewcode-block" id="server"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.implementations.server">[docs]</a><span class="k">def</span> <span class="nf">server</span><span class="p">(</span><span class="n">service_implementations</span><span class="p">,</span> <span class="n">options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates an interfaces.Server with which RPCs can be serviced.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    service_implementations: A dictionary from service name-method name pair to</span>
+<span class="sd">      face.MethodImplementation.</span>
+<span class="sd">    options: An optional ServerOptions value further customizing the</span>
+<span class="sd">      functionality of the returned Server.</span>
+
+<span class="sd">  Returns:</span>
+<span class="sd">    An interfaces.Server with which RPCs can be serviced.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="n">effective_options</span> <span class="o">=</span> <span class="n">_EMPTY_SERVER_OPTIONS</span> <span class="k">if</span> <span class="n">options</span> <span class="ow">is</span> <span class="bp">None</span> <span class="k">else</span> <span class="n">options</span>
+  <span class="k">return</span> <span class="n">_server</span><span class="o">.</span><span class="n">server</span><span class="p">(</span>
+      <span class="n">service_implementations</span><span class="p">,</span> <span class="n">effective_options</span><span class="o">.</span><span class="n">multi_method_implementation</span><span class="p">,</span>
+      <span class="n">effective_options</span><span class="o">.</span><span class="n">request_deserializers</span><span class="p">,</span>
+      <span class="n">effective_options</span><span class="o">.</span><span class="n">response_serializers</span><span class="p">,</span> <span class="n">effective_options</span><span class="o">.</span><span class="n">thread_pool</span><span class="p">,</span>
+      <span class="n">effective_options</span><span class="o">.</span><span class="n">thread_pool_size</span><span class="p">,</span> <span class="n">effective_options</span><span class="o">.</span><span class="n">default_timeout</span><span class="p">,</span>
+      <span class="n">effective_options</span><span class="o">.</span><span class="n">maximum_timeout</span><span class="p">)</span></div>
+</pre></div>
+
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2015, Author.
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'0.11.0b0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>

+ 410 - 0
python/_modules/grpc/beta/interfaces.html

@@ -0,0 +1,410 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>grpc.beta.interfaces &mdash; grpcio 0.11.0b0 documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../index.html"/>
+        <link rel="up" title="Module code" href="../../index.html"/> 
+
+  
+  <script src="_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-nav-search">
+        
+
+        
+          <a href="../../../index.html" class="icon icon-home"> grpcio
+        
+
+        
+        </a>
+
+        
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+        
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+        
+          
+          
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../grpc.html">grpc package</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.early_adopter.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../grpc.framework.html">grpc.framework package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.framework.html#subpackages">Subpackages</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../grpc.html#module-grpc">Module contents</a></li>
+</ul>
+</li>
+</ul>
+
+          
+        
+      </div>
+      &nbsp;
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../../../index.html">grpcio</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="../../index.html">Module code</a> &raquo;</li>
+      
+    <li>grpc.beta.interfaces</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document">
+            
+  <h1>Source code for grpc.beta.interfaces</h1><div class="highlight"><pre>
+<span class="c"># Copyright 2015, Google Inc.</span>
+<span class="c"># All rights reserved.</span>
+<span class="c">#</span>
+<span class="c"># Redistribution and use in source and binary forms, with or without</span>
+<span class="c"># modification, are permitted provided that the following conditions are</span>
+<span class="c"># met:</span>
+<span class="c">#</span>
+<span class="c">#     * Redistributions of source code must retain the above copyright</span>
+<span class="c"># notice, this list of conditions and the following disclaimer.</span>
+<span class="c">#     * Redistributions in binary form must reproduce the above</span>
+<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
+<span class="c"># in the documentation and/or other materials provided with the</span>
+<span class="c"># distribution.</span>
+<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
+<span class="c"># contributors may be used to endorse or promote products derived from</span>
+<span class="c"># this software without specific prior written permission.</span>
+<span class="c">#</span>
+<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
+<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
+<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
+<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
+<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
+<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
+<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
+<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
+<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
+<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
+<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+
+<span class="sd">&quot;&quot;&quot;Constants and interfaces of the Beta API of gRPC Python.&quot;&quot;&quot;</span>
+
+<span class="kn">import</span> <span class="nn">abc</span>
+<span class="kn">import</span> <span class="nn">enum</span>
+
+<span class="kn">from</span> <span class="nn">grpc._adapter</span> <span class="kn">import</span> <span class="n">_types</span>
+
+
+<span class="nd">@enum.unique</span>
+<div class="viewcode-block" id="ChannelConnectivity"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.interfaces.ChannelConnectivity">[docs]</a><span class="k">class</span> <span class="nc">ChannelConnectivity</span><span class="p">(</span><span class="n">enum</span><span class="o">.</span><span class="n">Enum</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Mirrors grpc_connectivity_state in the gRPC Core.</span>
+
+<span class="sd">  Attributes:</span>
+<span class="sd">    IDLE: The channel is idle.</span>
+<span class="sd">    CONNECTING: The channel is connecting.</span>
+<span class="sd">    READY: The channel is ready to conduct RPCs.</span>
+<span class="sd">    TRANSIENT_FAILURE: The channel has seen a failure from which it expects to</span>
+<span class="sd">      recover.</span>
+<span class="sd">    FATAL_FAILURE: The channel has seen a failure from which it cannot recover.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="n">IDLE</span> <span class="o">=</span> <span class="p">(</span><span class="n">_types</span><span class="o">.</span><span class="n">ConnectivityState</span><span class="o">.</span><span class="n">IDLE</span><span class="p">,</span> <span class="s">&#39;idle&#39;</span><span class="p">,)</span>
+  <span class="n">CONNECTING</span> <span class="o">=</span> <span class="p">(</span><span class="n">_types</span><span class="o">.</span><span class="n">ConnectivityState</span><span class="o">.</span><span class="n">CONNECTING</span><span class="p">,</span> <span class="s">&#39;connecting&#39;</span><span class="p">,)</span>
+  <span class="n">READY</span> <span class="o">=</span> <span class="p">(</span><span class="n">_types</span><span class="o">.</span><span class="n">ConnectivityState</span><span class="o">.</span><span class="n">READY</span><span class="p">,</span> <span class="s">&#39;ready&#39;</span><span class="p">,)</span>
+  <span class="n">TRANSIENT_FAILURE</span> <span class="o">=</span> <span class="p">(</span>
+      <span class="n">_types</span><span class="o">.</span><span class="n">ConnectivityState</span><span class="o">.</span><span class="n">TRANSIENT_FAILURE</span><span class="p">,</span> <span class="s">&#39;transient failure&#39;</span><span class="p">,)</span>
+  <span class="n">FATAL_FAILURE</span> <span class="o">=</span> <span class="p">(</span><span class="n">_types</span><span class="o">.</span><span class="n">ConnectivityState</span><span class="o">.</span><span class="n">FATAL_FAILURE</span><span class="p">,</span> <span class="s">&#39;fatal failure&#39;</span><span class="p">,)</span>
+
+</div>
+<span class="nd">@enum.unique</span>
+<div class="viewcode-block" id="StatusCode"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.interfaces.StatusCode">[docs]</a><span class="k">class</span> <span class="nc">StatusCode</span><span class="p">(</span><span class="n">enum</span><span class="o">.</span><span class="n">Enum</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Mirrors grpc_status_code in the C core.&quot;&quot;&quot;</span>
+  <span class="n">OK</span>                  <span class="o">=</span> <span class="mi">0</span>
+  <span class="n">CANCELLED</span>           <span class="o">=</span> <span class="mi">1</span>
+  <span class="n">UNKNOWN</span>             <span class="o">=</span> <span class="mi">2</span>
+  <span class="n">INVALID_ARGUMENT</span>    <span class="o">=</span> <span class="mi">3</span>
+  <span class="n">DEADLINE_EXCEEDED</span>   <span class="o">=</span> <span class="mi">4</span>
+  <span class="n">NOT_FOUND</span>           <span class="o">=</span> <span class="mi">5</span>
+  <span class="n">ALREADY_EXISTS</span>      <span class="o">=</span> <span class="mi">6</span>
+  <span class="n">PERMISSION_DENIED</span>   <span class="o">=</span> <span class="mi">7</span>
+  <span class="n">RESOURCE_EXHAUSTED</span>  <span class="o">=</span> <span class="mi">8</span>
+  <span class="n">FAILED_PRECONDITION</span> <span class="o">=</span> <span class="mi">9</span>
+  <span class="n">ABORTED</span>             <span class="o">=</span> <span class="mi">10</span>
+  <span class="n">OUT_OF_RANGE</span>        <span class="o">=</span> <span class="mi">11</span>
+  <span class="n">UNIMPLEMENTED</span>       <span class="o">=</span> <span class="mi">12</span>
+  <span class="n">INTERNAL</span>            <span class="o">=</span> <span class="mi">13</span>
+  <span class="n">UNAVAILABLE</span>         <span class="o">=</span> <span class="mi">14</span>
+  <span class="n">DATA_LOSS</span>           <span class="o">=</span> <span class="mi">15</span>
+  <span class="n">UNAUTHENTICATED</span>     <span class="o">=</span> <span class="mi">16</span>
+
+</div>
+<div class="viewcode-block" id="GRPCCallOptions"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.interfaces.GRPCCallOptions">[docs]</a><span class="k">class</span> <span class="nc">GRPCCallOptions</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;A value encapsulating gRPC-specific options passed on RPC invocation.</span>
+
+<span class="sd">  This class and its instances have no supported interface - it exists to</span>
+<span class="sd">  define the type of its instances and its instances exist to be passed to</span>
+<span class="sd">  other functions.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+
+  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">disable_compression</span><span class="p">,</span> <span class="n">subcall_of</span><span class="p">,</span> <span class="n">credentials</span><span class="p">):</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">disable_compression</span> <span class="o">=</span> <span class="n">disable_compression</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">subcall_of</span> <span class="o">=</span> <span class="n">subcall_of</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">credentials</span> <span class="o">=</span> <span class="n">credentials</span>
+
+</div>
+<div class="viewcode-block" id="grpc_call_options"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.interfaces.grpc_call_options">[docs]</a><span class="k">def</span> <span class="nf">grpc_call_options</span><span class="p">(</span><span class="n">disable_compression</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">credentials</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates a GRPCCallOptions value to be passed at RPC invocation.</span>
+
+<span class="sd">  All parameters are optional and should always be passed by keyword.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    disable_compression: A boolean indicating whether or not compression should</span>
+<span class="sd">      be disabled for the request object of the RPC. Only valid for</span>
+<span class="sd">      request-unary RPCs.</span>
+<span class="sd">    credentials: A ClientCredentials object to use for the invoked RPC.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="k">return</span> <span class="n">GRPCCallOptions</span><span class="p">(</span><span class="n">disable_compression</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="n">credentials</span><span class="p">)</span>
+
+</div>
+<div class="viewcode-block" id="GRPCServicerContext"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.interfaces.GRPCServicerContext">[docs]</a><span class="k">class</span> <span class="nc">GRPCServicerContext</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Exposes gRPC-specific options and behaviors to code servicing RPCs.&quot;&quot;&quot;</span>
+  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
+
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="GRPCServicerContext.peer"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.interfaces.GRPCServicerContext.peer">[docs]</a>  <span class="k">def</span> <span class="nf">peer</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Identifies the peer that invoked the RPC being serviced.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      A string identifying the peer that invoked the RPC being serviced.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="GRPCServicerContext.disable_next_response_compression"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.interfaces.GRPCServicerContext.disable_next_response_compression">[docs]</a>  <span class="k">def</span> <span class="nf">disable_next_response_compression</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Disables compression of the next response passed by the application.&quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+
+</div></div>
+<div class="viewcode-block" id="GRPCInvocationContext"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.interfaces.GRPCInvocationContext">[docs]</a><span class="k">class</span> <span class="nc">GRPCInvocationContext</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Exposes gRPC-specific options and behaviors to code invoking RPCs.&quot;&quot;&quot;</span>
+  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
+
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="GRPCInvocationContext.disable_next_request_compression"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.interfaces.GRPCInvocationContext.disable_next_request_compression">[docs]</a>  <span class="k">def</span> <span class="nf">disable_next_request_compression</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Disables compression of the next request passed by the application.&quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+
+</div></div>
+<div class="viewcode-block" id="Server"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.interfaces.Server">[docs]</a><span class="k">class</span> <span class="nc">Server</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Services RPCs.&quot;&quot;&quot;</span>
+  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
+
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="Server.add_insecure_port"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.interfaces.Server.add_insecure_port">[docs]</a>  <span class="k">def</span> <span class="nf">add_insecure_port</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">address</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Reserves a port for insecure RPC service once this Server becomes active.</span>
+
+<span class="sd">    This method may only be called before calling this Server&#39;s start method is</span>
+<span class="sd">    called.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      address: The address for which to open a port.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      An integer port on which RPCs will be serviced after this link has been</span>
+<span class="sd">        started. This is typically the same number as the port number contained</span>
+<span class="sd">        in the passed address, but will likely be different if the port number</span>
+<span class="sd">        contained in the passed address was zero.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="Server.add_secure_port"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.interfaces.Server.add_secure_port">[docs]</a>  <span class="k">def</span> <span class="nf">add_secure_port</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">address</span><span class="p">,</span> <span class="n">server_credentials</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Reserves a port for secure RPC service after this Server becomes active.</span>
+
+<span class="sd">    This method may only be called before calling this Server&#39;s start method is</span>
+<span class="sd">    called.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      address: The address for which to open a port.</span>
+<span class="sd">      server_credentials: A ServerCredentials.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      An integer port on which RPCs will be serviced after this link has been</span>
+<span class="sd">        started. This is typically the same number as the port number contained</span>
+<span class="sd">        in the passed address, but will likely be different if the port number</span>
+<span class="sd">        contained in the passed address was zero.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="Server.start"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.interfaces.Server.start">[docs]</a>  <span class="k">def</span> <span class="nf">start</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Starts this Server&#39;s service of RPCs.</span>
+
+<span class="sd">    This method may only be called while the server is not serving RPCs (i.e. it</span>
+<span class="sd">    is not idempotent).</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="Server.stop"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.interfaces.Server.stop">[docs]</a>  <span class="k">def</span> <span class="nf">stop</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">grace</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Stops this Server&#39;s service of RPCs.</span>
+
+<span class="sd">    All calls to this method immediately stop service of new RPCs. When existing</span>
+<span class="sd">    RPCs are aborted is controlled by the grace period parameter passed to this</span>
+<span class="sd">    method.</span>
+
+<span class="sd">    This method may be called at any time and is idempotent. Passing a smaller</span>
+<span class="sd">    grace value than has been passed in a previous call will have the effect of</span>
+<span class="sd">    stopping the Server sooner. Passing a larger grace value than has been</span>
+<span class="sd">    passed in a previous call will not have the effect of stopping the sooner</span>
+<span class="sd">    later.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      grace: A duration of time in seconds to allow existing RPCs to complete</span>
+<span class="sd">        before being aborted by this Server&#39;s stopping. May be zero for</span>
+<span class="sd">        immediate abortion of all in-progress RPCs.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      A threading.Event that will be set when this Server has completely</span>
+<span class="sd">      stopped. The returned event may not be set until after the full grace</span>
+<span class="sd">      period (if some ongoing RPC continues for the full length of the period)</span>
+<span class="sd">      of it may be set much sooner (such as if this Server had no RPCs underway</span>
+<span class="sd">      at the time it was stopped or if all RPCs that it had underway completed</span>
+<span class="sd">      very early in the grace period).</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span></div></div>
+</pre></div>
+
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2015, Author.
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'0.11.0b0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>

+ 359 - 0
python/_modules/grpc/beta/utilities.html

@@ -0,0 +1,359 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>grpc.beta.utilities &mdash; grpcio 0.11.0b0 documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../index.html"/>
+        <link rel="up" title="Module code" href="../../index.html"/> 
+
+  
+  <script src="_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-nav-search">
+        
+
+        
+          <a href="../../../index.html" class="icon icon-home"> grpcio
+        
+
+        
+        </a>
+
+        
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+        
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+        
+          
+          
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../grpc.html">grpc package</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.early_adopter.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../grpc.framework.html">grpc.framework package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.framework.html#subpackages">Subpackages</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../grpc.html#module-grpc">Module contents</a></li>
+</ul>
+</li>
+</ul>
+
+          
+        
+      </div>
+      &nbsp;
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../../../index.html">grpcio</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="../../index.html">Module code</a> &raquo;</li>
+      
+    <li>grpc.beta.utilities</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document">
+            
+  <h1>Source code for grpc.beta.utilities</h1><div class="highlight"><pre>
+<span class="c"># Copyright 2015, Google Inc.</span>
+<span class="c"># All rights reserved.</span>
+<span class="c">#</span>
+<span class="c"># Redistribution and use in source and binary forms, with or without</span>
+<span class="c"># modification, are permitted provided that the following conditions are</span>
+<span class="c"># met:</span>
+<span class="c">#</span>
+<span class="c">#     * Redistributions of source code must retain the above copyright</span>
+<span class="c"># notice, this list of conditions and the following disclaimer.</span>
+<span class="c">#     * Redistributions in binary form must reproduce the above</span>
+<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
+<span class="c"># in the documentation and/or other materials provided with the</span>
+<span class="c"># distribution.</span>
+<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
+<span class="c"># contributors may be used to endorse or promote products derived from</span>
+<span class="c"># this software without specific prior written permission.</span>
+<span class="c">#</span>
+<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
+<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
+<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
+<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
+<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
+<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
+<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
+<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
+<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
+<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
+<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+
+<span class="sd">&quot;&quot;&quot;Utilities for the gRPC Python Beta API.&quot;&quot;&quot;</span>
+
+<span class="kn">import</span> <span class="nn">threading</span>
+<span class="kn">import</span> <span class="nn">time</span>
+
+<span class="c"># implementations is referenced from specification in this module.</span>
+<span class="kn">from</span> <span class="nn">grpc.beta</span> <span class="kn">import</span> <span class="n">implementations</span>  <span class="c"># pylint: disable=unused-import</span>
+<span class="kn">from</span> <span class="nn">grpc.beta</span> <span class="kn">import</span> <span class="n">interfaces</span>
+<span class="kn">from</span> <span class="nn">grpc.framework.foundation</span> <span class="kn">import</span> <span class="n">callable_util</span>
+<span class="kn">from</span> <span class="nn">grpc.framework.foundation</span> <span class="kn">import</span> <span class="n">future</span>
+
+<span class="n">_DONE_CALLBACK_EXCEPTION_LOG_MESSAGE</span> <span class="o">=</span> <span class="p">(</span>
+    <span class="s">&#39;Exception calling connectivity future &quot;done&quot; callback!&#39;</span><span class="p">)</span>
+
+
+<span class="k">class</span> <span class="nc">_ChannelReadyFuture</span><span class="p">(</span><span class="n">future</span><span class="o">.</span><span class="n">Future</span><span class="p">):</span>
+
+  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">channel</span><span class="p">):</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span> <span class="o">=</span> <span class="n">threading</span><span class="o">.</span><span class="n">Condition</span><span class="p">()</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_channel</span> <span class="o">=</span> <span class="n">channel</span>
+
+    <span class="bp">self</span><span class="o">.</span><span class="n">_matured</span> <span class="o">=</span> <span class="bp">False</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_cancelled</span> <span class="o">=</span> <span class="bp">False</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_done_callbacks</span> <span class="o">=</span> <span class="p">[]</span>
+
+  <span class="k">def</span> <span class="nf">_block</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">timeout</span><span class="p">):</span>
+    <span class="n">until</span> <span class="o">=</span> <span class="bp">None</span> <span class="k">if</span> <span class="n">timeout</span> <span class="ow">is</span> <span class="bp">None</span> <span class="k">else</span> <span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">()</span> <span class="o">+</span> <span class="n">timeout</span>
+    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
+      <span class="k">while</span> <span class="bp">True</span><span class="p">:</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_cancelled</span><span class="p">:</span>
+          <span class="k">raise</span> <span class="n">future</span><span class="o">.</span><span class="n">CancelledError</span><span class="p">()</span>
+        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_matured</span><span class="p">:</span>
+          <span class="k">return</span>
+        <span class="k">else</span><span class="p">:</span>
+          <span class="k">if</span> <span class="n">until</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="o">.</span><span class="n">wait</span><span class="p">()</span>
+          <span class="k">else</span><span class="p">:</span>
+            <span class="n">remaining</span> <span class="o">=</span> <span class="n">until</span> <span class="o">-</span> <span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">()</span>
+            <span class="k">if</span> <span class="n">remaining</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">:</span>
+              <span class="k">raise</span> <span class="n">future</span><span class="o">.</span><span class="n">TimeoutError</span><span class="p">()</span>
+            <span class="k">else</span><span class="p">:</span>
+              <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="o">.</span><span class="n">wait</span><span class="p">(</span><span class="n">timeout</span><span class="o">=</span><span class="n">remaining</span><span class="p">)</span>
+
+  <span class="k">def</span> <span class="nf">_update</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">connectivity</span><span class="p">):</span>
+    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
+      <span class="k">if</span> <span class="p">(</span><span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_cancelled</span> <span class="ow">and</span>
+          <span class="n">connectivity</span> <span class="ow">is</span> <span class="n">interfaces</span><span class="o">.</span><span class="n">ChannelConnectivity</span><span class="o">.</span><span class="n">READY</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_matured</span> <span class="o">=</span> <span class="bp">True</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_channel</span><span class="o">.</span><span class="n">unsubscribe</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_update</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="o">.</span><span class="n">notify_all</span><span class="p">()</span>
+        <span class="n">done_callbacks</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_done_callbacks</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_done_callbacks</span> <span class="o">=</span> <span class="bp">None</span>
+      <span class="k">else</span><span class="p">:</span>
+        <span class="k">return</span>
+
+    <span class="k">for</span> <span class="n">done_callback</span> <span class="ow">in</span> <span class="n">done_callbacks</span><span class="p">:</span>
+      <span class="n">callable_util</span><span class="o">.</span><span class="n">call_logging_exceptions</span><span class="p">(</span>
+          <span class="n">done_callback</span><span class="p">,</span> <span class="n">_DONE_CALLBACK_EXCEPTION_LOG_MESSAGE</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
+
+  <span class="k">def</span> <span class="nf">cancel</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
+      <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_matured</span><span class="p">:</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_cancelled</span> <span class="o">=</span> <span class="bp">True</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_channel</span><span class="o">.</span><span class="n">unsubscribe</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_update</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="o">.</span><span class="n">notify_all</span><span class="p">()</span>
+        <span class="n">done_callbacks</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_done_callbacks</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_done_callbacks</span> <span class="o">=</span> <span class="bp">None</span>
+      <span class="k">else</span><span class="p">:</span>
+        <span class="k">return</span> <span class="bp">False</span>
+
+    <span class="k">for</span> <span class="n">done_callback</span> <span class="ow">in</span> <span class="n">done_callbacks</span><span class="p">:</span>
+      <span class="n">callable_util</span><span class="o">.</span><span class="n">call_logging_exceptions</span><span class="p">(</span>
+          <span class="n">done_callback</span><span class="p">,</span> <span class="n">_DONE_CALLBACK_EXCEPTION_LOG_MESSAGE</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
+
+  <span class="k">def</span> <span class="nf">cancelled</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
+      <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_cancelled</span>
+
+  <span class="k">def</span> <span class="nf">running</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
+      <span class="k">return</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_cancelled</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_matured</span>
+
+  <span class="k">def</span> <span class="nf">done</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
+      <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_cancelled</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">_matured</span>
+
+  <span class="k">def</span> <span class="nf">result</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">timeout</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_block</span><span class="p">(</span><span class="n">timeout</span><span class="p">)</span>
+    <span class="k">return</span> <span class="bp">None</span>
+
+  <span class="k">def</span> <span class="nf">exception</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">timeout</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_block</span><span class="p">(</span><span class="n">timeout</span><span class="p">)</span>
+    <span class="k">return</span> <span class="bp">None</span>
+
+  <span class="k">def</span> <span class="nf">traceback</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">timeout</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_block</span><span class="p">(</span><span class="n">timeout</span><span class="p">)</span>
+    <span class="k">return</span> <span class="bp">None</span>
+
+  <span class="k">def</span> <span class="nf">add_done_callback</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">fn</span><span class="p">):</span>
+    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
+      <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_cancelled</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_matured</span><span class="p">:</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_done_callbacks</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">fn</span><span class="p">)</span>
+        <span class="k">return</span>
+
+    <span class="n">fn</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
+
+  <span class="k">def</span> <span class="nf">start</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
+      <span class="bp">self</span><span class="o">.</span><span class="n">_channel</span><span class="o">.</span><span class="n">subscribe</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_update</span><span class="p">,</span> <span class="n">try_to_connect</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+
+  <span class="k">def</span> <span class="nf">__del__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
+      <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_cancelled</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_matured</span><span class="p">:</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_channel</span><span class="o">.</span><span class="n">unsubscribe</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_update</span><span class="p">)</span>
+
+
+<div class="viewcode-block" id="channel_ready_future"><a class="viewcode-back" href="../../../grpc.beta.html#grpc.beta.utilities.channel_ready_future">[docs]</a><span class="k">def</span> <span class="nf">channel_ready_future</span><span class="p">(</span><span class="n">channel</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates a future.Future tracking when an implementations.Channel is ready.</span>
+
+<span class="sd">  Cancelling the returned future.Future does not tell the given</span>
+<span class="sd">  implementations.Channel to abandon attempts it may have been making to</span>
+<span class="sd">  connect; cancelling merely deactivates the return future.Future&#39;s</span>
+<span class="sd">  subscription to the given implementations.Channel&#39;s connectivity.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    channel: An implementations.Channel.</span>
+
+<span class="sd">  Returns:</span>
+<span class="sd">    A future.Future that matures when the given Channel has connectivity</span>
+<span class="sd">      interfaces.ChannelConnectivity.READY.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="n">ready_future</span> <span class="o">=</span> <span class="n">_ChannelReadyFuture</span><span class="p">(</span><span class="n">channel</span><span class="p">)</span>
+  <span class="n">ready_future</span><span class="o">.</span><span class="n">start</span><span class="p">()</span>
+  <span class="k">return</span> <span class="n">ready_future</span>
+</pre></div></div>
+
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2015, Author.
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../',
+            VERSION:'0.11.0b0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>

+ 32 - 13
python/_modules/grpc/early_adopter/implementations.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.early_adopter.implementations &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.early_adopter.implementations &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../index.html"/>
         <link rel="up" title="Module code" href="../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -171,13 +178,15 @@
 <span class="kn">from</span> <span class="nn">grpc.framework.face</span> <span class="kn">import</span> <span class="n">implementations</span> <span class="k">as</span> <span class="n">_face_implementations</span>
 <span class="kn">from</span> <span class="nn">grpc.framework.foundation</span> <span class="kn">import</span> <span class="n">logging_pool</span>
 
-<span class="n">_THREAD_POOL_SIZE</span> <span class="o">=</span> <span class="mi">8</span>
+<span class="n">_DEFAULT_THREAD_POOL_SIZE</span> <span class="o">=</span> <span class="mi">8</span>
 <span class="n">_ONE_DAY_IN_SECONDS</span> <span class="o">=</span> <span class="mi">24</span> <span class="o">*</span> <span class="mi">60</span> <span class="o">*</span> <span class="mi">60</span>
 
 
 <span class="k">class</span> <span class="nc">_Server</span><span class="p">(</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Server</span><span class="p">):</span>
 
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">breakdown</span><span class="p">,</span> <span class="n">port</span><span class="p">,</span> <span class="n">private_key</span><span class="p">,</span> <span class="n">certificate_chain</span><span class="p">):</span>
+  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
+        <span class="bp">self</span><span class="p">,</span> <span class="n">breakdown</span><span class="p">,</span> <span class="n">port</span><span class="p">,</span> <span class="n">private_key</span><span class="p">,</span> <span class="n">certificate_chain</span><span class="p">,</span>
+        <span class="n">thread_pool_size</span><span class="o">=</span><span class="n">_DEFAULT_THREAD_POOL_SIZE</span><span class="p">):</span>
     <span class="bp">self</span><span class="o">.</span><span class="n">_lock</span> <span class="o">=</span> <span class="n">threading</span><span class="o">.</span><span class="n">Lock</span><span class="p">()</span>
     <span class="bp">self</span><span class="o">.</span><span class="n">_breakdown</span> <span class="o">=</span> <span class="n">breakdown</span>
     <span class="bp">self</span><span class="o">.</span><span class="n">_port</span> <span class="o">=</span> <span class="n">port</span>
@@ -186,6 +195,7 @@
     <span class="k">else</span><span class="p">:</span>
       <span class="bp">self</span><span class="o">.</span><span class="n">_key_chain_pairs</span> <span class="o">=</span> <span class="p">((</span><span class="n">private_key</span><span class="p">,</span> <span class="n">certificate_chain</span><span class="p">),)</span>
 
+    <span class="bp">self</span><span class="o">.</span><span class="n">_pool_size</span> <span class="o">=</span> <span class="n">thread_pool_size</span>
     <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="o">=</span> <span class="bp">None</span>
     <span class="bp">self</span><span class="o">.</span><span class="n">_back</span> <span class="o">=</span> <span class="bp">None</span>
     <span class="bp">self</span><span class="o">.</span><span class="n">_fore_link</span> <span class="o">=</span> <span class="bp">None</span>
@@ -193,7 +203,7 @@
   <span class="k">def</span> <span class="nf">_start</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
     <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_lock</span><span class="p">:</span>
       <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="o">=</span> <span class="n">logging_pool</span><span class="o">.</span><span class="n">pool</span><span class="p">(</span><span class="n">_THREAD_POOL_SIZE</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="o">=</span> <span class="n">logging_pool</span><span class="o">.</span><span class="n">pool</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_pool_size</span><span class="p">)</span>
         <span class="n">servicer</span> <span class="o">=</span> <span class="n">_face_implementations</span><span class="o">.</span><span class="n">servicer</span><span class="p">(</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_breakdown</span><span class="o">.</span><span class="n">implementations</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_back</span> <span class="o">=</span> <span class="n">_base_implementations</span><span class="o">.</span><span class="n">back_link</span><span class="p">(</span>
@@ -244,7 +254,8 @@
 
   <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span>
       <span class="bp">self</span><span class="p">,</span> <span class="n">breakdown</span><span class="p">,</span> <span class="n">host</span><span class="p">,</span> <span class="n">port</span><span class="p">,</span> <span class="n">secure</span><span class="p">,</span> <span class="n">root_certificates</span><span class="p">,</span> <span class="n">private_key</span><span class="p">,</span>
-      <span class="n">certificate_chain</span><span class="p">,</span> <span class="n">metadata_transformer</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">server_host_override</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+      <span class="n">certificate_chain</span><span class="p">,</span> <span class="n">metadata_transformer</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">server_host_override</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+      <span class="n">thread_pool_size</span><span class="o">=</span><span class="n">_DEFAULT_THREAD_POOL_SIZE</span><span class="p">):</span>
     <span class="bp">self</span><span class="o">.</span><span class="n">_lock</span> <span class="o">=</span> <span class="n">threading</span><span class="o">.</span><span class="n">Lock</span><span class="p">()</span>
     <span class="bp">self</span><span class="o">.</span><span class="n">_breakdown</span> <span class="o">=</span> <span class="n">breakdown</span>
     <span class="bp">self</span><span class="o">.</span><span class="n">_host</span> <span class="o">=</span> <span class="n">host</span>
@@ -256,6 +267,7 @@
     <span class="bp">self</span><span class="o">.</span><span class="n">_metadata_transformer</span> <span class="o">=</span> <span class="n">metadata_transformer</span>
     <span class="bp">self</span><span class="o">.</span><span class="n">_server_host_override</span> <span class="o">=</span> <span class="n">server_host_override</span>
 
+    <span class="bp">self</span><span class="o">.</span><span class="n">_pool_size</span> <span class="o">=</span> <span class="n">thread_pool_size</span>
     <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="o">=</span> <span class="bp">None</span>
     <span class="bp">self</span><span class="o">.</span><span class="n">_front</span> <span class="o">=</span> <span class="bp">None</span>
     <span class="bp">self</span><span class="o">.</span><span class="n">_rear_link</span> <span class="o">=</span> <span class="bp">None</span>
@@ -264,7 +276,7 @@
   <span class="k">def</span> <span class="nf">__enter__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
     <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_lock</span><span class="p">:</span>
       <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="o">=</span> <span class="n">logging_pool</span><span class="o">.</span><span class="n">pool</span><span class="p">(</span><span class="n">_THREAD_POOL_SIZE</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="o">=</span> <span class="n">logging_pool</span><span class="o">.</span><span class="n">pool</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_pool_size</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_front</span> <span class="o">=</span> <span class="n">_base_implementations</span><span class="o">.</span><span class="n">front_link</span><span class="p">(</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_rear_link</span> <span class="o">=</span> <span class="n">_rear</span><span class="o">.</span><span class="n">RearLink</span><span class="p">(</span>
@@ -323,7 +335,7 @@
 <div class="viewcode-block" id="stub"><a class="viewcode-back" href="../../../grpc.early_adopter.html#grpc.early_adopter.implementations.stub">[docs]</a><span class="k">def</span> <span class="nf">stub</span><span class="p">(</span>
     <span class="n">service_name</span><span class="p">,</span> <span class="n">methods</span><span class="p">,</span> <span class="n">host</span><span class="p">,</span> <span class="n">port</span><span class="p">,</span> <span class="n">metadata_transformer</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">secure</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
     <span class="n">root_certificates</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">private_key</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">certificate_chain</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-    <span class="n">server_host_override</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="n">server_host_override</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">thread_pool_size</span><span class="o">=</span><span class="n">_DEFAULT_THREAD_POOL_SIZE</span><span class="p">):</span>
   <span class="sd">&quot;&quot;&quot;Constructs an interfaces.Stub.</span>
 
 <span class="sd">  Args:</span>
@@ -346,6 +358,8 @@
 <span class="sd">      certificate chain should be used.</span>
 <span class="sd">    server_host_override: (For testing only) the target name used for SSL</span>
 <span class="sd">      host name checking.</span>
+<span class="sd">    thread_pool_size: The maximum number of threads to allow in the backing</span>
+<span class="sd">      thread pool.</span>
 
 <span class="sd">  Returns:</span>
 <span class="sd">    An interfaces.Stub affording RPC invocation.</span>
@@ -354,11 +368,13 @@
   <span class="k">return</span> <span class="n">_Stub</span><span class="p">(</span>
       <span class="n">breakdown</span><span class="p">,</span> <span class="n">host</span><span class="p">,</span> <span class="n">port</span><span class="p">,</span> <span class="n">secure</span><span class="p">,</span> <span class="n">root_certificates</span><span class="p">,</span> <span class="n">private_key</span><span class="p">,</span>
       <span class="n">certificate_chain</span><span class="p">,</span> <span class="n">server_host_override</span><span class="o">=</span><span class="n">server_host_override</span><span class="p">,</span>
-      <span class="n">metadata_transformer</span><span class="o">=</span><span class="n">metadata_transformer</span><span class="p">)</span>
+      <span class="n">metadata_transformer</span><span class="o">=</span><span class="n">metadata_transformer</span><span class="p">,</span>
+      <span class="n">thread_pool_size</span><span class="o">=</span><span class="n">thread_pool_size</span><span class="p">)</span>
 
 </div>
 <div class="viewcode-block" id="server"><a class="viewcode-back" href="../../../grpc.early_adopter.html#grpc.early_adopter.implementations.server">[docs]</a><span class="k">def</span> <span class="nf">server</span><span class="p">(</span>
-    <span class="n">service_name</span><span class="p">,</span> <span class="n">methods</span><span class="p">,</span> <span class="n">port</span><span class="p">,</span> <span class="n">private_key</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">certificate_chain</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="n">service_name</span><span class="p">,</span> <span class="n">methods</span><span class="p">,</span> <span class="n">port</span><span class="p">,</span> <span class="n">private_key</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">certificate_chain</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+    <span class="n">thread_pool_size</span><span class="o">=</span><span class="n">_DEFAULT_THREAD_POOL_SIZE</span><span class="p">):</span>
   <span class="sd">&quot;&quot;&quot;Constructs an interfaces.Server.</span>
 
 <span class="sd">  Args:</span>
@@ -372,12 +388,15 @@
 <span class="sd">    private_key: A pem-encoded private key, or None for an insecure server.</span>
 <span class="sd">    certificate_chain: A pem-encoded certificate chain, or None for an insecure</span>
 <span class="sd">      server.</span>
+<span class="sd">    thread_pool_size: The maximum number of threads to allow in the backing</span>
+<span class="sd">      thread pool.</span>
 
 <span class="sd">  Returns:</span>
 <span class="sd">    An interfaces.Server that will serve secure traffic.</span>
 <span class="sd">  &quot;&quot;&quot;</span>
   <span class="n">breakdown</span> <span class="o">=</span> <span class="n">_face_utilities</span><span class="o">.</span><span class="n">break_down_service</span><span class="p">(</span><span class="n">service_name</span><span class="p">,</span> <span class="n">methods</span><span class="p">)</span>
-  <span class="k">return</span> <span class="n">_Server</span><span class="p">(</span><span class="n">breakdown</span><span class="p">,</span> <span class="n">port</span><span class="p">,</span> <span class="n">private_key</span><span class="p">,</span> <span class="n">certificate_chain</span><span class="p">)</span></div>
+  <span class="k">return</span> <span class="n">_Server</span><span class="p">(</span><span class="n">breakdown</span><span class="p">,</span> <span class="n">port</span><span class="p">,</span> <span class="n">private_key</span><span class="p">,</span> <span class="n">certificate_chain</span><span class="p">,</span>
+      <span class="n">thread_pool_size</span><span class="o">=</span><span class="n">thread_pool_size</span><span class="p">)</span></div>
 </pre></div>
 
           </div>
@@ -409,7 +428,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 0 - 369
python/_modules/grpc/early_adopter/implementations_test.html

@@ -1,369 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>grpc.early_adopter.implementations_test &mdash; grpcio 0.10.0a0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../index.html"/>
-        <link rel="up" title="Module code" href="../../index.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-nav-search">
-        
-
-        
-          <a href="../../../index.html" class="icon icon-home"> grpcio
-        
-
-        
-        </a>
-
-        
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-        
-      </div>
-
-      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-        
-          
-          
-              <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../grpc.html">grpc package</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../../../grpc.html#subpackages">Subpackages</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../grpc.early_adopter.html#submodules">Submodules</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="../../../grpc.framework.html">grpc.framework package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../grpc.framework.html#subpackages">Subpackages</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="../../../grpc.html#module-grpc">Module contents</a></li>
-</ul>
-</li>
-</ul>
-
-          
-        
-      </div>
-      &nbsp;
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../index.html">grpcio</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          <div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../../index.html">Module code</a> &raquo;</li>
-      
-    <li>grpc.early_adopter.implementations_test</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document">
-            
-  <h1>Source code for grpc.early_adopter.implementations_test</h1><div class="highlight"><pre>
-<span class="c"># Copyright 2015, Google Inc.</span>
-<span class="c"># All rights reserved.</span>
-<span class="c">#</span>
-<span class="c"># Redistribution and use in source and binary forms, with or without</span>
-<span class="c"># modification, are permitted provided that the following conditions are</span>
-<span class="c"># met:</span>
-<span class="c">#</span>
-<span class="c">#     * Redistributions of source code must retain the above copyright</span>
-<span class="c"># notice, this list of conditions and the following disclaimer.</span>
-<span class="c">#     * Redistributions in binary form must reproduce the above</span>
-<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
-<span class="c"># in the documentation and/or other materials provided with the</span>
-<span class="c"># distribution.</span>
-<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
-<span class="c"># contributors may be used to endorse or promote products derived from</span>
-<span class="c"># this software without specific prior written permission.</span>
-<span class="c">#</span>
-<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
-<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
-<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
-<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
-<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
-<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
-<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-
-<span class="c"># TODO(nathaniel): Expand this test coverage.</span>
-
-<span class="sd">&quot;&quot;&quot;Test of the GRPC-backed ForeLink and RearLink.&quot;&quot;&quot;</span>
-
-<span class="kn">import</span> <span class="nn">unittest</span>
-
-<span class="kn">from</span> <span class="nn">grpc.early_adopter</span> <span class="kn">import</span> <span class="n">implementations</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.alpha</span> <span class="kn">import</span> <span class="n">utilities</span>
-<span class="kn">from</span> <span class="nn">grpc._junkdrawer</span> <span class="kn">import</span> <span class="n">math_pb2</span>
-
-<span class="n">SERVICE_NAME</span> <span class="o">=</span> <span class="s">&#39;math.Math&#39;</span>
-
-<span class="n">DIV</span> <span class="o">=</span> <span class="s">&#39;Div&#39;</span>
-<span class="n">DIV_MANY</span> <span class="o">=</span> <span class="s">&#39;DivMany&#39;</span>
-<span class="n">FIB</span> <span class="o">=</span> <span class="s">&#39;Fib&#39;</span>
-<span class="n">SUM</span> <span class="o">=</span> <span class="s">&#39;Sum&#39;</span>
-
-<span class="k">def</span> <span class="nf">_fibbonacci</span><span class="p">(</span><span class="n">limit</span><span class="p">):</span>
-  <span class="n">left</span><span class="p">,</span> <span class="n">right</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">1</span>
-  <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">xrange</span><span class="p">(</span><span class="n">limit</span><span class="p">):</span>
-    <span class="k">yield</span> <span class="n">left</span>
-    <span class="n">left</span><span class="p">,</span> <span class="n">right</span> <span class="o">=</span> <span class="n">right</span><span class="p">,</span> <span class="n">left</span> <span class="o">+</span> <span class="n">right</span>
-
-
-<span class="k">def</span> <span class="nf">_div</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">unused_context</span><span class="p">):</span>
-  <span class="k">return</span> <span class="n">math_pb2</span><span class="o">.</span><span class="n">DivReply</span><span class="p">(</span>
-      <span class="n">quotient</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">dividend</span> <span class="o">/</span> <span class="n">request</span><span class="o">.</span><span class="n">divisor</span><span class="p">,</span>
-      <span class="n">remainder</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">dividend</span> <span class="o">%</span> <span class="n">request</span><span class="o">.</span><span class="n">divisor</span><span class="p">)</span>
-
-
-<span class="k">def</span> <span class="nf">_div_many</span><span class="p">(</span><span class="n">request_iterator</span><span class="p">,</span> <span class="n">unused_context</span><span class="p">):</span>
-  <span class="k">for</span> <span class="n">request</span> <span class="ow">in</span> <span class="n">request_iterator</span><span class="p">:</span>
-    <span class="k">yield</span> <span class="n">math_pb2</span><span class="o">.</span><span class="n">DivReply</span><span class="p">(</span>
-        <span class="n">quotient</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">dividend</span> <span class="o">/</span> <span class="n">request</span><span class="o">.</span><span class="n">divisor</span><span class="p">,</span>
-        <span class="n">remainder</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">dividend</span> <span class="o">%</span> <span class="n">request</span><span class="o">.</span><span class="n">divisor</span><span class="p">)</span>
-
-
-<span class="k">def</span> <span class="nf">_fib</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">unused_context</span><span class="p">):</span>
-  <span class="k">for</span> <span class="n">number</span> <span class="ow">in</span> <span class="n">_fibbonacci</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">limit</span><span class="p">):</span>
-    <span class="k">yield</span> <span class="n">math_pb2</span><span class="o">.</span><span class="n">Num</span><span class="p">(</span><span class="n">num</span><span class="o">=</span><span class="n">number</span><span class="p">)</span>
-
-
-<span class="k">def</span> <span class="nf">_sum</span><span class="p">(</span><span class="n">request_iterator</span><span class="p">,</span> <span class="n">unused_context</span><span class="p">):</span>
-  <span class="n">accumulation</span> <span class="o">=</span> <span class="mi">0</span>
-  <span class="k">for</span> <span class="n">request</span> <span class="ow">in</span> <span class="n">request_iterator</span><span class="p">:</span>
-    <span class="n">accumulation</span> <span class="o">+=</span> <span class="n">request</span><span class="o">.</span><span class="n">num</span>
-  <span class="k">return</span> <span class="n">math_pb2</span><span class="o">.</span><span class="n">Num</span><span class="p">(</span><span class="n">num</span><span class="o">=</span><span class="n">accumulation</span><span class="p">)</span>
-
-
-<span class="n">_INVOCATION_DESCRIPTIONS</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="n">DIV</span><span class="p">:</span> <span class="n">utilities</span><span class="o">.</span><span class="n">unary_unary_invocation_description</span><span class="p">(</span>
-        <span class="n">math_pb2</span><span class="o">.</span><span class="n">DivArgs</span><span class="o">.</span><span class="n">SerializeToString</span><span class="p">,</span> <span class="n">math_pb2</span><span class="o">.</span><span class="n">DivReply</span><span class="o">.</span><span class="n">FromString</span><span class="p">),</span>
-    <span class="n">DIV_MANY</span><span class="p">:</span> <span class="n">utilities</span><span class="o">.</span><span class="n">stream_stream_invocation_description</span><span class="p">(</span>
-        <span class="n">math_pb2</span><span class="o">.</span><span class="n">DivArgs</span><span class="o">.</span><span class="n">SerializeToString</span><span class="p">,</span> <span class="n">math_pb2</span><span class="o">.</span><span class="n">DivReply</span><span class="o">.</span><span class="n">FromString</span><span class="p">),</span>
-    <span class="n">FIB</span><span class="p">:</span> <span class="n">utilities</span><span class="o">.</span><span class="n">unary_stream_invocation_description</span><span class="p">(</span>
-        <span class="n">math_pb2</span><span class="o">.</span><span class="n">FibArgs</span><span class="o">.</span><span class="n">SerializeToString</span><span class="p">,</span> <span class="n">math_pb2</span><span class="o">.</span><span class="n">Num</span><span class="o">.</span><span class="n">FromString</span><span class="p">),</span>
-    <span class="n">SUM</span><span class="p">:</span> <span class="n">utilities</span><span class="o">.</span><span class="n">stream_unary_invocation_description</span><span class="p">(</span>
-        <span class="n">math_pb2</span><span class="o">.</span><span class="n">Num</span><span class="o">.</span><span class="n">SerializeToString</span><span class="p">,</span> <span class="n">math_pb2</span><span class="o">.</span><span class="n">Num</span><span class="o">.</span><span class="n">FromString</span><span class="p">),</span>
-<span class="p">}</span>
-
-<span class="n">_SERVICE_DESCRIPTIONS</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="n">DIV</span><span class="p">:</span> <span class="n">utilities</span><span class="o">.</span><span class="n">unary_unary_service_description</span><span class="p">(</span>
-        <span class="n">_div</span><span class="p">,</span> <span class="n">math_pb2</span><span class="o">.</span><span class="n">DivArgs</span><span class="o">.</span><span class="n">FromString</span><span class="p">,</span>
-        <span class="n">math_pb2</span><span class="o">.</span><span class="n">DivReply</span><span class="o">.</span><span class="n">SerializeToString</span><span class="p">),</span>
-    <span class="n">DIV_MANY</span><span class="p">:</span> <span class="n">utilities</span><span class="o">.</span><span class="n">stream_stream_service_description</span><span class="p">(</span>
-        <span class="n">_div_many</span><span class="p">,</span> <span class="n">math_pb2</span><span class="o">.</span><span class="n">DivArgs</span><span class="o">.</span><span class="n">FromString</span><span class="p">,</span>
-        <span class="n">math_pb2</span><span class="o">.</span><span class="n">DivReply</span><span class="o">.</span><span class="n">SerializeToString</span><span class="p">),</span>
-    <span class="n">FIB</span><span class="p">:</span> <span class="n">utilities</span><span class="o">.</span><span class="n">unary_stream_service_description</span><span class="p">(</span>
-        <span class="n">_fib</span><span class="p">,</span> <span class="n">math_pb2</span><span class="o">.</span><span class="n">FibArgs</span><span class="o">.</span><span class="n">FromString</span><span class="p">,</span> <span class="n">math_pb2</span><span class="o">.</span><span class="n">Num</span><span class="o">.</span><span class="n">SerializeToString</span><span class="p">),</span>
-    <span class="n">SUM</span><span class="p">:</span> <span class="n">utilities</span><span class="o">.</span><span class="n">stream_unary_service_description</span><span class="p">(</span>
-        <span class="n">_sum</span><span class="p">,</span> <span class="n">math_pb2</span><span class="o">.</span><span class="n">Num</span><span class="o">.</span><span class="n">FromString</span><span class="p">,</span> <span class="n">math_pb2</span><span class="o">.</span><span class="n">Num</span><span class="o">.</span><span class="n">SerializeToString</span><span class="p">),</span>
-<span class="p">}</span>
-
-<span class="n">_TIMEOUT</span> <span class="o">=</span> <span class="mi">3</span>
-
-
-<div class="viewcode-block" id="EarlyAdopterImplementationsTest"><a class="viewcode-back" href="../../../grpc.early_adopter.html#grpc.early_adopter.implementations_test.EarlyAdopterImplementationsTest">[docs]</a><span class="k">class</span> <span class="nc">EarlyAdopterImplementationsTest</span><span class="p">(</span><span class="n">unittest</span><span class="o">.</span><span class="n">TestCase</span><span class="p">):</span>
-
-<div class="viewcode-block" id="EarlyAdopterImplementationsTest.setUp"><a class="viewcode-back" href="../../../grpc.early_adopter.html#grpc.early_adopter.implementations_test.EarlyAdopterImplementationsTest.setUp">[docs]</a>  <span class="k">def</span> <span class="nf">setUp</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">server</span> <span class="o">=</span> <span class="n">implementations</span><span class="o">.</span><span class="n">server</span><span class="p">(</span>
-        <span class="n">SERVICE_NAME</span><span class="p">,</span> <span class="n">_SERVICE_DESCRIPTIONS</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">server</span><span class="o">.</span><span class="n">start</span><span class="p">()</span>
-    <span class="n">port</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">server</span><span class="o">.</span><span class="n">port</span><span class="p">()</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">stub</span> <span class="o">=</span> <span class="n">implementations</span><span class="o">.</span><span class="n">stub</span><span class="p">(</span>
-        <span class="n">SERVICE_NAME</span><span class="p">,</span> <span class="n">_INVOCATION_DESCRIPTIONS</span><span class="p">,</span> <span class="s">&#39;localhost&#39;</span><span class="p">,</span> <span class="n">port</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="EarlyAdopterImplementationsTest.tearDown"><a class="viewcode-back" href="../../../grpc.early_adopter.html#grpc.early_adopter.implementations_test.EarlyAdopterImplementationsTest.tearDown">[docs]</a>  <span class="k">def</span> <span class="nf">tearDown</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">server</span><span class="o">.</span><span class="n">stop</span><span class="p">()</span>
-</div>
-<div class="viewcode-block" id="EarlyAdopterImplementationsTest.testUpAndDown"><a class="viewcode-back" href="../../../grpc.early_adopter.html#grpc.early_adopter.implementations_test.EarlyAdopterImplementationsTest.testUpAndDown">[docs]</a>  <span class="k">def</span> <span class="nf">testUpAndDown</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="p">:</span>
-      <span class="k">pass</span>
-</div>
-<div class="viewcode-block" id="EarlyAdopterImplementationsTest.testUnaryUnary"><a class="viewcode-back" href="../../../grpc.early_adopter.html#grpc.early_adopter.implementations_test.EarlyAdopterImplementationsTest.testUnaryUnary">[docs]</a>  <span class="k">def</span> <span class="nf">testUnaryUnary</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="n">divisor</span> <span class="o">=</span> <span class="mi">59</span>
-    <span class="n">dividend</span> <span class="o">=</span> <span class="mi">973</span>
-    <span class="n">expected_quotient</span> <span class="o">=</span> <span class="n">dividend</span> <span class="o">/</span> <span class="n">divisor</span>
-    <span class="n">expected_remainder</span> <span class="o">=</span> <span class="n">dividend</span> <span class="o">%</span> <span class="n">divisor</span>
-
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="p">:</span>
-      <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">Div</span><span class="p">(</span>
-          <span class="n">math_pb2</span><span class="o">.</span><span class="n">DivArgs</span><span class="p">(</span><span class="n">divisor</span><span class="o">=</span><span class="n">divisor</span><span class="p">,</span> <span class="n">dividend</span><span class="o">=</span><span class="n">dividend</span><span class="p">),</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">expected_quotient</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">quotient</span><span class="p">)</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">expected_remainder</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">remainder</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="EarlyAdopterImplementationsTest.testUnaryStream"><a class="viewcode-back" href="../../../grpc.early_adopter.html#grpc.early_adopter.implementations_test.EarlyAdopterImplementationsTest.testUnaryStream">[docs]</a>  <span class="k">def</span> <span class="nf">testUnaryStream</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="n">stream_length</span> <span class="o">=</span> <span class="mi">43</span>
-
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="p">:</span>
-      <span class="n">response_iterator</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">Fib</span><span class="p">(</span>
-          <span class="n">math_pb2</span><span class="o">.</span><span class="n">FibArgs</span><span class="p">(</span><span class="n">limit</span><span class="o">=</span><span class="n">stream_length</span><span class="p">),</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-      <span class="n">numbers</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">num</span> <span class="k">for</span> <span class="n">response</span> <span class="ow">in</span> <span class="n">response_iterator</span><span class="p">)</span>
-      <span class="k">for</span> <span class="n">early</span><span class="p">,</span> <span class="n">middle</span><span class="p">,</span> <span class="n">later</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">numbers</span><span class="p">,</span> <span class="n">numbers</span><span class="p">[:</span><span class="mi">1</span><span class="p">],</span> <span class="n">numbers</span><span class="p">[:</span><span class="mi">2</span><span class="p">]):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">early</span> <span class="o">+</span> <span class="n">middle</span><span class="p">,</span> <span class="n">later</span><span class="p">)</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">stream_length</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">numbers</span><span class="p">))</span>
-</div>
-<div class="viewcode-block" id="EarlyAdopterImplementationsTest.testStreamUnary"><a class="viewcode-back" href="../../../grpc.early_adopter.html#grpc.early_adopter.implementations_test.EarlyAdopterImplementationsTest.testStreamUnary">[docs]</a>  <span class="k">def</span> <span class="nf">testStreamUnary</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="n">stream_length</span> <span class="o">=</span> <span class="mi">127</span>
-
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="p">:</span>
-      <span class="n">response_future</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">Sum</span><span class="o">.</span><span class="n">async</span><span class="p">(</span>
-          <span class="p">(</span><span class="n">math_pb2</span><span class="o">.</span><span class="n">Num</span><span class="p">(</span><span class="n">num</span><span class="o">=</span><span class="n">index</span><span class="p">)</span> <span class="k">for</span> <span class="n">index</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">stream_length</span><span class="p">)),</span>
-          <span class="n">_TIMEOUT</span><span class="p">)</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span>
-          <span class="p">(</span><span class="n">stream_length</span> <span class="o">*</span> <span class="p">(</span><span class="n">stream_length</span> <span class="o">-</span> <span class="mi">1</span><span class="p">))</span> <span class="o">/</span> <span class="mi">2</span><span class="p">,</span>
-          <span class="n">response_future</span><span class="o">.</span><span class="n">result</span><span class="p">()</span><span class="o">.</span><span class="n">num</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="EarlyAdopterImplementationsTest.testStreamStream"><a class="viewcode-back" href="../../../grpc.early_adopter.html#grpc.early_adopter.implementations_test.EarlyAdopterImplementationsTest.testStreamStream">[docs]</a>  <span class="k">def</span> <span class="nf">testStreamStream</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="n">stream_length</span> <span class="o">=</span> <span class="mi">179</span>
-    <span class="n">divisor_offset</span> <span class="o">=</span> <span class="mi">71</span>
-    <span class="n">dividend_offset</span> <span class="o">=</span> <span class="mi">1763</span>
-
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="p">:</span>
-      <span class="n">response_iterator</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">DivMany</span><span class="p">(</span>
-          <span class="p">(</span><span class="n">math_pb2</span><span class="o">.</span><span class="n">DivArgs</span><span class="p">(</span>
-               <span class="n">divisor</span><span class="o">=</span><span class="n">divisor_offset</span> <span class="o">+</span> <span class="n">index</span><span class="p">,</span>
-               <span class="n">dividend</span><span class="o">=</span><span class="n">dividend_offset</span> <span class="o">+</span> <span class="n">index</span><span class="p">)</span>
-           <span class="k">for</span> <span class="n">index</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">stream_length</span><span class="p">)),</span>
-          <span class="n">_TIMEOUT</span><span class="p">)</span>
-      <span class="k">for</span> <span class="n">index</span><span class="p">,</span> <span class="n">response</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">response_iterator</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span>
-            <span class="p">(</span><span class="n">dividend_offset</span> <span class="o">+</span> <span class="n">index</span><span class="p">)</span> <span class="o">/</span> <span class="p">(</span><span class="n">divisor_offset</span> <span class="o">+</span> <span class="n">index</span><span class="p">),</span>
-            <span class="n">response</span><span class="o">.</span><span class="n">quotient</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span>
-            <span class="p">(</span><span class="n">dividend_offset</span> <span class="o">+</span> <span class="n">index</span><span class="p">)</span> <span class="o">%</span> <span class="p">(</span><span class="n">divisor_offset</span> <span class="o">+</span> <span class="n">index</span><span class="p">),</span>
-            <span class="n">response</span><span class="o">.</span><span class="n">remainder</span><span class="p">)</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">stream_length</span><span class="p">,</span> <span class="n">index</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
-
-</div></div>
-<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&#39;__main__&#39;</span><span class="p">:</span>
-  <span class="n">unittest</span><span class="o">.</span><span class="n">main</span><span class="p">(</span><span class="n">verbosity</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
-</pre></div>
-
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2015, Author.
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../',
-            VERSION:'0.10.0a0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>

+ 11 - 4
python/_modules/grpc/framework/alpha/exceptions.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.alpha.exceptions &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.alpha.exceptions &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -207,7 +214,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 11 - 4
python/_modules/grpc/framework/alpha/interfaces.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.alpha.interfaces &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.alpha.interfaces &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -547,7 +554,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 11 - 4
python/_modules/grpc/framework/alpha/utilities.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.alpha.utilities &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.alpha.utilities &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -428,7 +435,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 11 - 4
python/_modules/grpc/framework/base/exceptions.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.base.exceptions &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.base.exceptions &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -193,7 +200,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 11 - 4
python/_modules/grpc/framework/base/implementations.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.base.implementations &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.base.implementations &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -236,7 +243,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 0 - 269
python/_modules/grpc/framework/base/implementations_test.html

@@ -1,269 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>grpc.framework.base.implementations_test &mdash; grpcio 0.10.0a0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-nav-search">
-        
-
-        
-          <a href="../../../../index.html" class="icon icon-home"> grpcio
-        
-
-        
-        </a>
-
-        
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-        
-      </div>
-
-      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-        
-          
-          
-              <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.framework.html">grpc.framework package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.framework.html#subpackages">Subpackages</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#module-grpc">Module contents</a></li>
-</ul>
-</li>
-</ul>
-
-          
-        
-      </div>
-      &nbsp;
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../index.html">grpcio</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          <div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>grpc.framework.base.implementations_test</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document">
-            
-  <h1>Source code for grpc.framework.base.implementations_test</h1><div class="highlight"><pre>
-<span class="c"># Copyright 2015, Google Inc.</span>
-<span class="c"># All rights reserved.</span>
-<span class="c">#</span>
-<span class="c"># Redistribution and use in source and binary forms, with or without</span>
-<span class="c"># modification, are permitted provided that the following conditions are</span>
-<span class="c"># met:</span>
-<span class="c">#</span>
-<span class="c">#     * Redistributions of source code must retain the above copyright</span>
-<span class="c"># notice, this list of conditions and the following disclaimer.</span>
-<span class="c">#     * Redistributions in binary form must reproduce the above</span>
-<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
-<span class="c"># in the documentation and/or other materials provided with the</span>
-<span class="c"># distribution.</span>
-<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
-<span class="c"># contributors may be used to endorse or promote products derived from</span>
-<span class="c"># this software without specific prior written permission.</span>
-<span class="c">#</span>
-<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
-<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
-<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
-<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
-<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
-<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
-<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-
-<span class="sd">&quot;&quot;&quot;Tests for grpc.framework.base.implementations.&quot;&quot;&quot;</span>
-
-<span class="kn">import</span> <span class="nn">unittest</span>
-
-<span class="kn">from</span> <span class="nn">grpc.framework.base</span> <span class="kn">import</span> <span class="n">implementations</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.base</span> <span class="kn">import</span> <span class="n">interfaces_test_case</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.base</span> <span class="kn">import</span> <span class="n">util</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.foundation</span> <span class="kn">import</span> <span class="n">logging_pool</span>
-
-<span class="n">POOL_MAX_WORKERS</span> <span class="o">=</span> <span class="mi">10</span>
-<span class="n">DEFAULT_TIMEOUT</span> <span class="o">=</span> <span class="mi">30</span>
-<span class="n">MAXIMUM_TIMEOUT</span> <span class="o">=</span> <span class="mi">60</span>
-
-
-<div class="viewcode-block" id="ImplementationsTest"><a class="viewcode-back" href="../../../../grpc.framework.base.html#grpc.framework.base.implementations_test.ImplementationsTest">[docs]</a><span class="k">class</span> <span class="nc">ImplementationsTest</span><span class="p">(</span>
-    <span class="n">interfaces_test_case</span><span class="o">.</span><span class="n">FrontAndBackTest</span><span class="p">,</span> <span class="n">unittest</span><span class="o">.</span><span class="n">TestCase</span><span class="p">):</span>
-
-<div class="viewcode-block" id="ImplementationsTest.setUp"><a class="viewcode-back" href="../../../../grpc.framework.base.html#grpc.framework.base.implementations_test.ImplementationsTest.setUp">[docs]</a>  <span class="k">def</span> <span class="nf">setUp</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">memory_transmission_pool</span> <span class="o">=</span> <span class="n">logging_pool</span><span class="o">.</span><span class="n">pool</span><span class="p">(</span><span class="n">POOL_MAX_WORKERS</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">front_work_pool</span> <span class="o">=</span> <span class="n">logging_pool</span><span class="o">.</span><span class="n">pool</span><span class="p">(</span><span class="n">POOL_MAX_WORKERS</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">front_transmission_pool</span> <span class="o">=</span> <span class="n">logging_pool</span><span class="o">.</span><span class="n">pool</span><span class="p">(</span><span class="n">POOL_MAX_WORKERS</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">front_utility_pool</span> <span class="o">=</span> <span class="n">logging_pool</span><span class="o">.</span><span class="n">pool</span><span class="p">(</span><span class="n">POOL_MAX_WORKERS</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">back_work_pool</span> <span class="o">=</span> <span class="n">logging_pool</span><span class="o">.</span><span class="n">pool</span><span class="p">(</span><span class="n">POOL_MAX_WORKERS</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">back_transmission_pool</span> <span class="o">=</span> <span class="n">logging_pool</span><span class="o">.</span><span class="n">pool</span><span class="p">(</span><span class="n">POOL_MAX_WORKERS</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">back_utility_pool</span> <span class="o">=</span> <span class="n">logging_pool</span><span class="o">.</span><span class="n">pool</span><span class="p">(</span><span class="n">POOL_MAX_WORKERS</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">test_pool</span> <span class="o">=</span> <span class="n">logging_pool</span><span class="o">.</span><span class="n">pool</span><span class="p">(</span><span class="n">POOL_MAX_WORKERS</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">test_servicer</span> <span class="o">=</span> <span class="n">interfaces_test_case</span><span class="o">.</span><span class="n">TestServicer</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">test_pool</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">front</span> <span class="o">=</span> <span class="n">implementations</span><span class="o">.</span><span class="n">front_link</span><span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">front_work_pool</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">front_transmission_pool</span><span class="p">,</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">front_utility_pool</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">back</span> <span class="o">=</span> <span class="n">implementations</span><span class="o">.</span><span class="n">back_link</span><span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">test_servicer</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">back_work_pool</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">back_transmission_pool</span><span class="p">,</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">back_utility_pool</span><span class="p">,</span> <span class="n">DEFAULT_TIMEOUT</span><span class="p">,</span> <span class="n">MAXIMUM_TIMEOUT</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">front</span><span class="o">.</span><span class="n">join_rear_link</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">back</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">back</span><span class="o">.</span><span class="n">join_fore_link</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">front</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="ImplementationsTest.tearDown"><a class="viewcode-back" href="../../../../grpc.framework.base.html#grpc.framework.base.implementations_test.ImplementationsTest.tearDown">[docs]</a>  <span class="k">def</span> <span class="nf">tearDown</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="n">util</span><span class="o">.</span><span class="n">wait_for_idle</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">back</span><span class="p">)</span>
-    <span class="n">util</span><span class="o">.</span><span class="n">wait_for_idle</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">front</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">memory_transmission_pool</span><span class="o">.</span><span class="n">shutdown</span><span class="p">(</span><span class="n">wait</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">front_work_pool</span><span class="o">.</span><span class="n">shutdown</span><span class="p">(</span><span class="n">wait</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">front_transmission_pool</span><span class="o">.</span><span class="n">shutdown</span><span class="p">(</span><span class="n">wait</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">front_utility_pool</span><span class="o">.</span><span class="n">shutdown</span><span class="p">(</span><span class="n">wait</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">back_work_pool</span><span class="o">.</span><span class="n">shutdown</span><span class="p">(</span><span class="n">wait</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">back_transmission_pool</span><span class="o">.</span><span class="n">shutdown</span><span class="p">(</span><span class="n">wait</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">back_utility_pool</span><span class="o">.</span><span class="n">shutdown</span><span class="p">(</span><span class="n">wait</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">test_pool</span><span class="o">.</span><span class="n">shutdown</span><span class="p">(</span><span class="n">wait</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
-
-</div></div>
-<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&#39;__main__&#39;</span><span class="p">:</span>
-  <span class="n">unittest</span><span class="o">.</span><span class="n">main</span><span class="p">(</span><span class="n">verbosity</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
-</pre></div>
-
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2015, Author.
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>

+ 11 - 4
python/_modules/grpc/framework/base/in_memory.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.base.in_memory &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.base.in_memory &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -267,7 +274,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 11 - 4
python/_modules/grpc/framework/base/interfaces.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.base.interfaces &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.base.interfaces &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -522,7 +529,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 0 - 496
python/_modules/grpc/framework/base/interfaces_test_case.html

@@ -1,496 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>grpc.framework.base.interfaces_test_case &mdash; grpcio 0.10.0a0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-nav-search">
-        
-
-        
-          <a href="../../../../index.html" class="icon icon-home"> grpcio
-        
-
-        
-        </a>
-
-        
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-        
-      </div>
-
-      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-        
-          
-          
-              <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.framework.html">grpc.framework package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.framework.html#subpackages">Subpackages</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#module-grpc">Module contents</a></li>
-</ul>
-</li>
-</ul>
-
-          
-        
-      </div>
-      &nbsp;
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../index.html">grpcio</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          <div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>grpc.framework.base.interfaces_test_case</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document">
-            
-  <h1>Source code for grpc.framework.base.interfaces_test_case</h1><div class="highlight"><pre>
-<span class="c"># Copyright 2015, Google Inc.</span>
-<span class="c"># All rights reserved.</span>
-<span class="c">#</span>
-<span class="c"># Redistribution and use in source and binary forms, with or without</span>
-<span class="c"># modification, are permitted provided that the following conditions are</span>
-<span class="c"># met:</span>
-<span class="c">#</span>
-<span class="c">#     * Redistributions of source code must retain the above copyright</span>
-<span class="c"># notice, this list of conditions and the following disclaimer.</span>
-<span class="c">#     * Redistributions in binary form must reproduce the above</span>
-<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
-<span class="c"># in the documentation and/or other materials provided with the</span>
-<span class="c"># distribution.</span>
-<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
-<span class="c"># contributors may be used to endorse or promote products derived from</span>
-<span class="c"># this software without specific prior written permission.</span>
-<span class="c">#</span>
-<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
-<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
-<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
-<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
-<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
-<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
-<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-
-<span class="sd">&quot;&quot;&quot;Abstract tests against the interfaces of the base layer of RPC Framework.&quot;&quot;&quot;</span>
-
-<span class="kn">import</span> <span class="nn">threading</span>
-<span class="kn">import</span> <span class="nn">time</span>
-
-<span class="kn">from</span> <span class="nn">grpc.framework.base</span> <span class="kn">import</span> <span class="n">interfaces</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.base</span> <span class="kn">import</span> <span class="n">util</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.foundation</span> <span class="kn">import</span> <span class="n">stream</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.foundation</span> <span class="kn">import</span> <span class="n">stream_testing</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.foundation</span> <span class="kn">import</span> <span class="n">stream_util</span>
-
-<span class="n">TICK</span> <span class="o">=</span> <span class="mf">0.1</span>
-<span class="n">SMALL_TIMEOUT</span> <span class="o">=</span> <span class="n">TICK</span> <span class="o">*</span> <span class="mi">50</span>
-<span class="n">STREAM_LENGTH</span> <span class="o">=</span> <span class="mi">100</span>
-
-<span class="n">SYNCHRONOUS_ECHO</span> <span class="o">=</span> <span class="s">&#39;synchronous echo&#39;</span>
-<span class="n">ASYNCHRONOUS_ECHO</span> <span class="o">=</span> <span class="s">&#39;asynchronous echo&#39;</span>
-<span class="n">IMMEDIATE_FAILURE</span> <span class="o">=</span> <span class="s">&#39;immediate failure&#39;</span>
-<span class="n">TRIGGERED_FAILURE</span> <span class="o">=</span> <span class="s">&#39;triggered failure&#39;</span>
-<span class="n">WAIT_ON_CONDITION</span> <span class="o">=</span> <span class="s">&#39;wait on condition&#39;</span>
-
-<span class="n">EMPTY_OUTCOME_DICT</span> <span class="o">=</span> <span class="p">{</span>
-    <span class="n">interfaces</span><span class="o">.</span><span class="n">Outcome</span><span class="o">.</span><span class="n">COMPLETED</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
-    <span class="n">interfaces</span><span class="o">.</span><span class="n">Outcome</span><span class="o">.</span><span class="n">CANCELLED</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
-    <span class="n">interfaces</span><span class="o">.</span><span class="n">Outcome</span><span class="o">.</span><span class="n">EXPIRED</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
-    <span class="n">interfaces</span><span class="o">.</span><span class="n">Outcome</span><span class="o">.</span><span class="n">RECEPTION_FAILURE</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
-    <span class="n">interfaces</span><span class="o">.</span><span class="n">Outcome</span><span class="o">.</span><span class="n">TRANSMISSION_FAILURE</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
-    <span class="n">interfaces</span><span class="o">.</span><span class="n">Outcome</span><span class="o">.</span><span class="n">SERVICER_FAILURE</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
-    <span class="n">interfaces</span><span class="o">.</span><span class="n">Outcome</span><span class="o">.</span><span class="n">SERVICED_FAILURE</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
-    <span class="p">}</span>
-
-
-<span class="k">def</span> <span class="nf">_synchronous_echo</span><span class="p">(</span><span class="n">output_consumer</span><span class="p">):</span>
-  <span class="k">return</span> <span class="n">stream_util</span><span class="o">.</span><span class="n">TransformingConsumer</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="p">,</span> <span class="n">output_consumer</span><span class="p">)</span>
-
-
-<div class="viewcode-block" id="AsynchronousEcho"><a class="viewcode-back" href="../../../../grpc.framework.base.html#grpc.framework.base.interfaces_test_case.AsynchronousEcho">[docs]</a><span class="k">class</span> <span class="nc">AsynchronousEcho</span><span class="p">(</span><span class="n">stream</span><span class="o">.</span><span class="n">Consumer</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A stream.Consumer that echoes its input to another stream.Consumer.&quot;&quot;&quot;</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">output_consumer</span><span class="p">,</span> <span class="n">pool</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_lock</span> <span class="o">=</span> <span class="n">threading</span><span class="o">.</span><span class="n">Lock</span><span class="p">()</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_output_consumer</span> <span class="o">=</span> <span class="n">output_consumer</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="o">=</span> <span class="n">pool</span>
-
-    <span class="bp">self</span><span class="o">.</span><span class="n">_queue</span> <span class="o">=</span> <span class="p">[]</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_spinning</span> <span class="o">=</span> <span class="bp">False</span>
-
-  <span class="k">def</span> <span class="nf">_spin</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">complete</span><span class="p">):</span>
-    <span class="k">while</span> <span class="bp">True</span><span class="p">:</span>
-      <span class="k">if</span> <span class="n">value</span><span class="p">:</span>
-        <span class="k">if</span> <span class="n">complete</span><span class="p">:</span>
-          <span class="bp">self</span><span class="o">.</span><span class="n">_output_consumer</span><span class="o">.</span><span class="n">consume_and_terminate</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-          <span class="bp">self</span><span class="o">.</span><span class="n">_output_consumer</span><span class="o">.</span><span class="n">consume</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
-      <span class="k">elif</span> <span class="n">complete</span><span class="p">:</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_output_consumer</span><span class="o">.</span><span class="n">terminate</span><span class="p">()</span>
-      <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_lock</span><span class="p">:</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_queue</span><span class="p">:</span>
-          <span class="n">value</span><span class="p">,</span> <span class="n">complete</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_queue</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-          <span class="bp">self</span><span class="o">.</span><span class="n">_spinning</span> <span class="o">=</span> <span class="bp">False</span>
-          <span class="k">return</span>
-
-<div class="viewcode-block" id="AsynchronousEcho.consume"><a class="viewcode-back" href="../../../../grpc.framework.base.html#grpc.framework.base.interfaces_test_case.AsynchronousEcho.consume">[docs]</a>  <span class="k">def</span> <span class="nf">consume</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_lock</span><span class="p">:</span>
-      <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_spinning</span><span class="p">:</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_queue</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">value</span><span class="p">,</span> <span class="bp">False</span><span class="p">))</span>
-      <span class="k">else</span><span class="p">:</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_spinning</span> <span class="o">=</span> <span class="bp">True</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_spin</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="bp">False</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="AsynchronousEcho.terminate"><a class="viewcode-back" href="../../../../grpc.framework.base.html#grpc.framework.base.interfaces_test_case.AsynchronousEcho.terminate">[docs]</a>  <span class="k">def</span> <span class="nf">terminate</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_lock</span><span class="p">:</span>
-      <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_spinning</span><span class="p">:</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_queue</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="bp">None</span><span class="p">,</span> <span class="bp">True</span><span class="p">))</span>
-      <span class="k">else</span><span class="p">:</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_spinning</span> <span class="o">=</span> <span class="bp">True</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_spin</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">True</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="AsynchronousEcho.consume_and_terminate"><a class="viewcode-back" href="../../../../grpc.framework.base.html#grpc.framework.base.interfaces_test_case.AsynchronousEcho.consume_and_terminate">[docs]</a>  <span class="k">def</span> <span class="nf">consume_and_terminate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_lock</span><span class="p">:</span>
-      <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_spinning</span><span class="p">:</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_queue</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">value</span><span class="p">,</span> <span class="bp">True</span><span class="p">))</span>
-      <span class="k">else</span><span class="p">:</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_spinning</span> <span class="o">=</span> <span class="bp">True</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_spin</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="bp">True</span><span class="p">)</span>
-
-</div></div>
-<div class="viewcode-block" id="TestServicer"><a class="viewcode-back" href="../../../../grpc.framework.base.html#grpc.framework.base.interfaces_test_case.TestServicer">[docs]</a><span class="k">class</span> <span class="nc">TestServicer</span><span class="p">(</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Servicer</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;An interfaces.Servicer with instrumented for testing.&quot;&quot;&quot;</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">pool</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="o">=</span> <span class="n">pool</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">condition</span> <span class="o">=</span> <span class="n">threading</span><span class="o">.</span><span class="n">Condition</span><span class="p">()</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_released</span> <span class="o">=</span> <span class="bp">False</span>
-
-<div class="viewcode-block" id="TestServicer.service"><a class="viewcode-back" href="../../../../grpc.framework.base.html#grpc.framework.base.interfaces_test_case.TestServicer.service">[docs]</a>  <span class="k">def</span> <span class="nf">service</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">output_consumer</span><span class="p">):</span>
-    <span class="k">if</span> <span class="n">name</span> <span class="o">==</span> <span class="n">SYNCHRONOUS_ECHO</span><span class="p">:</span>
-      <span class="k">return</span> <span class="n">_synchronous_echo</span><span class="p">(</span><span class="n">output_consumer</span><span class="p">)</span>
-    <span class="k">elif</span> <span class="n">name</span> <span class="o">==</span> <span class="n">ASYNCHRONOUS_ECHO</span><span class="p">:</span>
-      <span class="k">return</span> <span class="n">AsynchronousEcho</span><span class="p">(</span><span class="n">output_consumer</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
-    <span class="k">elif</span> <span class="n">name</span> <span class="o">==</span> <span class="n">IMMEDIATE_FAILURE</span><span class="p">:</span>
-      <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">()</span>
-    <span class="k">elif</span> <span class="n">name</span> <span class="o">==</span> <span class="n">TRIGGERED_FAILURE</span><span class="p">:</span>
-      <span class="k">raise</span> <span class="ne">NotImplementedError</span>
-    <span class="k">elif</span> <span class="n">name</span> <span class="o">==</span> <span class="n">WAIT_ON_CONDITION</span><span class="p">:</span>
-      <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">condition</span><span class="p">:</span>
-        <span class="k">while</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_released</span><span class="p">:</span>
-          <span class="bp">self</span><span class="o">.</span><span class="n">condition</span><span class="o">.</span><span class="n">wait</span><span class="p">()</span>
-      <span class="k">return</span> <span class="n">_synchronous_echo</span><span class="p">(</span><span class="n">output_consumer</span><span class="p">)</span>
-    <span class="k">else</span><span class="p">:</span>
-      <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-<div class="viewcode-block" id="TestServicer.release"><a class="viewcode-back" href="../../../../grpc.framework.base.html#grpc.framework.base.interfaces_test_case.TestServicer.release">[docs]</a>  <span class="k">def</span> <span class="nf">release</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">condition</span><span class="p">:</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_released</span> <span class="o">=</span> <span class="bp">True</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">condition</span><span class="o">.</span><span class="n">notify_all</span><span class="p">()</span>
-
-</div></div>
-<div class="viewcode-block" id="EasyServicedIngestor"><a class="viewcode-back" href="../../../../grpc.framework.base.html#grpc.framework.base.interfaces_test_case.EasyServicedIngestor">[docs]</a><span class="k">class</span> <span class="nc">EasyServicedIngestor</span><span class="p">(</span><span class="n">interfaces</span><span class="o">.</span><span class="n">ServicedIngestor</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A trivial implementation of interfaces.ServicedIngestor.&quot;&quot;&quot;</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">consumer</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_consumer</span> <span class="o">=</span> <span class="n">consumer</span>
-
-<div class="viewcode-block" id="EasyServicedIngestor.consumer"><a class="viewcode-back" href="../../../../grpc.framework.base.html#grpc.framework.base.interfaces_test_case.EasyServicedIngestor.consumer">[docs]</a>  <span class="k">def</span> <span class="nf">consumer</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">operation_context</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;See interfaces.ServicedIngestor.consumer for specification.&quot;&quot;&quot;</span>
-    <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_consumer</span>
-
-</div></div>
-<div class="viewcode-block" id="FrontAndBackTest"><a class="viewcode-back" href="../../../../grpc.framework.base.html#grpc.framework.base.interfaces_test_case.FrontAndBackTest">[docs]</a><span class="k">class</span> <span class="nc">FrontAndBackTest</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A test suite usable against any joined Front and Back.&quot;&quot;&quot;</span>
-
-  <span class="c"># Pylint doesn&#39;t know that this is a unittest.TestCase mix-in.</span>
-  <span class="c"># pylint: disable=invalid-name</span>
-
-<div class="viewcode-block" id="FrontAndBackTest.testSimplestCall"><a class="viewcode-back" href="../../../../grpc.framework.base.html#grpc.framework.base.interfaces_test_case.FrontAndBackTest.testSimplestCall">[docs]</a>  <span class="k">def</span> <span class="nf">testSimplestCall</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Tests the absolute simplest call - a one-ticket fire-and-forget.&quot;&quot;&quot;</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">front</span><span class="o">.</span><span class="n">operate</span><span class="p">(</span>
-        <span class="n">SYNCHRONOUS_ECHO</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">True</span><span class="p">,</span> <span class="n">SMALL_TIMEOUT</span><span class="p">,</span>
-        <span class="n">util</span><span class="o">.</span><span class="n">none_serviced_subscription</span><span class="p">(),</span> <span class="s">&#39;test trace ID&#39;</span><span class="p">)</span>
-    <span class="n">util</span><span class="o">.</span><span class="n">wait_for_idle</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">front</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span>
-        <span class="mi">1</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">front</span><span class="o">.</span><span class="n">operation_stats</span><span class="p">()[</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Outcome</span><span class="o">.</span><span class="n">COMPLETED</span><span class="p">])</span>
-
-    <span class="c"># Assuming nothing really pathological (such as pauses on the order of</span>
-    <span class="c"># SMALL_TIMEOUT interfering with this test) there are a two different ways</span>
-    <span class="c"># the back could have experienced execution up to this point:</span>
-    <span class="c"># (1) The ticket is still either in the front waiting to be transmitted</span>
-    <span class="c"># or is somewhere on the link between the front and the back. The back has</span>
-    <span class="c"># no idea that this test is even happening. Calling wait_for_idle on it</span>
-    <span class="c"># would do no good because in this case the back is idle and the call would</span>
-    <span class="c"># return with the ticket bound for it still in the front or on the link.</span>
-    <span class="n">back_operation_stats</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">back</span><span class="o">.</span><span class="n">operation_stats</span><span class="p">()</span>
-    <span class="n">first_back_possibility</span> <span class="o">=</span> <span class="n">EMPTY_OUTCOME_DICT</span>
-    <span class="c"># (2) The ticket arrived at the back and the back completed the operation.</span>
-    <span class="n">second_back_possibility</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">EMPTY_OUTCOME_DICT</span><span class="p">)</span>
-    <span class="n">second_back_possibility</span><span class="p">[</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Outcome</span><span class="o">.</span><span class="n">COMPLETED</span><span class="p">]</span> <span class="o">=</span> <span class="mi">1</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertIn</span><span class="p">(</span>
-        <span class="n">back_operation_stats</span><span class="p">,</span> <span class="p">(</span><span class="n">first_back_possibility</span><span class="p">,</span> <span class="n">second_back_possibility</span><span class="p">))</span>
-    <span class="c"># It&#39;s true that if the ticket had arrived at the back and the back had</span>
-    <span class="c"># begun processing that wait_for_idle could hold test execution until the</span>
-    <span class="c"># back completed the operation, but that doesn&#39;t really collapse the</span>
-    <span class="c"># possibility space down to one solution.</span>
-</div>
-<div class="viewcode-block" id="FrontAndBackTest.testEntireEcho"><a class="viewcode-back" href="../../../../grpc.framework.base.html#grpc.framework.base.interfaces_test_case.FrontAndBackTest.testEntireEcho">[docs]</a>  <span class="k">def</span> <span class="nf">testEntireEcho</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Tests a very simple one-ticket-each-way round-trip.&quot;&quot;&quot;</span>
-    <span class="n">test_payload</span> <span class="o">=</span> <span class="s">&#39;test payload&#39;</span>
-    <span class="n">test_consumer</span> <span class="o">=</span> <span class="n">stream_testing</span><span class="o">.</span><span class="n">TestConsumer</span><span class="p">()</span>
-    <span class="n">subscription</span> <span class="o">=</span> <span class="n">util</span><span class="o">.</span><span class="n">full_serviced_subscription</span><span class="p">(</span>
-        <span class="n">EasyServicedIngestor</span><span class="p">(</span><span class="n">test_consumer</span><span class="p">))</span>
-
-    <span class="bp">self</span><span class="o">.</span><span class="n">front</span><span class="o">.</span><span class="n">operate</span><span class="p">(</span>
-        <span class="n">ASYNCHRONOUS_ECHO</span><span class="p">,</span> <span class="n">test_payload</span><span class="p">,</span> <span class="bp">True</span><span class="p">,</span> <span class="n">SMALL_TIMEOUT</span><span class="p">,</span> <span class="n">subscription</span><span class="p">,</span>
-        <span class="s">&#39;test trace ID&#39;</span><span class="p">)</span>
-
-    <span class="n">util</span><span class="o">.</span><span class="n">wait_for_idle</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">front</span><span class="p">)</span>
-    <span class="n">util</span><span class="o">.</span><span class="n">wait_for_idle</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">back</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span>
-        <span class="mi">1</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">front</span><span class="o">.</span><span class="n">operation_stats</span><span class="p">()[</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Outcome</span><span class="o">.</span><span class="n">COMPLETED</span><span class="p">])</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span>
-        <span class="mi">1</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">back</span><span class="o">.</span><span class="n">operation_stats</span><span class="p">()[</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Outcome</span><span class="o">.</span><span class="n">COMPLETED</span><span class="p">])</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertListEqual</span><span class="p">([(</span><span class="n">test_payload</span><span class="p">,</span> <span class="bp">True</span><span class="p">)],</span> <span class="n">test_consumer</span><span class="o">.</span><span class="n">calls</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="FrontAndBackTest.testBidirectionalStreamingEcho"><a class="viewcode-back" href="../../../../grpc.framework.base.html#grpc.framework.base.interfaces_test_case.FrontAndBackTest.testBidirectionalStreamingEcho">[docs]</a>  <span class="k">def</span> <span class="nf">testBidirectionalStreamingEcho</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Tests sending multiple tickets each way.&quot;&quot;&quot;</span>
-    <span class="n">test_payload_template</span> <span class="o">=</span> <span class="s">&#39;test_payload: </span><span class="si">%03d</span><span class="s">&#39;</span>
-    <span class="n">test_payloads</span> <span class="o">=</span> <span class="p">[</span><span class="n">test_payload_template</span> <span class="o">%</span> <span class="n">i</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">STREAM_LENGTH</span><span class="p">)]</span>
-    <span class="n">test_consumer</span> <span class="o">=</span> <span class="n">stream_testing</span><span class="o">.</span><span class="n">TestConsumer</span><span class="p">()</span>
-    <span class="n">subscription</span> <span class="o">=</span> <span class="n">util</span><span class="o">.</span><span class="n">full_serviced_subscription</span><span class="p">(</span>
-        <span class="n">EasyServicedIngestor</span><span class="p">(</span><span class="n">test_consumer</span><span class="p">))</span>
-
-    <span class="n">operation</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">front</span><span class="o">.</span><span class="n">operate</span><span class="p">(</span>
-        <span class="n">SYNCHRONOUS_ECHO</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">False</span><span class="p">,</span> <span class="n">SMALL_TIMEOUT</span><span class="p">,</span> <span class="n">subscription</span><span class="p">,</span>
-        <span class="s">&#39;test trace ID&#39;</span><span class="p">)</span>
-
-    <span class="k">for</span> <span class="n">test_payload</span> <span class="ow">in</span> <span class="n">test_payloads</span><span class="p">:</span>
-      <span class="n">operation</span><span class="o">.</span><span class="n">consumer</span><span class="o">.</span><span class="n">consume</span><span class="p">(</span><span class="n">test_payload</span><span class="p">)</span>
-    <span class="n">operation</span><span class="o">.</span><span class="n">consumer</span><span class="o">.</span><span class="n">terminate</span><span class="p">()</span>
-
-    <span class="n">util</span><span class="o">.</span><span class="n">wait_for_idle</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">front</span><span class="p">)</span>
-    <span class="n">util</span><span class="o">.</span><span class="n">wait_for_idle</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">back</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span>
-        <span class="mi">1</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">front</span><span class="o">.</span><span class="n">operation_stats</span><span class="p">()[</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Outcome</span><span class="o">.</span><span class="n">COMPLETED</span><span class="p">])</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span>
-        <span class="mi">1</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">back</span><span class="o">.</span><span class="n">operation_stats</span><span class="p">()[</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Outcome</span><span class="o">.</span><span class="n">COMPLETED</span><span class="p">])</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertListEqual</span><span class="p">(</span><span class="n">test_payloads</span><span class="p">,</span> <span class="n">test_consumer</span><span class="o">.</span><span class="n">values</span><span class="p">())</span>
-</div>
-<div class="viewcode-block" id="FrontAndBackTest.testCancellation"><a class="viewcode-back" href="../../../../grpc.framework.base.html#grpc.framework.base.interfaces_test_case.FrontAndBackTest.testCancellation">[docs]</a>  <span class="k">def</span> <span class="nf">testCancellation</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Tests cancelling a long-lived operation.&quot;&quot;&quot;</span>
-    <span class="n">test_consumer</span> <span class="o">=</span> <span class="n">stream_testing</span><span class="o">.</span><span class="n">TestConsumer</span><span class="p">()</span>
-    <span class="n">subscription</span> <span class="o">=</span> <span class="n">util</span><span class="o">.</span><span class="n">full_serviced_subscription</span><span class="p">(</span>
-        <span class="n">EasyServicedIngestor</span><span class="p">(</span><span class="n">test_consumer</span><span class="p">))</span>
-
-    <span class="n">operation</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">front</span><span class="o">.</span><span class="n">operate</span><span class="p">(</span>
-        <span class="n">ASYNCHRONOUS_ECHO</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">False</span><span class="p">,</span> <span class="n">SMALL_TIMEOUT</span><span class="p">,</span> <span class="n">subscription</span><span class="p">,</span>
-        <span class="s">&#39;test trace ID&#39;</span><span class="p">)</span>
-    <span class="n">operation</span><span class="o">.</span><span class="n">cancel</span><span class="p">()</span>
-
-    <span class="n">util</span><span class="o">.</span><span class="n">wait_for_idle</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">front</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span>
-        <span class="mi">1</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">front</span><span class="o">.</span><span class="n">operation_stats</span><span class="p">()[</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Outcome</span><span class="o">.</span><span class="n">CANCELLED</span><span class="p">])</span>
-    <span class="n">util</span><span class="o">.</span><span class="n">wait_for_idle</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">back</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertListEqual</span><span class="p">([],</span> <span class="n">test_consumer</span><span class="o">.</span><span class="n">calls</span><span class="p">)</span>
-
-    <span class="c"># Assuming nothing really pathological (such as pauses on the order of</span>
-    <span class="c"># SMALL_TIMEOUT interfering with this test) there are a two different ways</span>
-    <span class="c"># the back could have experienced execution up to this point:</span>
-    <span class="c"># (1) Both tickets are still either in the front waiting to be transmitted</span>
-    <span class="c"># or are somewhere on the link between the front and the back. The back has</span>
-    <span class="c"># no idea that this test is even happening. Calling wait_for_idle on it</span>
-    <span class="c"># would do no good because in this case the back is idle and the call would</span>
-    <span class="c"># return with the tickets bound for it still in the front or on the link.</span>
-    <span class="n">back_operation_stats</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">back</span><span class="o">.</span><span class="n">operation_stats</span><span class="p">()</span>
-    <span class="n">first_back_possibility</span> <span class="o">=</span> <span class="n">EMPTY_OUTCOME_DICT</span>
-    <span class="c"># (2) Both tickets arrived within SMALL_TIMEOUT of one another at the back.</span>
-    <span class="c"># The back started processing based on the first ticket and then stopped</span>
-    <span class="c"># upon receiving the cancellation ticket.</span>
-    <span class="n">second_back_possibility</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">EMPTY_OUTCOME_DICT</span><span class="p">)</span>
-    <span class="n">second_back_possibility</span><span class="p">[</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Outcome</span><span class="o">.</span><span class="n">CANCELLED</span><span class="p">]</span> <span class="o">=</span> <span class="mi">1</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertIn</span><span class="p">(</span>
-        <span class="n">back_operation_stats</span><span class="p">,</span> <span class="p">(</span><span class="n">first_back_possibility</span><span class="p">,</span> <span class="n">second_back_possibility</span><span class="p">))</span>
-</div>
-<div class="viewcode-block" id="FrontAndBackTest.testExpiration"><a class="viewcode-back" href="../../../../grpc.framework.base.html#grpc.framework.base.interfaces_test_case.FrontAndBackTest.testExpiration">[docs]</a>  <span class="k">def</span> <span class="nf">testExpiration</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Tests that operations time out.&quot;&quot;&quot;</span>
-    <span class="n">timeout</span> <span class="o">=</span> <span class="n">TICK</span> <span class="o">*</span> <span class="mi">2</span>
-    <span class="n">allowance</span> <span class="o">=</span> <span class="n">TICK</span>  <span class="c"># How much extra time to</span>
-    <span class="n">condition</span> <span class="o">=</span> <span class="n">threading</span><span class="o">.</span><span class="n">Condition</span><span class="p">()</span>
-    <span class="n">test_payload</span> <span class="o">=</span> <span class="s">&#39;test payload&#39;</span>
-    <span class="n">subscription</span> <span class="o">=</span> <span class="n">util</span><span class="o">.</span><span class="n">termination_only_serviced_subscription</span><span class="p">()</span>
-    <span class="n">start_time</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">()</span>
-
-    <span class="n">outcome_cell</span> <span class="o">=</span> <span class="p">[</span><span class="bp">None</span><span class="p">]</span>
-    <span class="n">termination_time_cell</span> <span class="o">=</span> <span class="p">[</span><span class="bp">None</span><span class="p">]</span>
-    <span class="k">def</span> <span class="nf">termination_action</span><span class="p">(</span><span class="n">outcome</span><span class="p">):</span>
-      <span class="k">with</span> <span class="n">condition</span><span class="p">:</span>
-        <span class="n">outcome_cell</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">outcome</span>
-        <span class="n">termination_time_cell</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">()</span>
-        <span class="n">condition</span><span class="o">.</span><span class="n">notify</span><span class="p">()</span>
-
-    <span class="k">with</span> <span class="n">condition</span><span class="p">:</span>
-      <span class="n">operation</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">front</span><span class="o">.</span><span class="n">operate</span><span class="p">(</span>
-          <span class="n">SYNCHRONOUS_ECHO</span><span class="p">,</span> <span class="n">test_payload</span><span class="p">,</span> <span class="bp">False</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">subscription</span><span class="p">,</span>
-          <span class="s">&#39;test trace ID&#39;</span><span class="p">)</span>
-      <span class="n">operation</span><span class="o">.</span><span class="n">context</span><span class="o">.</span><span class="n">add_termination_callback</span><span class="p">(</span><span class="n">termination_action</span><span class="p">)</span>
-      <span class="k">while</span> <span class="n">outcome_cell</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
-        <span class="n">condition</span><span class="o">.</span><span class="n">wait</span><span class="p">()</span>
-
-    <span class="n">duration</span> <span class="o">=</span> <span class="n">termination_time_cell</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">-</span> <span class="n">start_time</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertLessEqual</span><span class="p">(</span><span class="n">timeout</span><span class="p">,</span> <span class="n">duration</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertLess</span><span class="p">(</span><span class="n">duration</span><span class="p">,</span> <span class="n">timeout</span> <span class="o">+</span> <span class="n">allowance</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Outcome</span><span class="o">.</span><span class="n">EXPIRED</span><span class="p">,</span> <span class="n">outcome_cell</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
-    <span class="n">util</span><span class="o">.</span><span class="n">wait_for_idle</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">front</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span>
-        <span class="mi">1</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">front</span><span class="o">.</span><span class="n">operation_stats</span><span class="p">()[</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Outcome</span><span class="o">.</span><span class="n">EXPIRED</span><span class="p">])</span>
-    <span class="n">util</span><span class="o">.</span><span class="n">wait_for_idle</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">back</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertLessEqual</span><span class="p">(</span>
-        <span class="mi">1</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">back</span><span class="o">.</span><span class="n">operation_stats</span><span class="p">()[</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Outcome</span><span class="o">.</span><span class="n">EXPIRED</span><span class="p">])</span></div></div>
-</pre></div>
-
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2015, Author.
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>

+ 11 - 4
python/_modules/grpc/framework/base/util.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.base.util &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.base.util &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -253,7 +260,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 11 - 4
python/_modules/grpc/framework/common/cardinality.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.common.cardinality &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.common.cardinality &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -201,7 +208,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 11 - 4
python/_modules/grpc/framework/common/style.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.common.style &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.common.style &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -199,7 +206,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 0 - 276
python/_modules/grpc/framework/common/test_control.html

@@ -1,276 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>grpc.framework.common.test_control &mdash; grpcio 0.10.0a0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-nav-search">
-        
-
-        
-          <a href="../../../../index.html" class="icon icon-home"> grpcio
-        
-
-        
-        </a>
-
-        
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-        
-      </div>
-
-      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-        
-          
-          
-              <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.framework.html">grpc.framework package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.framework.html#subpackages">Subpackages</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#module-grpc">Module contents</a></li>
-</ul>
-</li>
-</ul>
-
-          
-        
-      </div>
-      &nbsp;
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../index.html">grpcio</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          <div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>grpc.framework.common.test_control</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document">
-            
-  <h1>Source code for grpc.framework.common.test_control</h1><div class="highlight"><pre>
-<span class="c"># Copyright 2015, Google Inc.</span>
-<span class="c"># All rights reserved.</span>
-<span class="c">#</span>
-<span class="c"># Redistribution and use in source and binary forms, with or without</span>
-<span class="c"># modification, are permitted provided that the following conditions are</span>
-<span class="c"># met:</span>
-<span class="c">#</span>
-<span class="c">#     * Redistributions of source code must retain the above copyright</span>
-<span class="c"># notice, this list of conditions and the following disclaimer.</span>
-<span class="c">#     * Redistributions in binary form must reproduce the above</span>
-<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
-<span class="c"># in the documentation and/or other materials provided with the</span>
-<span class="c"># distribution.</span>
-<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
-<span class="c"># contributors may be used to endorse or promote products derived from</span>
-<span class="c"># this software without specific prior written permission.</span>
-<span class="c">#</span>
-<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
-<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
-<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
-<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
-<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
-<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
-<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-
-<span class="sd">&quot;&quot;&quot;Code for instructing systems under test to block or fail.&quot;&quot;&quot;</span>
-
-<span class="kn">import</span> <span class="nn">abc</span>
-<span class="kn">import</span> <span class="nn">contextlib</span>
-<span class="kn">import</span> <span class="nn">threading</span>
-
-
-<div class="viewcode-block" id="Control"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_control.Control">[docs]</a><span class="k">class</span> <span class="nc">Control</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;An object that accepts program control from a system under test.</span>
-
-<span class="sd">  Systems under test passed a Control should call its control() method</span>
-<span class="sd">  frequently during execution. The control() method may block, raise an</span>
-<span class="sd">  exception, or do nothing, all according to the enclosing test&#39;s desire for</span>
-<span class="sd">  the system under test to simulate hanging, failing, or functioning.</span>
-<span class="sd">  &quot;&quot;&quot;</span>
-
-  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
-
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Control.control"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_control.Control.control">[docs]</a>  <span class="k">def</span> <span class="nf">control</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Potentially does anything.&quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-
-</div></div>
-<div class="viewcode-block" id="PauseFailControl"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_control.PauseFailControl">[docs]</a><span class="k">class</span> <span class="nc">PauseFailControl</span><span class="p">(</span><span class="n">Control</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A Control that can be used to pause or fail code under control.&quot;&quot;&quot;</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span> <span class="o">=</span> <span class="n">threading</span><span class="o">.</span><span class="n">Condition</span><span class="p">()</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_paused</span> <span class="o">=</span> <span class="bp">False</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_fail</span> <span class="o">=</span> <span class="bp">False</span>
-
-<div class="viewcode-block" id="PauseFailControl.control"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_control.PauseFailControl.control">[docs]</a>  <span class="k">def</span> <span class="nf">control</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_fail</span><span class="p">:</span>
-        <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">()</span>
-
-      <span class="k">while</span> <span class="bp">self</span><span class="o">.</span><span class="n">_paused</span><span class="p">:</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="o">.</span><span class="n">wait</span><span class="p">()</span>
-</div>
-  <span class="nd">@contextlib.contextmanager</span>
-<div class="viewcode-block" id="PauseFailControl.pause"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_control.PauseFailControl.pause">[docs]</a>  <span class="k">def</span> <span class="nf">pause</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Pauses code under control while controlling code is in context.&quot;&quot;&quot;</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_paused</span> <span class="o">=</span> <span class="bp">True</span>
-    <span class="k">yield</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_paused</span> <span class="o">=</span> <span class="bp">False</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="o">.</span><span class="n">notify_all</span><span class="p">()</span>
-</div>
-  <span class="nd">@contextlib.contextmanager</span>
-<div class="viewcode-block" id="PauseFailControl.fail"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_control.PauseFailControl.fail">[docs]</a>  <span class="k">def</span> <span class="nf">fail</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Fails code under control while controlling code is in context.&quot;&quot;&quot;</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_fail</span> <span class="o">=</span> <span class="bp">True</span>
-    <span class="k">yield</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_fail</span> <span class="o">=</span> <span class="bp">False</span></div></div>
-</pre></div>
-
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2015, Author.
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>

+ 0 - 305
python/_modules/grpc/framework/common/test_coverage.html

@@ -1,305 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>grpc.framework.common.test_coverage &mdash; grpcio 0.10.0a0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-nav-search">
-        
-
-        
-          <a href="../../../../index.html" class="icon icon-home"> grpcio
-        
-
-        
-        </a>
-
-        
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-        
-      </div>
-
-      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-        
-          
-          
-              <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.framework.html">grpc.framework package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.framework.html#subpackages">Subpackages</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#module-grpc">Module contents</a></li>
-</ul>
-</li>
-</ul>
-
-          
-        
-      </div>
-      &nbsp;
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../index.html">grpcio</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          <div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>grpc.framework.common.test_coverage</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document">
-            
-  <h1>Source code for grpc.framework.common.test_coverage</h1><div class="highlight"><pre>
-<span class="c"># Copyright 2015, Google Inc.</span>
-<span class="c"># All rights reserved.</span>
-<span class="c">#</span>
-<span class="c"># Redistribution and use in source and binary forms, with or without</span>
-<span class="c"># modification, are permitted provided that the following conditions are</span>
-<span class="c"># met:</span>
-<span class="c">#</span>
-<span class="c">#     * Redistributions of source code must retain the above copyright</span>
-<span class="c"># notice, this list of conditions and the following disclaimer.</span>
-<span class="c">#     * Redistributions in binary form must reproduce the above</span>
-<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
-<span class="c"># in the documentation and/or other materials provided with the</span>
-<span class="c"># distribution.</span>
-<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
-<span class="c"># contributors may be used to endorse or promote products derived from</span>
-<span class="c"># this software without specific prior written permission.</span>
-<span class="c">#</span>
-<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
-<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
-<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
-<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
-<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
-<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
-<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-
-<span class="sd">&quot;&quot;&quot;Governs coverage for tests of RPCs throughout RPC Framework.&quot;&quot;&quot;</span>
-
-<span class="kn">import</span> <span class="nn">abc</span>
-
-<span class="c"># This code is designed for use with the unittest module.</span>
-<span class="c"># pylint: disable=invalid-name</span>
-
-
-<div class="viewcode-block" id="Coverage"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_coverage.Coverage">[docs]</a><span class="k">class</span> <span class="nc">Coverage</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;Specification of test coverage.&quot;&quot;&quot;</span>
-  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
-
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Coverage.testSuccessfulUnaryRequestUnaryResponse"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_coverage.Coverage.testSuccessfulUnaryRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testSuccessfulUnaryRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Coverage.testSuccessfulUnaryRequestStreamResponse"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_coverage.Coverage.testSuccessfulUnaryRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testSuccessfulUnaryRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Coverage.testSuccessfulStreamRequestUnaryResponse"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_coverage.Coverage.testSuccessfulStreamRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testSuccessfulStreamRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Coverage.testSuccessfulStreamRequestStreamResponse"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_coverage.Coverage.testSuccessfulStreamRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testSuccessfulStreamRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Coverage.testSequentialInvocations"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_coverage.Coverage.testSequentialInvocations">[docs]</a>  <span class="k">def</span> <span class="nf">testSequentialInvocations</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Coverage.testParallelInvocations"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_coverage.Coverage.testParallelInvocations">[docs]</a>  <span class="k">def</span> <span class="nf">testParallelInvocations</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Coverage.testWaitingForSomeButNotAllParallelInvocations"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_coverage.Coverage.testWaitingForSomeButNotAllParallelInvocations">[docs]</a>  <span class="k">def</span> <span class="nf">testWaitingForSomeButNotAllParallelInvocations</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Coverage.testCancelledUnaryRequestUnaryResponse"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_coverage.Coverage.testCancelledUnaryRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testCancelledUnaryRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Coverage.testCancelledUnaryRequestStreamResponse"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_coverage.Coverage.testCancelledUnaryRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testCancelledUnaryRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Coverage.testCancelledStreamRequestUnaryResponse"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_coverage.Coverage.testCancelledStreamRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testCancelledStreamRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Coverage.testCancelledStreamRequestStreamResponse"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_coverage.Coverage.testCancelledStreamRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testCancelledStreamRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Coverage.testExpiredUnaryRequestUnaryResponse"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_coverage.Coverage.testExpiredUnaryRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testExpiredUnaryRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Coverage.testExpiredUnaryRequestStreamResponse"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_coverage.Coverage.testExpiredUnaryRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testExpiredUnaryRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Coverage.testExpiredStreamRequestUnaryResponse"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_coverage.Coverage.testExpiredStreamRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testExpiredStreamRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Coverage.testExpiredStreamRequestStreamResponse"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_coverage.Coverage.testExpiredStreamRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testExpiredStreamRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Coverage.testFailedUnaryRequestUnaryResponse"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_coverage.Coverage.testFailedUnaryRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testFailedUnaryRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Coverage.testFailedUnaryRequestStreamResponse"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_coverage.Coverage.testFailedUnaryRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testFailedUnaryRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Coverage.testFailedStreamRequestUnaryResponse"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_coverage.Coverage.testFailedStreamRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testFailedStreamRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Coverage.testFailedStreamRequestStreamResponse"><a class="viewcode-back" href="../../../../grpc.framework.common.html#grpc.framework.common.test_coverage.Coverage.testFailedStreamRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testFailedStreamRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span></div></div>
-</pre></div>
-
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2015, Author.
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>

+ 40 - 17
python/_modules/grpc/framework/face/event_invocation_synchronous_event_service_test.html → python/_modules/grpc/framework/core/implementations.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.face.event_invocation_synchronous_event_service_test &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.core.implementations &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -116,7 +123,7 @@
       
           <li><a href="../../../index.html">Module code</a> &raquo;</li>
       
-    <li>grpc.framework.face.event_invocation_synchronous_event_service_test</li>
+    <li>grpc.framework.core.implementations</li>
       <li class="wy-breadcrumbs-aside">
         
           
@@ -127,7 +134,7 @@
 </div>
           <div role="main" class="document">
             
-  <h1>Source code for grpc.framework.face.event_invocation_synchronous_event_service_test</h1><div class="highlight"><pre>
+  <h1>Source code for grpc.framework.core.implementations</h1><div class="highlight"><pre>
 <span class="c"># Copyright 2015, Google Inc.</span>
 <span class="c"># All rights reserved.</span>
 <span class="c">#</span>
@@ -157,23 +164,39 @@
 <span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
 <span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
 
-<span class="sd">&quot;&quot;&quot;One of the tests of the Face layer of RPC Framework.&quot;&quot;&quot;</span>
+<span class="sd">&quot;&quot;&quot;Entry points into the ticket-exchange-based base layer implementation.&quot;&quot;&quot;</span>
 
-<span class="kn">import</span> <span class="nn">unittest</span>
+<span class="c"># base and links are referenced from specification in this module.</span>
+<span class="kn">from</span> <span class="nn">grpc.framework.core</span> <span class="kn">import</span> <span class="n">_end</span>
+<span class="kn">from</span> <span class="nn">grpc.framework.interfaces.base</span> <span class="kn">import</span> <span class="n">base</span>  <span class="c"># pylint: disable=unused-import</span>
+<span class="kn">from</span> <span class="nn">grpc.framework.interfaces.links</span> <span class="kn">import</span> <span class="n">links</span>  <span class="c"># pylint: disable=unused-import</span>
 
-<span class="kn">from</span> <span class="nn">grpc.framework.face</span> <span class="kn">import</span> <span class="n">_test_case</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">event_invocation_synchronous_event_service_test_case</span> <span class="k">as</span> <span class="n">test_case</span>
 
+<div class="viewcode-block" id="invocation_end_link"><a class="viewcode-back" href="../../../../grpc.framework.core.html#grpc.framework.core.implementations.invocation_end_link">[docs]</a><span class="k">def</span> <span class="nf">invocation_end_link</span><span class="p">():</span>
+  <span class="sd">&quot;&quot;&quot;Creates a base.End-links.Link suitable for operation invocation.</span>
 
-<div class="viewcode-block" id="EventInvocationSynchronousEventServiceTest"><a class="viewcode-back" href="../../../../grpc.framework.face.html#grpc.framework.face.event_invocation_synchronous_event_service_test.EventInvocationSynchronousEventServiceTest">[docs]</a><span class="k">class</span> <span class="nc">EventInvocationSynchronousEventServiceTest</span><span class="p">(</span>
-    <span class="n">_test_case</span><span class="o">.</span><span class="n">FaceTestCase</span><span class="p">,</span>
-    <span class="n">test_case</span><span class="o">.</span><span class="n">EventInvocationSynchronousEventServiceTestCase</span><span class="p">,</span>
-    <span class="n">unittest</span><span class="o">.</span><span class="n">TestCase</span><span class="p">):</span>
-  <span class="k">pass</span>
+<span class="sd">  Returns:</span>
+<span class="sd">    An object that is both a base.End and a links.Link, that supports operation</span>
+<span class="sd">      invocation, and that translates operation invocation into ticket exchange.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="k">return</span> <span class="n">_end</span><span class="o">.</span><span class="n">serviceless_end_link</span><span class="p">()</span>
 
 </div>
-<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&#39;__main__&#39;</span><span class="p">:</span>
-  <span class="n">unittest</span><span class="o">.</span><span class="n">main</span><span class="p">(</span><span class="n">verbosity</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
+<div class="viewcode-block" id="service_end_link"><a class="viewcode-back" href="../../../../grpc.framework.core.html#grpc.framework.core.implementations.service_end_link">[docs]</a><span class="k">def</span> <span class="nf">service_end_link</span><span class="p">(</span><span class="n">servicer</span><span class="p">,</span> <span class="n">default_timeout</span><span class="p">,</span> <span class="n">maximum_timeout</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates a base.End-links.Link suitable for operation service.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    servicer: A base.Servicer for servicing operations.</span>
+<span class="sd">    default_timeout: A length of time in seconds to be used as the default</span>
+<span class="sd">      time alloted for a single operation.</span>
+<span class="sd">    maximum_timeout: A length of time in seconds to be used as the maximum</span>
+<span class="sd">      time alloted for a single operation.</span>
+
+<span class="sd">  Returns:</span>
+<span class="sd">    An object that is both a base.End and a links.Link and that services</span>
+<span class="sd">      operations that arrive at it through ticket exchange.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="k">return</span> <span class="n">_end</span><span class="o">.</span><span class="n">serviceful_end_link</span><span class="p">(</span><span class="n">servicer</span><span class="p">,</span> <span class="n">default_timeout</span><span class="p">,</span> <span class="n">maximum_timeout</span><span class="p">)</span></div>
 </pre></div>
 
           </div>
@@ -205,7 +228,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 560 - 0
python/_modules/grpc/framework/crust/implementations.html

@@ -0,0 +1,560 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>grpc.framework.crust.implementations &mdash; grpcio 0.11.0b0 documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../index.html"/> 
+
+  
+  <script src="_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-nav-search">
+        
+
+        
+          <a href="../../../../index.html" class="icon icon-home"> grpcio
+        
+
+        
+        </a>
+
+        
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+        
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+        
+          
+          
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.framework.html">grpc.framework package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.framework.html#subpackages">Subpackages</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#module-grpc">Module contents</a></li>
+</ul>
+</li>
+</ul>
+
+          
+        
+      </div>
+      &nbsp;
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../../../../index.html">grpcio</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../../../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="../../../index.html">Module code</a> &raquo;</li>
+      
+    <li>grpc.framework.crust.implementations</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document">
+            
+  <h1>Source code for grpc.framework.crust.implementations</h1><div class="highlight"><pre>
+<span class="c"># Copyright 2015, Google Inc.</span>
+<span class="c"># All rights reserved.</span>
+<span class="c">#</span>
+<span class="c"># Redistribution and use in source and binary forms, with or without</span>
+<span class="c"># modification, are permitted provided that the following conditions are</span>
+<span class="c"># met:</span>
+<span class="c">#</span>
+<span class="c">#     * Redistributions of source code must retain the above copyright</span>
+<span class="c"># notice, this list of conditions and the following disclaimer.</span>
+<span class="c">#     * Redistributions in binary form must reproduce the above</span>
+<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
+<span class="c"># in the documentation and/or other materials provided with the</span>
+<span class="c"># distribution.</span>
+<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
+<span class="c"># contributors may be used to endorse or promote products derived from</span>
+<span class="c"># this software without specific prior written permission.</span>
+<span class="c">#</span>
+<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
+<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
+<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
+<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
+<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
+<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
+<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
+<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
+<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
+<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
+<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+
+<span class="sd">&quot;&quot;&quot;Entry points into the Crust layer of RPC Framework.&quot;&quot;&quot;</span>
+
+<span class="kn">from</span> <span class="nn">grpc.framework.common</span> <span class="kn">import</span> <span class="n">cardinality</span>
+<span class="kn">from</span> <span class="nn">grpc.framework.common</span> <span class="kn">import</span> <span class="n">style</span>
+<span class="kn">from</span> <span class="nn">grpc.framework.crust</span> <span class="kn">import</span> <span class="n">_calls</span>
+<span class="kn">from</span> <span class="nn">grpc.framework.crust</span> <span class="kn">import</span> <span class="n">_service</span>
+<span class="kn">from</span> <span class="nn">grpc.framework.interfaces.base</span> <span class="kn">import</span> <span class="n">base</span>
+<span class="kn">from</span> <span class="nn">grpc.framework.interfaces.face</span> <span class="kn">import</span> <span class="n">face</span>
+
+
+<span class="k">class</span> <span class="nc">_BaseServicer</span><span class="p">(</span><span class="n">base</span><span class="o">.</span><span class="n">Servicer</span><span class="p">):</span>
+
+  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">adapted_methods</span><span class="p">,</span> <span class="n">adapted_multi_method</span><span class="p">):</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_adapted_methods</span> <span class="o">=</span> <span class="n">adapted_methods</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_adapted_multi_method</span> <span class="o">=</span> <span class="n">adapted_multi_method</span>
+
+  <span class="k">def</span> <span class="nf">service</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">output_operator</span><span class="p">):</span>
+    <span class="n">adapted_method</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_adapted_methods</span><span class="o">.</span><span class="n">get</span><span class="p">((</span><span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">),</span> <span class="bp">None</span><span class="p">)</span>
+    <span class="k">if</span> <span class="n">adapted_method</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
+      <span class="k">return</span> <span class="n">adapted_method</span><span class="p">(</span><span class="n">output_operator</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
+    <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_adapted_multi_method</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
+      <span class="k">try</span><span class="p">:</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_adapted_multi_method</span><span class="p">(</span>
+            <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">output_operator</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
+      <span class="k">except</span> <span class="n">face</span><span class="o">.</span><span class="n">NoSuchMethodError</span><span class="p">:</span>
+        <span class="k">raise</span> <span class="n">base</span><span class="o">.</span><span class="n">NoSuchMethodError</span><span class="p">(</span><span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
+    <span class="k">else</span><span class="p">:</span>
+      <span class="k">raise</span> <span class="n">base</span><span class="o">.</span><span class="n">NoSuchMethodError</span><span class="p">(</span><span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
+
+
+<span class="k">class</span> <span class="nc">_UnaryUnaryMultiCallable</span><span class="p">(</span><span class="n">face</span><span class="o">.</span><span class="n">UnaryUnaryMultiCallable</span><span class="p">):</span>
+
+  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">pool</span><span class="p">):</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="o">=</span> <span class="n">end</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_group</span> <span class="o">=</span> <span class="n">group</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_method</span> <span class="o">=</span> <span class="n">method</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="o">=</span> <span class="n">pool</span>
+
+  <span class="k">def</span> <span class="nf">__call__</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">with_call</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+      <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">_calls</span><span class="o">.</span><span class="n">blocking_unary_unary</span><span class="p">(</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_group</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_method</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">with_call</span><span class="p">,</span>
+        <span class="n">protocol_options</span><span class="p">,</span> <span class="n">metadata</span><span class="p">,</span> <span class="n">request</span><span class="p">)</span>
+
+  <span class="k">def</span> <span class="nf">future</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">_calls</span><span class="o">.</span><span class="n">future_unary_unary</span><span class="p">(</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_group</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_method</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">protocol_options</span><span class="p">,</span>
+        <span class="n">metadata</span><span class="p">,</span> <span class="n">request</span><span class="p">)</span>
+
+  <span class="k">def</span> <span class="nf">event</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">receiver</span><span class="p">,</span> <span class="n">abortion_callback</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span>
+      <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">_calls</span><span class="o">.</span><span class="n">event_unary_unary</span><span class="p">(</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_group</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_method</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">protocol_options</span><span class="p">,</span>
+        <span class="n">metadata</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">receiver</span><span class="p">,</span> <span class="n">abortion_callback</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
+
+
+<span class="k">class</span> <span class="nc">_UnaryStreamMultiCallable</span><span class="p">(</span><span class="n">face</span><span class="o">.</span><span class="n">UnaryStreamMultiCallable</span><span class="p">):</span>
+
+  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">pool</span><span class="p">):</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="o">=</span> <span class="n">end</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_group</span> <span class="o">=</span> <span class="n">group</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_method</span> <span class="o">=</span> <span class="n">method</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="o">=</span> <span class="n">pool</span>
+
+  <span class="k">def</span> <span class="nf">__call__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">_calls</span><span class="o">.</span><span class="n">inline_unary_stream</span><span class="p">(</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_group</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_method</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">protocol_options</span><span class="p">,</span>
+        <span class="n">metadata</span><span class="p">,</span> <span class="n">request</span><span class="p">)</span>
+
+  <span class="k">def</span> <span class="nf">event</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">receiver</span><span class="p">,</span> <span class="n">abortion_callback</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span>
+      <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">_calls</span><span class="o">.</span><span class="n">event_unary_stream</span><span class="p">(</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_group</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_method</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">protocol_options</span><span class="p">,</span>
+        <span class="n">metadata</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">receiver</span><span class="p">,</span> <span class="n">abortion_callback</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
+
+
+<span class="k">class</span> <span class="nc">_StreamUnaryMultiCallable</span><span class="p">(</span><span class="n">face</span><span class="o">.</span><span class="n">StreamUnaryMultiCallable</span><span class="p">):</span>
+
+  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">pool</span><span class="p">):</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="o">=</span> <span class="n">end</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_group</span> <span class="o">=</span> <span class="n">group</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_method</span> <span class="o">=</span> <span class="n">method</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="o">=</span> <span class="n">pool</span>
+
+  <span class="k">def</span> <span class="nf">__call__</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">request_iterator</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+      <span class="n">with_call</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">_calls</span><span class="o">.</span><span class="n">blocking_stream_unary</span><span class="p">(</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_group</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_method</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">with_call</span><span class="p">,</span>
+        <span class="n">protocol_options</span><span class="p">,</span> <span class="n">metadata</span><span class="p">,</span> <span class="n">request_iterator</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
+
+  <span class="k">def</span> <span class="nf">future</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">request_iterator</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">_calls</span><span class="o">.</span><span class="n">future_stream_unary</span><span class="p">(</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_group</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_method</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">protocol_options</span><span class="p">,</span>
+        <span class="n">metadata</span><span class="p">,</span> <span class="n">request_iterator</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
+
+  <span class="k">def</span> <span class="nf">event</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">receiver</span><span class="p">,</span> <span class="n">abortion_callback</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+      <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">_calls</span><span class="o">.</span><span class="n">event_stream_unary</span><span class="p">(</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_group</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_method</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">protocol_options</span><span class="p">,</span>
+        <span class="n">metadata</span><span class="p">,</span> <span class="n">receiver</span><span class="p">,</span> <span class="n">abortion_callback</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
+
+
+<span class="k">class</span> <span class="nc">_StreamStreamMultiCallable</span><span class="p">(</span><span class="n">face</span><span class="o">.</span><span class="n">StreamStreamMultiCallable</span><span class="p">):</span>
+
+  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">pool</span><span class="p">):</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="o">=</span> <span class="n">end</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_group</span> <span class="o">=</span> <span class="n">group</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_method</span> <span class="o">=</span> <span class="n">method</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="o">=</span> <span class="n">pool</span>
+
+  <span class="k">def</span> <span class="nf">__call__</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">request_iterator</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">_calls</span><span class="o">.</span><span class="n">inline_stream_stream</span><span class="p">(</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_group</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_method</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">protocol_options</span><span class="p">,</span>
+        <span class="n">metadata</span><span class="p">,</span> <span class="n">request_iterator</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
+
+  <span class="k">def</span> <span class="nf">event</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">receiver</span><span class="p">,</span> <span class="n">abortion_callback</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+      <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">_calls</span><span class="o">.</span><span class="n">event_stream_stream</span><span class="p">(</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_group</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_method</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">protocol_options</span><span class="p">,</span>
+        <span class="n">metadata</span><span class="p">,</span> <span class="n">receiver</span><span class="p">,</span> <span class="n">abortion_callback</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
+
+
+<span class="k">class</span> <span class="nc">_GenericStub</span><span class="p">(</span><span class="n">face</span><span class="o">.</span><span class="n">GenericStub</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;An face.GenericStub implementation.&quot;&quot;&quot;</span>
+
+  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">pool</span><span class="p">):</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="o">=</span> <span class="n">end</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="o">=</span> <span class="n">pool</span>
+
+  <span class="k">def</span> <span class="nf">blocking_unary_unary</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+      <span class="n">with_call</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">_calls</span><span class="o">.</span><span class="n">blocking_unary_unary</span><span class="p">(</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">with_call</span><span class="p">,</span> <span class="n">protocol_options</span><span class="p">,</span>
+        <span class="n">metadata</span><span class="p">,</span> <span class="n">request</span><span class="p">)</span>
+
+  <span class="k">def</span> <span class="nf">future_unary_unary</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+      <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">_calls</span><span class="o">.</span><span class="n">future_unary_unary</span><span class="p">(</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">protocol_options</span><span class="p">,</span> <span class="n">metadata</span><span class="p">,</span> <span class="n">request</span><span class="p">)</span>
+
+  <span class="k">def</span> <span class="nf">inline_unary_stream</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+      <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">_calls</span><span class="o">.</span><span class="n">inline_unary_stream</span><span class="p">(</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">protocol_options</span><span class="p">,</span> <span class="n">metadata</span><span class="p">,</span> <span class="n">request</span><span class="p">)</span>
+
+  <span class="k">def</span> <span class="nf">blocking_stream_unary</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">request_iterator</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+      <span class="n">with_call</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">_calls</span><span class="o">.</span><span class="n">blocking_stream_unary</span><span class="p">(</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">with_call</span><span class="p">,</span> <span class="n">protocol_options</span><span class="p">,</span>
+        <span class="n">metadata</span><span class="p">,</span> <span class="n">request_iterator</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
+
+  <span class="k">def</span> <span class="nf">future_stream_unary</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">request_iterator</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+      <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">_calls</span><span class="o">.</span><span class="n">future_stream_unary</span><span class="p">(</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">protocol_options</span><span class="p">,</span> <span class="n">metadata</span><span class="p">,</span>
+        <span class="n">request_iterator</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
+
+  <span class="k">def</span> <span class="nf">inline_stream_stream</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">request_iterator</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+      <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">_calls</span><span class="o">.</span><span class="n">inline_stream_stream</span><span class="p">(</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">protocol_options</span><span class="p">,</span> <span class="n">metadata</span><span class="p">,</span>
+        <span class="n">request_iterator</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
+
+  <span class="k">def</span> <span class="nf">event_unary_unary</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">receiver</span><span class="p">,</span> <span class="n">abortion_callback</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span>
+      <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">_calls</span><span class="o">.</span><span class="n">event_unary_unary</span><span class="p">(</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">protocol_options</span><span class="p">,</span> <span class="n">metadata</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span>
+        <span class="n">receiver</span><span class="p">,</span> <span class="n">abortion_callback</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
+
+  <span class="k">def</span> <span class="nf">event_unary_stream</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">receiver</span><span class="p">,</span> <span class="n">abortion_callback</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span>
+      <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">_calls</span><span class="o">.</span><span class="n">event_unary_stream</span><span class="p">(</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">protocol_options</span><span class="p">,</span> <span class="n">metadata</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span>
+        <span class="n">receiver</span><span class="p">,</span> <span class="n">abortion_callback</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
+
+  <span class="k">def</span> <span class="nf">event_stream_unary</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">receiver</span><span class="p">,</span> <span class="n">abortion_callback</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span>
+      <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">_calls</span><span class="o">.</span><span class="n">event_stream_unary</span><span class="p">(</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">protocol_options</span><span class="p">,</span> <span class="n">metadata</span><span class="p">,</span> <span class="n">receiver</span><span class="p">,</span>
+        <span class="n">abortion_callback</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
+
+  <span class="k">def</span> <span class="nf">event_stream_stream</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">receiver</span><span class="p">,</span> <span class="n">abortion_callback</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span>
+      <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">_calls</span><span class="o">.</span><span class="n">event_stream_stream</span><span class="p">(</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">protocol_options</span><span class="p">,</span> <span class="n">metadata</span><span class="p">,</span> <span class="n">receiver</span><span class="p">,</span>
+        <span class="n">abortion_callback</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
+
+  <span class="k">def</span> <span class="nf">unary_unary</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">_UnaryUnaryMultiCallable</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
+
+  <span class="k">def</span> <span class="nf">unary_stream</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">_UnaryStreamMultiCallable</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
+
+  <span class="k">def</span> <span class="nf">stream_unary</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">_StreamUnaryMultiCallable</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
+
+  <span class="k">def</span> <span class="nf">stream_stream</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">_StreamStreamMultiCallable</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
+
+
+<span class="k">class</span> <span class="nc">_DynamicStub</span><span class="p">(</span><span class="n">face</span><span class="o">.</span><span class="n">DynamicStub</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;An face.DynamicStub implementation.&quot;&quot;&quot;</span>
+
+  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">cardinalities</span><span class="p">,</span> <span class="n">pool</span><span class="p">):</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_end</span> <span class="o">=</span> <span class="n">end</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_group</span> <span class="o">=</span> <span class="n">group</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_cardinalities</span> <span class="o">=</span> <span class="n">cardinalities</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="o">=</span> <span class="n">pool</span>
+
+  <span class="k">def</span> <span class="nf">__getattr__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">attr</span><span class="p">):</span>
+    <span class="n">method_cardinality</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_cardinalities</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">attr</span><span class="p">)</span>
+    <span class="k">if</span> <span class="n">method_cardinality</span> <span class="ow">is</span> <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">UNARY_UNARY</span><span class="p">:</span>
+      <span class="k">return</span> <span class="n">_UnaryUnaryMultiCallable</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_group</span><span class="p">,</span> <span class="n">attr</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
+    <span class="k">elif</span> <span class="n">method_cardinality</span> <span class="ow">is</span> <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">UNARY_STREAM</span><span class="p">:</span>
+      <span class="k">return</span> <span class="n">_UnaryStreamMultiCallable</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_group</span><span class="p">,</span> <span class="n">attr</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
+    <span class="k">elif</span> <span class="n">method_cardinality</span> <span class="ow">is</span> <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">STREAM_UNARY</span><span class="p">:</span>
+      <span class="k">return</span> <span class="n">_StreamUnaryMultiCallable</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_group</span><span class="p">,</span> <span class="n">attr</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
+    <span class="k">elif</span> <span class="n">method_cardinality</span> <span class="ow">is</span> <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">STREAM_STREAM</span><span class="p">:</span>
+      <span class="k">return</span> <span class="n">_StreamStreamMultiCallable</span><span class="p">(</span>
+          <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_group</span><span class="p">,</span> <span class="n">attr</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
+    <span class="k">else</span><span class="p">:</span>
+      <span class="k">raise</span> <span class="ne">AttributeError</span><span class="p">(</span><span class="s">&#39;_DynamicStub object has no attribute &quot;</span><span class="si">%s</span><span class="s">&quot;!&#39;</span> <span class="o">%</span> <span class="n">attr</span><span class="p">)</span>
+
+
+<span class="k">def</span> <span class="nf">_adapt_method_implementations</span><span class="p">(</span><span class="n">method_implementations</span><span class="p">,</span> <span class="n">pool</span><span class="p">):</span>
+  <span class="n">adapted_implementations</span> <span class="o">=</span> <span class="p">{}</span>
+  <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">method_implementation</span> <span class="ow">in</span> <span class="n">method_implementations</span><span class="o">.</span><span class="n">iteritems</span><span class="p">():</span>
+    <span class="k">if</span> <span class="n">method_implementation</span><span class="o">.</span><span class="n">style</span> <span class="ow">is</span> <span class="n">style</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">INLINE</span><span class="p">:</span>
+      <span class="k">if</span> <span class="n">method_implementation</span><span class="o">.</span><span class="n">cardinality</span> <span class="ow">is</span> <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">UNARY_UNARY</span><span class="p">:</span>
+        <span class="n">adapted_implementations</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">_service</span><span class="o">.</span><span class="n">adapt_inline_unary_unary</span><span class="p">(</span>
+            <span class="n">method_implementation</span><span class="o">.</span><span class="n">unary_unary_inline</span><span class="p">,</span> <span class="n">pool</span><span class="p">)</span>
+      <span class="k">elif</span> <span class="n">method_implementation</span><span class="o">.</span><span class="n">cardinality</span> <span class="ow">is</span> <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">UNARY_STREAM</span><span class="p">:</span>
+        <span class="n">adapted_implementations</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">_service</span><span class="o">.</span><span class="n">adapt_inline_unary_stream</span><span class="p">(</span>
+            <span class="n">method_implementation</span><span class="o">.</span><span class="n">unary_stream_inline</span><span class="p">,</span> <span class="n">pool</span><span class="p">)</span>
+      <span class="k">elif</span> <span class="n">method_implementation</span><span class="o">.</span><span class="n">cardinality</span> <span class="ow">is</span> <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">STREAM_UNARY</span><span class="p">:</span>
+        <span class="n">adapted_implementations</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">_service</span><span class="o">.</span><span class="n">adapt_inline_stream_unary</span><span class="p">(</span>
+            <span class="n">method_implementation</span><span class="o">.</span><span class="n">stream_unary_inline</span><span class="p">,</span> <span class="n">pool</span><span class="p">)</span>
+      <span class="k">elif</span> <span class="n">method_implementation</span><span class="o">.</span><span class="n">cardinality</span> <span class="ow">is</span> <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">STREAM_STREAM</span><span class="p">:</span>
+        <span class="n">adapted_implementations</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">_service</span><span class="o">.</span><span class="n">adapt_inline_stream_stream</span><span class="p">(</span>
+            <span class="n">method_implementation</span><span class="o">.</span><span class="n">stream_stream_inline</span><span class="p">,</span> <span class="n">pool</span><span class="p">)</span>
+    <span class="k">elif</span> <span class="n">method_implementation</span><span class="o">.</span><span class="n">style</span> <span class="ow">is</span> <span class="n">style</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">EVENT</span><span class="p">:</span>
+      <span class="k">if</span> <span class="n">method_implementation</span><span class="o">.</span><span class="n">cardinality</span> <span class="ow">is</span> <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">UNARY_UNARY</span><span class="p">:</span>
+        <span class="n">adapted_implementations</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">_service</span><span class="o">.</span><span class="n">adapt_event_unary_unary</span><span class="p">(</span>
+            <span class="n">method_implementation</span><span class="o">.</span><span class="n">unary_unary_event</span><span class="p">,</span> <span class="n">pool</span><span class="p">)</span>
+      <span class="k">elif</span> <span class="n">method_implementation</span><span class="o">.</span><span class="n">cardinality</span> <span class="ow">is</span> <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">UNARY_STREAM</span><span class="p">:</span>
+        <span class="n">adapted_implementations</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">_service</span><span class="o">.</span><span class="n">adapt_event_unary_stream</span><span class="p">(</span>
+            <span class="n">method_implementation</span><span class="o">.</span><span class="n">unary_stream_event</span><span class="p">,</span> <span class="n">pool</span><span class="p">)</span>
+      <span class="k">elif</span> <span class="n">method_implementation</span><span class="o">.</span><span class="n">cardinality</span> <span class="ow">is</span> <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">STREAM_UNARY</span><span class="p">:</span>
+        <span class="n">adapted_implementations</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">_service</span><span class="o">.</span><span class="n">adapt_event_stream_unary</span><span class="p">(</span>
+            <span class="n">method_implementation</span><span class="o">.</span><span class="n">stream_unary_event</span><span class="p">,</span> <span class="n">pool</span><span class="p">)</span>
+      <span class="k">elif</span> <span class="n">method_implementation</span><span class="o">.</span><span class="n">cardinality</span> <span class="ow">is</span> <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">STREAM_STREAM</span><span class="p">:</span>
+        <span class="n">adapted_implementations</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">_service</span><span class="o">.</span><span class="n">adapt_event_stream_stream</span><span class="p">(</span>
+            <span class="n">method_implementation</span><span class="o">.</span><span class="n">stream_stream_event</span><span class="p">,</span> <span class="n">pool</span><span class="p">)</span>
+  <span class="k">return</span> <span class="n">adapted_implementations</span>
+
+
+<div class="viewcode-block" id="servicer"><a class="viewcode-back" href="../../../../grpc.framework.crust.html#grpc.framework.crust.implementations.servicer">[docs]</a><span class="k">def</span> <span class="nf">servicer</span><span class="p">(</span><span class="n">method_implementations</span><span class="p">,</span> <span class="n">multi_method_implementation</span><span class="p">,</span> <span class="n">pool</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates a base.Servicer.</span>
+
+<span class="sd">  It is guaranteed that any passed face.MultiMethodImplementation will</span>
+<span class="sd">  only be called to service an RPC if there is no</span>
+<span class="sd">  face.MethodImplementation for the RPC method in the passed</span>
+<span class="sd">  method_implementations dictionary.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    method_implementations: A dictionary from RPC method name to</span>
+<span class="sd">      face.MethodImplementation object to be used to service the named</span>
+<span class="sd">      RPC method.</span>
+<span class="sd">    multi_method_implementation: An face.MultiMethodImplementation to be</span>
+<span class="sd">      used to service any RPCs not serviced by the</span>
+<span class="sd">      face.MethodImplementations given in the method_implementations</span>
+<span class="sd">      dictionary, or None.</span>
+<span class="sd">    pool: A thread pool.</span>
+
+<span class="sd">  Returns:</span>
+<span class="sd">    A base.Servicer that services RPCs via the given implementations.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="n">adapted_implementations</span> <span class="o">=</span> <span class="n">_adapt_method_implementations</span><span class="p">(</span>
+      <span class="n">method_implementations</span><span class="p">,</span> <span class="n">pool</span><span class="p">)</span>
+  <span class="k">if</span> <span class="n">multi_method_implementation</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
+    <span class="n">adapted_multi_method_implementation</span> <span class="o">=</span> <span class="bp">None</span>
+  <span class="k">else</span><span class="p">:</span>
+    <span class="n">adapted_multi_method_implementation</span> <span class="o">=</span> <span class="n">_service</span><span class="o">.</span><span class="n">adapt_multi_method</span><span class="p">(</span>
+        <span class="n">multi_method_implementation</span><span class="p">,</span> <span class="n">pool</span><span class="p">)</span>
+  <span class="k">return</span> <span class="n">_BaseServicer</span><span class="p">(</span>
+      <span class="n">adapted_implementations</span><span class="p">,</span> <span class="n">adapted_multi_method_implementation</span><span class="p">)</span>
+
+</div>
+<div class="viewcode-block" id="generic_stub"><a class="viewcode-back" href="../../../../grpc.framework.crust.html#grpc.framework.crust.implementations.generic_stub">[docs]</a><span class="k">def</span> <span class="nf">generic_stub</span><span class="p">(</span><span class="n">end</span><span class="p">,</span> <span class="n">pool</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates an face.GenericStub.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    end: A base.End.</span>
+<span class="sd">    pool: A futures.ThreadPoolExecutor.</span>
+
+<span class="sd">  Returns:</span>
+<span class="sd">    A face.GenericStub that performs RPCs via the given base.End.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="k">return</span> <span class="n">_GenericStub</span><span class="p">(</span><span class="n">end</span><span class="p">,</span> <span class="n">pool</span><span class="p">)</span>
+
+</div>
+<div class="viewcode-block" id="dynamic_stub"><a class="viewcode-back" href="../../../../grpc.framework.crust.html#grpc.framework.crust.implementations.dynamic_stub">[docs]</a><span class="k">def</span> <span class="nf">dynamic_stub</span><span class="p">(</span><span class="n">end</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">cardinalities</span><span class="p">,</span> <span class="n">pool</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates an face.DynamicStub.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    end: A base.End.</span>
+<span class="sd">    group: The group identifier for all RPCs to be made with the created</span>
+<span class="sd">      face.DynamicStub.</span>
+<span class="sd">    cardinalities: A dict from method identifier to cardinality.Cardinality</span>
+<span class="sd">      value identifying the cardinality of every RPC method to be supported by</span>
+<span class="sd">      the created face.DynamicStub.</span>
+<span class="sd">    pool: A futures.ThreadPoolExecutor.</span>
+
+<span class="sd">  Returns:</span>
+<span class="sd">    A face.DynamicStub that performs RPCs via the given base.End.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="k">return</span> <span class="n">_DynamicStub</span><span class="p">(</span><span class="n">end</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">cardinalities</span><span class="p">,</span> <span class="n">pool</span><span class="p">)</span></div>
+</pre></div>
+
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2015, Author.
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../',
+            VERSION:'0.11.0b0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>

+ 0 - 235
python/_modules/grpc/framework/face/blocking_invocation_inline_service_test.html

@@ -1,235 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>grpc.framework.face.blocking_invocation_inline_service_test &mdash; grpcio 0.10.0a0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-nav-search">
-        
-
-        
-          <a href="../../../../index.html" class="icon icon-home"> grpcio
-        
-
-        
-        </a>
-
-        
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-        
-      </div>
-
-      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-        
-          
-          
-              <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.framework.html">grpc.framework package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.framework.html#subpackages">Subpackages</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#module-grpc">Module contents</a></li>
-</ul>
-</li>
-</ul>
-
-          
-        
-      </div>
-      &nbsp;
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../index.html">grpcio</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          <div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>grpc.framework.face.blocking_invocation_inline_service_test</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document">
-            
-  <h1>Source code for grpc.framework.face.blocking_invocation_inline_service_test</h1><div class="highlight"><pre>
-<span class="c"># Copyright 2015, Google Inc.</span>
-<span class="c"># All rights reserved.</span>
-<span class="c">#</span>
-<span class="c"># Redistribution and use in source and binary forms, with or without</span>
-<span class="c"># modification, are permitted provided that the following conditions are</span>
-<span class="c"># met:</span>
-<span class="c">#</span>
-<span class="c">#     * Redistributions of source code must retain the above copyright</span>
-<span class="c"># notice, this list of conditions and the following disclaimer.</span>
-<span class="c">#     * Redistributions in binary form must reproduce the above</span>
-<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
-<span class="c"># in the documentation and/or other materials provided with the</span>
-<span class="c"># distribution.</span>
-<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
-<span class="c"># contributors may be used to endorse or promote products derived from</span>
-<span class="c"># this software without specific prior written permission.</span>
-<span class="c">#</span>
-<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
-<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
-<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
-<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
-<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
-<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
-<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-
-<span class="sd">&quot;&quot;&quot;One of the tests of the Face layer of RPC Framework.&quot;&quot;&quot;</span>
-
-<span class="kn">import</span> <span class="nn">unittest</span>
-
-<span class="kn">from</span> <span class="nn">grpc.framework.face</span> <span class="kn">import</span> <span class="n">_test_case</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">blocking_invocation_inline_service_test_case</span> <span class="k">as</span> <span class="n">test_case</span>
-
-
-<div class="viewcode-block" id="BlockingInvocationInlineServiceTest"><a class="viewcode-back" href="../../../../grpc.framework.face.html#grpc.framework.face.blocking_invocation_inline_service_test.BlockingInvocationInlineServiceTest">[docs]</a><span class="k">class</span> <span class="nc">BlockingInvocationInlineServiceTest</span><span class="p">(</span>
-    <span class="n">_test_case</span><span class="o">.</span><span class="n">FaceTestCase</span><span class="p">,</span>
-    <span class="n">test_case</span><span class="o">.</span><span class="n">BlockingInvocationInlineServiceTestCase</span><span class="p">,</span>
-    <span class="n">unittest</span><span class="o">.</span><span class="n">TestCase</span><span class="p">):</span>
-  <span class="k">pass</span>
-
-</div>
-<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&#39;__main__&#39;</span><span class="p">:</span>
-  <span class="n">unittest</span><span class="o">.</span><span class="n">main</span><span class="p">(</span><span class="n">verbosity</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
-</pre></div>
-
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2015, Author.
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>

+ 11 - 4
python/_modules/grpc/framework/face/demonstration.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.face.demonstration &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.face.demonstration &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -277,7 +284,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 11 - 4
python/_modules/grpc/framework/face/exceptions.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.face.exceptions &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.face.exceptions &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -236,7 +243,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 0 - 235
python/_modules/grpc/framework/face/future_invocation_asynchronous_event_service_test.html

@@ -1,235 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>grpc.framework.face.future_invocation_asynchronous_event_service_test &mdash; grpcio 0.10.0a0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-nav-search">
-        
-
-        
-          <a href="../../../../index.html" class="icon icon-home"> grpcio
-        
-
-        
-        </a>
-
-        
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-        
-      </div>
-
-      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-        
-          
-          
-              <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.framework.html">grpc.framework package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.framework.html#subpackages">Subpackages</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#module-grpc">Module contents</a></li>
-</ul>
-</li>
-</ul>
-
-          
-        
-      </div>
-      &nbsp;
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../index.html">grpcio</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          <div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>grpc.framework.face.future_invocation_asynchronous_event_service_test</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document">
-            
-  <h1>Source code for grpc.framework.face.future_invocation_asynchronous_event_service_test</h1><div class="highlight"><pre>
-<span class="c"># Copyright 2015, Google Inc.</span>
-<span class="c"># All rights reserved.</span>
-<span class="c">#</span>
-<span class="c"># Redistribution and use in source and binary forms, with or without</span>
-<span class="c"># modification, are permitted provided that the following conditions are</span>
-<span class="c"># met:</span>
-<span class="c">#</span>
-<span class="c">#     * Redistributions of source code must retain the above copyright</span>
-<span class="c"># notice, this list of conditions and the following disclaimer.</span>
-<span class="c">#     * Redistributions in binary form must reproduce the above</span>
-<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
-<span class="c"># in the documentation and/or other materials provided with the</span>
-<span class="c"># distribution.</span>
-<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
-<span class="c"># contributors may be used to endorse or promote products derived from</span>
-<span class="c"># this software without specific prior written permission.</span>
-<span class="c">#</span>
-<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
-<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
-<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
-<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
-<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
-<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
-<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-
-<span class="sd">&quot;&quot;&quot;One of the tests of the Face layer of RPC Framework.&quot;&quot;&quot;</span>
-
-<span class="kn">import</span> <span class="nn">unittest</span>
-
-<span class="kn">from</span> <span class="nn">grpc.framework.face</span> <span class="kn">import</span> <span class="n">_test_case</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">future_invocation_asynchronous_event_service_test_case</span> <span class="k">as</span> <span class="n">test_case</span>
-
-
-<div class="viewcode-block" id="FutureInvocationAsynchronousEventServiceTest"><a class="viewcode-back" href="../../../../grpc.framework.face.html#grpc.framework.face.future_invocation_asynchronous_event_service_test.FutureInvocationAsynchronousEventServiceTest">[docs]</a><span class="k">class</span> <span class="nc">FutureInvocationAsynchronousEventServiceTest</span><span class="p">(</span>
-    <span class="n">_test_case</span><span class="o">.</span><span class="n">FaceTestCase</span><span class="p">,</span>
-    <span class="n">test_case</span><span class="o">.</span><span class="n">FutureInvocationAsynchronousEventServiceTestCase</span><span class="p">,</span>
-    <span class="n">unittest</span><span class="o">.</span><span class="n">TestCase</span><span class="p">):</span>
-  <span class="k">pass</span>
-
-</div>
-<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&#39;__main__&#39;</span><span class="p">:</span>
-  <span class="n">unittest</span><span class="o">.</span><span class="n">main</span><span class="p">(</span><span class="n">verbosity</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
-</pre></div>
-
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2015, Author.
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>

+ 11 - 4
python/_modules/grpc/framework/face/implementations.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.face.implementations &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.face.implementations &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -477,7 +484,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 11 - 4
python/_modules/grpc/framework/face/interfaces.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.face.interfaces &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.face.interfaces &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -799,7 +806,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 0 - 291
python/_modules/grpc/framework/face/testing/base_util.html

@@ -1,291 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>grpc.framework.face.testing.base_util &mdash; grpcio 0.10.0a0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../../index.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-nav-search">
-        
-
-        
-          <a href="../../../../../index.html" class="icon icon-home"> grpcio
-        
-
-        
-        </a>
-
-        
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-        
-      </div>
-
-      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-        
-          
-          
-              <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../grpc.html">grpc package</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#subpackages">Subpackages</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.framework.html">grpc.framework package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#subpackages">Subpackages</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#module-grpc">Module contents</a></li>
-</ul>
-</li>
-</ul>
-
-          
-        
-      </div>
-      &nbsp;
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../../index.html">grpcio</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          <div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>grpc.framework.face.testing.base_util</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document">
-            
-  <h1>Source code for grpc.framework.face.testing.base_util</h1><div class="highlight"><pre>
-<span class="c"># Copyright 2015, Google Inc.</span>
-<span class="c"># All rights reserved.</span>
-<span class="c">#</span>
-<span class="c"># Redistribution and use in source and binary forms, with or without</span>
-<span class="c"># modification, are permitted provided that the following conditions are</span>
-<span class="c"># met:</span>
-<span class="c">#</span>
-<span class="c">#     * Redistributions of source code must retain the above copyright</span>
-<span class="c"># notice, this list of conditions and the following disclaimer.</span>
-<span class="c">#     * Redistributions in binary form must reproduce the above</span>
-<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
-<span class="c"># in the documentation and/or other materials provided with the</span>
-<span class="c"># distribution.</span>
-<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
-<span class="c"># contributors may be used to endorse or promote products derived from</span>
-<span class="c"># this software without specific prior written permission.</span>
-<span class="c">#</span>
-<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
-<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
-<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
-<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
-<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
-<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
-<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-
-<span class="sd">&quot;&quot;&quot;Utilities for creating Base-layer objects for use in Face-layer tests.&quot;&quot;&quot;</span>
-
-<span class="kn">import</span> <span class="nn">abc</span>
-
-<span class="c"># interfaces is referenced from specification in this module.</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.base</span> <span class="kn">import</span> <span class="n">util</span> <span class="k">as</span> <span class="n">_base_util</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.base</span> <span class="kn">import</span> <span class="n">implementations</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.base</span> <span class="kn">import</span> <span class="n">in_memory</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.base</span> <span class="kn">import</span> <span class="n">interfaces</span>  <span class="c"># pylint: disable=unused-import</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.foundation</span> <span class="kn">import</span> <span class="n">logging_pool</span>
-
-<span class="n">_POOL_SIZE_LIMIT</span> <span class="o">=</span> <span class="mi">5</span>
-
-<span class="n">_MAXIMUM_TIMEOUT</span> <span class="o">=</span> <span class="mi">90</span>
-
-
-<div class="viewcode-block" id="LinkedPair"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.base_util.LinkedPair">[docs]</a><span class="k">class</span> <span class="nc">LinkedPair</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A Front and Back that are linked to one another.</span>
-
-<span class="sd">  Attributes:</span>
-<span class="sd">    front: An interfaces.Front.</span>
-<span class="sd">    back: An interfaces.Back.</span>
-<span class="sd">  &quot;&quot;&quot;</span>
-
-  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
-
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="LinkedPair.shut_down"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.base_util.LinkedPair.shut_down">[docs]</a>  <span class="k">def</span> <span class="nf">shut_down</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Shuts down this object and releases its resources.&quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-
-</div></div>
-<span class="k">class</span> <span class="nc">_LinkedPair</span><span class="p">(</span><span class="n">LinkedPair</span><span class="p">):</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">front</span><span class="p">,</span> <span class="n">back</span><span class="p">,</span> <span class="n">pools</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">front</span> <span class="o">=</span> <span class="n">front</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">back</span> <span class="o">=</span> <span class="n">back</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_pools</span> <span class="o">=</span> <span class="n">pools</span>
-
-  <span class="k">def</span> <span class="nf">shut_down</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="n">_base_util</span><span class="o">.</span><span class="n">wait_for_idle</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">front</span><span class="p">)</span>
-    <span class="n">_base_util</span><span class="o">.</span><span class="n">wait_for_idle</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">back</span><span class="p">)</span>
-
-    <span class="k">for</span> <span class="n">pool</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pools</span><span class="p">:</span>
-      <span class="n">pool</span><span class="o">.</span><span class="n">shutdown</span><span class="p">(</span><span class="n">wait</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
-
-
-<div class="viewcode-block" id="linked_pair"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.base_util.linked_pair">[docs]</a><span class="k">def</span> <span class="nf">linked_pair</span><span class="p">(</span><span class="n">servicer</span><span class="p">,</span> <span class="n">default_timeout</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;Creates a Server and Stub linked together for use.&quot;&quot;&quot;</span>
-  <span class="n">link_pool</span> <span class="o">=</span> <span class="n">logging_pool</span><span class="o">.</span><span class="n">pool</span><span class="p">(</span><span class="n">_POOL_SIZE_LIMIT</span><span class="p">)</span>
-  <span class="n">front_work_pool</span> <span class="o">=</span> <span class="n">logging_pool</span><span class="o">.</span><span class="n">pool</span><span class="p">(</span><span class="n">_POOL_SIZE_LIMIT</span><span class="p">)</span>
-  <span class="n">front_transmission_pool</span> <span class="o">=</span> <span class="n">logging_pool</span><span class="o">.</span><span class="n">pool</span><span class="p">(</span><span class="n">_POOL_SIZE_LIMIT</span><span class="p">)</span>
-  <span class="n">front_utility_pool</span> <span class="o">=</span> <span class="n">logging_pool</span><span class="o">.</span><span class="n">pool</span><span class="p">(</span><span class="n">_POOL_SIZE_LIMIT</span><span class="p">)</span>
-  <span class="n">back_work_pool</span> <span class="o">=</span> <span class="n">logging_pool</span><span class="o">.</span><span class="n">pool</span><span class="p">(</span><span class="n">_POOL_SIZE_LIMIT</span><span class="p">)</span>
-  <span class="n">back_transmission_pool</span> <span class="o">=</span> <span class="n">logging_pool</span><span class="o">.</span><span class="n">pool</span><span class="p">(</span><span class="n">_POOL_SIZE_LIMIT</span><span class="p">)</span>
-  <span class="n">back_utility_pool</span> <span class="o">=</span> <span class="n">logging_pool</span><span class="o">.</span><span class="n">pool</span><span class="p">(</span><span class="n">_POOL_SIZE_LIMIT</span><span class="p">)</span>
-  <span class="n">pools</span> <span class="o">=</span> <span class="p">(</span>
-      <span class="n">link_pool</span><span class="p">,</span>
-      <span class="n">front_work_pool</span><span class="p">,</span> <span class="n">front_transmission_pool</span><span class="p">,</span> <span class="n">front_utility_pool</span><span class="p">,</span>
-      <span class="n">back_work_pool</span><span class="p">,</span> <span class="n">back_transmission_pool</span><span class="p">,</span> <span class="n">back_utility_pool</span><span class="p">)</span>
-
-  <span class="n">link</span> <span class="o">=</span> <span class="n">in_memory</span><span class="o">.</span><span class="n">Link</span><span class="p">(</span><span class="n">link_pool</span><span class="p">)</span>
-  <span class="n">front</span> <span class="o">=</span> <span class="n">implementations</span><span class="o">.</span><span class="n">front_link</span><span class="p">(</span>
-      <span class="n">front_work_pool</span><span class="p">,</span> <span class="n">front_transmission_pool</span><span class="p">,</span> <span class="n">front_utility_pool</span><span class="p">)</span>
-  <span class="n">back</span> <span class="o">=</span> <span class="n">implementations</span><span class="o">.</span><span class="n">back_link</span><span class="p">(</span>
-      <span class="n">servicer</span><span class="p">,</span> <span class="n">back_work_pool</span><span class="p">,</span> <span class="n">back_transmission_pool</span><span class="p">,</span> <span class="n">back_utility_pool</span><span class="p">,</span>
-      <span class="n">default_timeout</span><span class="p">,</span> <span class="n">_MAXIMUM_TIMEOUT</span><span class="p">)</span>
-  <span class="n">front</span><span class="o">.</span><span class="n">join_rear_link</span><span class="p">(</span><span class="n">link</span><span class="p">)</span>
-  <span class="n">link</span><span class="o">.</span><span class="n">join_fore_link</span><span class="p">(</span><span class="n">front</span><span class="p">)</span>
-  <span class="n">back</span><span class="o">.</span><span class="n">join_fore_link</span><span class="p">(</span><span class="n">link</span><span class="p">)</span>
-  <span class="n">link</span><span class="o">.</span><span class="n">join_rear_link</span><span class="p">(</span><span class="n">back</span><span class="p">)</span>
-
-  <span class="k">return</span> <span class="n">_LinkedPair</span><span class="p">(</span><span class="n">front</span><span class="p">,</span> <span class="n">back</span><span class="p">,</span> <span class="n">pools</span><span class="p">)</span></div>
-</pre></div>
-
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2015, Author.
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../../',
-            VERSION:'0.10.0a0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>

+ 0 - 411
python/_modules/grpc/framework/face/testing/blocking_invocation_inline_service_test_case.html

@@ -1,411 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>grpc.framework.face.testing.blocking_invocation_inline_service_test_case &mdash; grpcio 0.10.0a0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../../index.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-nav-search">
-        
-
-        
-          <a href="../../../../../index.html" class="icon icon-home"> grpcio
-        
-
-        
-        </a>
-
-        
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-        
-      </div>
-
-      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-        
-          
-          
-              <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../grpc.html">grpc package</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#subpackages">Subpackages</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.framework.html">grpc.framework package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#subpackages">Subpackages</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#module-grpc">Module contents</a></li>
-</ul>
-</li>
-</ul>
-
-          
-        
-      </div>
-      &nbsp;
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../../index.html">grpcio</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          <div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>grpc.framework.face.testing.blocking_invocation_inline_service_test_case</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document">
-            
-  <h1>Source code for grpc.framework.face.testing.blocking_invocation_inline_service_test_case</h1><div class="highlight"><pre>
-<span class="c"># Copyright 2015, Google Inc.</span>
-<span class="c"># All rights reserved.</span>
-<span class="c">#</span>
-<span class="c"># Redistribution and use in source and binary forms, with or without</span>
-<span class="c"># modification, are permitted provided that the following conditions are</span>
-<span class="c"># met:</span>
-<span class="c">#</span>
-<span class="c">#     * Redistributions of source code must retain the above copyright</span>
-<span class="c"># notice, this list of conditions and the following disclaimer.</span>
-<span class="c">#     * Redistributions in binary form must reproduce the above</span>
-<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
-<span class="c"># in the documentation and/or other materials provided with the</span>
-<span class="c"># distribution.</span>
-<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
-<span class="c"># contributors may be used to endorse or promote products derived from</span>
-<span class="c"># this software without specific prior written permission.</span>
-<span class="c">#</span>
-<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
-<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
-<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
-<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
-<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
-<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
-<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-
-<span class="sd">&quot;&quot;&quot;A test to verify an implementation of the Face layer of RPC Framework.&quot;&quot;&quot;</span>
-
-<span class="c"># unittest is referenced from specification in this module.</span>
-<span class="kn">import</span> <span class="nn">abc</span>
-<span class="kn">import</span> <span class="nn">unittest</span>  <span class="c"># pylint: disable=unused-import</span>
-
-<span class="kn">from</span> <span class="nn">grpc.framework.face</span> <span class="kn">import</span> <span class="n">exceptions</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">control</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">coverage</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">digest</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">stock_service</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">test_case</span>
-
-<span class="n">_TIMEOUT</span> <span class="o">=</span> <span class="mi">3</span>
-<span class="n">_LONG_TIMEOUT</span> <span class="o">=</span> <span class="mi">45</span>
-
-
-<div class="viewcode-block" id="BlockingInvocationInlineServiceTestCase"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.blocking_invocation_inline_service_test_case.BlockingInvocationInlineServiceTestCase">[docs]</a><span class="k">class</span> <span class="nc">BlockingInvocationInlineServiceTestCase</span><span class="p">(</span>
-    <span class="n">test_case</span><span class="o">.</span><span class="n">FaceTestCase</span><span class="p">,</span> <span class="n">coverage</span><span class="o">.</span><span class="n">BlockingCoverage</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A test of the Face layer of RPC Framework.</span>
-
-<span class="sd">  Concrete subclasses must also extend unittest.TestCase.</span>
-<span class="sd">  &quot;&quot;&quot;</span>
-  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
-
-<div class="viewcode-block" id="BlockingInvocationInlineServiceTestCase.setUp"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.blocking_invocation_inline_service_test_case.BlockingInvocationInlineServiceTestCase.setUp">[docs]</a>  <span class="k">def</span> <span class="nf">setUp</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;See unittest.TestCase.setUp for full specification.</span>
-
-<span class="sd">    Overriding implementations must call this implementation.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">control</span> <span class="o">=</span> <span class="n">control</span><span class="o">.</span><span class="n">PauseFailControl</span><span class="p">()</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">digest</span> <span class="o">=</span> <span class="n">digest</span><span class="o">.</span><span class="n">digest</span><span class="p">(</span>
-        <span class="n">stock_service</span><span class="o">.</span><span class="n">STOCK_TEST_SERVICE</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
-
-    <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">memo</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">set_up_implementation</span><span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">methods</span><span class="p">,</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">inline_method_implementations</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="BlockingInvocationInlineServiceTestCase.tearDown"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.blocking_invocation_inline_service_test_case.BlockingInvocationInlineServiceTestCase.tearDown">[docs]</a>  <span class="k">def</span> <span class="nf">tearDown</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;See unittest.TestCase.tearDown for full specification.</span>
-
-<span class="sd">    Overriding implementations must call this implementation.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">tear_down_implementation</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">memo</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="BlockingInvocationInlineServiceTestCase.testSuccessfulUnaryRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.blocking_invocation_inline_service_test_case.BlockingInvocationInlineServiceTestCase.testSuccessfulUnaryRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testSuccessfulUnaryRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-
-        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">blocking_value_in_value_out</span><span class="p">(</span>
-            <span class="n">name</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">_LONG_TIMEOUT</span><span class="p">)</span>
-
-        <span class="n">test_messages</span><span class="o">.</span><span class="n">verify</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">response</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="BlockingInvocationInlineServiceTestCase.testSuccessfulUnaryRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.blocking_invocation_inline_service_test_case.BlockingInvocationInlineServiceTestCase.testSuccessfulUnaryRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testSuccessfulUnaryRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_stream_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-
-        <span class="n">response_iterator</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">inline_value_in_stream_out</span><span class="p">(</span>
-            <span class="n">name</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">_LONG_TIMEOUT</span><span class="p">)</span>
-        <span class="n">responses</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">response_iterator</span><span class="p">)</span>
-
-        <span class="n">test_messages</span><span class="o">.</span><span class="n">verify</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">responses</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="BlockingInvocationInlineServiceTestCase.testSuccessfulStreamRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.blocking_invocation_inline_service_test_case.BlockingInvocationInlineServiceTestCase.testSuccessfulStreamRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testSuccessfulStreamRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">stream_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">requests</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">requests</span><span class="p">()</span>
-
-        <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">blocking_stream_in_value_out</span><span class="p">(</span>
-            <span class="n">name</span><span class="p">,</span> <span class="nb">iter</span><span class="p">(</span><span class="n">requests</span><span class="p">),</span> <span class="n">_LONG_TIMEOUT</span><span class="p">)</span>
-
-        <span class="n">test_messages</span><span class="o">.</span><span class="n">verify</span><span class="p">(</span><span class="n">requests</span><span class="p">,</span> <span class="n">response</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="BlockingInvocationInlineServiceTestCase.testSuccessfulStreamRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.blocking_invocation_inline_service_test_case.BlockingInvocationInlineServiceTestCase.testSuccessfulStreamRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testSuccessfulStreamRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">stream_stream_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">requests</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">requests</span><span class="p">()</span>
-
-        <span class="n">response_iterator</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">inline_stream_in_stream_out</span><span class="p">(</span>
-            <span class="n">name</span><span class="p">,</span> <span class="nb">iter</span><span class="p">(</span><span class="n">requests</span><span class="p">),</span> <span class="n">_LONG_TIMEOUT</span><span class="p">)</span>
-        <span class="n">responses</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">response_iterator</span><span class="p">)</span>
-
-        <span class="n">test_messages</span><span class="o">.</span><span class="n">verify</span><span class="p">(</span><span class="n">requests</span><span class="p">,</span> <span class="n">responses</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="BlockingInvocationInlineServiceTestCase.testSequentialInvocations"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.blocking_invocation_inline_service_test_case.BlockingInvocationInlineServiceTestCase.testSequentialInvocations">[docs]</a>  <span class="k">def</span> <span class="nf">testSequentialInvocations</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">first_request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-        <span class="n">second_request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-
-        <span class="n">first_response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">blocking_value_in_value_out</span><span class="p">(</span>
-            <span class="n">name</span><span class="p">,</span> <span class="n">first_request</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-
-        <span class="n">test_messages</span><span class="o">.</span><span class="n">verify</span><span class="p">(</span><span class="n">first_request</span><span class="p">,</span> <span class="n">first_response</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
-
-        <span class="n">second_response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">blocking_value_in_value_out</span><span class="p">(</span>
-            <span class="n">name</span><span class="p">,</span> <span class="n">second_request</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-
-        <span class="n">test_messages</span><span class="o">.</span><span class="n">verify</span><span class="p">(</span><span class="n">second_request</span><span class="p">,</span> <span class="n">second_response</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="BlockingInvocationInlineServiceTestCase.testExpiredUnaryRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.blocking_invocation_inline_service_test_case.BlockingInvocationInlineServiceTestCase.testExpiredUnaryRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testExpiredUnaryRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">pause</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">assertRaises</span><span class="p">(</span>
-            <span class="n">exceptions</span><span class="o">.</span><span class="n">ExpirationError</span><span class="p">):</span>
-          <span class="n">multi_callable</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">unary_unary_multi_callable</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
-          <span class="n">multi_callable</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="BlockingInvocationInlineServiceTestCase.testExpiredUnaryRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.blocking_invocation_inline_service_test_case.BlockingInvocationInlineServiceTestCase.testExpiredUnaryRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testExpiredUnaryRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_stream_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">pause</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">assertRaises</span><span class="p">(</span>
-            <span class="n">exceptions</span><span class="o">.</span><span class="n">ExpirationError</span><span class="p">):</span>
-          <span class="n">response_iterator</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">inline_value_in_stream_out</span><span class="p">(</span>
-              <span class="n">name</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-          <span class="nb">list</span><span class="p">(</span><span class="n">response_iterator</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="BlockingInvocationInlineServiceTestCase.testExpiredStreamRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.blocking_invocation_inline_service_test_case.BlockingInvocationInlineServiceTestCase.testExpiredStreamRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testExpiredStreamRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">stream_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">requests</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">requests</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">pause</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">assertRaises</span><span class="p">(</span>
-            <span class="n">exceptions</span><span class="o">.</span><span class="n">ExpirationError</span><span class="p">):</span>
-          <span class="n">multi_callable</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">stream_unary_multi_callable</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
-          <span class="n">multi_callable</span><span class="p">(</span><span class="nb">iter</span><span class="p">(</span><span class="n">requests</span><span class="p">),</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="BlockingInvocationInlineServiceTestCase.testExpiredStreamRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.blocking_invocation_inline_service_test_case.BlockingInvocationInlineServiceTestCase.testExpiredStreamRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testExpiredStreamRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">stream_stream_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">requests</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">requests</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">pause</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">assertRaises</span><span class="p">(</span>
-            <span class="n">exceptions</span><span class="o">.</span><span class="n">ExpirationError</span><span class="p">):</span>
-          <span class="n">response_iterator</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">inline_stream_in_stream_out</span><span class="p">(</span>
-              <span class="n">name</span><span class="p">,</span> <span class="nb">iter</span><span class="p">(</span><span class="n">requests</span><span class="p">),</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-          <span class="nb">list</span><span class="p">(</span><span class="n">response_iterator</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="BlockingInvocationInlineServiceTestCase.testFailedUnaryRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.blocking_invocation_inline_service_test_case.BlockingInvocationInlineServiceTestCase.testFailedUnaryRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testFailedUnaryRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">fail</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">assertRaises</span><span class="p">(</span><span class="n">exceptions</span><span class="o">.</span><span class="n">ServicerError</span><span class="p">):</span>
-          <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">blocking_value_in_value_out</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="BlockingInvocationInlineServiceTestCase.testFailedUnaryRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.blocking_invocation_inline_service_test_case.BlockingInvocationInlineServiceTestCase.testFailedUnaryRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testFailedUnaryRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_stream_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">fail</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">assertRaises</span><span class="p">(</span><span class="n">exceptions</span><span class="o">.</span><span class="n">ServicerError</span><span class="p">):</span>
-          <span class="n">response_iterator</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">inline_value_in_stream_out</span><span class="p">(</span>
-              <span class="n">name</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-          <span class="nb">list</span><span class="p">(</span><span class="n">response_iterator</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="BlockingInvocationInlineServiceTestCase.testFailedStreamRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.blocking_invocation_inline_service_test_case.BlockingInvocationInlineServiceTestCase.testFailedStreamRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testFailedStreamRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">stream_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">requests</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">requests</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">fail</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">assertRaises</span><span class="p">(</span><span class="n">exceptions</span><span class="o">.</span><span class="n">ServicerError</span><span class="p">):</span>
-          <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">blocking_stream_in_value_out</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="nb">iter</span><span class="p">(</span><span class="n">requests</span><span class="p">),</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="BlockingInvocationInlineServiceTestCase.testFailedStreamRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.blocking_invocation_inline_service_test_case.BlockingInvocationInlineServiceTestCase.testFailedStreamRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testFailedStreamRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">stream_stream_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">requests</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">requests</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">fail</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">assertRaises</span><span class="p">(</span><span class="n">exceptions</span><span class="o">.</span><span class="n">ServicerError</span><span class="p">):</span>
-          <span class="n">response_iterator</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">inline_stream_in_stream_out</span><span class="p">(</span>
-              <span class="n">name</span><span class="p">,</span> <span class="nb">iter</span><span class="p">(</span><span class="n">requests</span><span class="p">),</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-          <span class="nb">list</span><span class="p">(</span><span class="n">response_iterator</span><span class="p">)</span></div></div>
-</pre></div>
-
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2015, Author.
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../../',
-            VERSION:'0.10.0a0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>

+ 0 - 283
python/_modules/grpc/framework/face/testing/callback.html

@@ -1,283 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>grpc.framework.face.testing.callback &mdash; grpcio 0.10.0a0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../../index.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-nav-search">
-        
-
-        
-          <a href="../../../../../index.html" class="icon icon-home"> grpcio
-        
-
-        
-        </a>
-
-        
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-        
-      </div>
-
-      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-        
-          
-          
-              <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../grpc.html">grpc package</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#subpackages">Subpackages</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.framework.html">grpc.framework package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#subpackages">Subpackages</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#module-grpc">Module contents</a></li>
-</ul>
-</li>
-</ul>
-
-          
-        
-      </div>
-      &nbsp;
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../../index.html">grpcio</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          <div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>grpc.framework.face.testing.callback</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document">
-            
-  <h1>Source code for grpc.framework.face.testing.callback</h1><div class="highlight"><pre>
-<span class="c"># Copyright 2015, Google Inc.</span>
-<span class="c"># All rights reserved.</span>
-<span class="c">#</span>
-<span class="c"># Redistribution and use in source and binary forms, with or without</span>
-<span class="c"># modification, are permitted provided that the following conditions are</span>
-<span class="c"># met:</span>
-<span class="c">#</span>
-<span class="c">#     * Redistributions of source code must retain the above copyright</span>
-<span class="c"># notice, this list of conditions and the following disclaimer.</span>
-<span class="c">#     * Redistributions in binary form must reproduce the above</span>
-<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
-<span class="c"># in the documentation and/or other materials provided with the</span>
-<span class="c"># distribution.</span>
-<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
-<span class="c"># contributors may be used to endorse or promote products derived from</span>
-<span class="c"># this software without specific prior written permission.</span>
-<span class="c">#</span>
-<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
-<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
-<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
-<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
-<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
-<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
-<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-
-<span class="sd">&quot;&quot;&quot;A utility useful in tests of asynchronous, event-driven interfaces.&quot;&quot;&quot;</span>
-
-<span class="kn">import</span> <span class="nn">threading</span>
-
-<span class="kn">from</span> <span class="nn">grpc.framework.foundation</span> <span class="kn">import</span> <span class="n">stream</span>
-
-
-<div class="viewcode-block" id="Callback"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.callback.Callback">[docs]</a><span class="k">class</span> <span class="nc">Callback</span><span class="p">(</span><span class="n">stream</span><span class="o">.</span><span class="n">Consumer</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A utility object useful in tests of asynchronous code.&quot;&quot;&quot;</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span> <span class="o">=</span> <span class="n">threading</span><span class="o">.</span><span class="n">Condition</span><span class="p">()</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_unary_response</span> <span class="o">=</span> <span class="bp">None</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_streamed_responses</span> <span class="o">=</span> <span class="p">[]</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_completed</span> <span class="o">=</span> <span class="bp">False</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_abortion</span> <span class="o">=</span> <span class="bp">None</span>
-
-<div class="viewcode-block" id="Callback.abort"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.callback.Callback.abort">[docs]</a>  <span class="k">def</span> <span class="nf">abort</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">abortion</span><span class="p">):</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_abortion</span> <span class="o">=</span> <span class="n">abortion</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="o">.</span><span class="n">notify_all</span><span class="p">()</span>
-</div>
-<div class="viewcode-block" id="Callback.complete"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.callback.Callback.complete">[docs]</a>  <span class="k">def</span> <span class="nf">complete</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">unary_response</span><span class="p">):</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_unary_response</span> <span class="o">=</span> <span class="n">unary_response</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_completed</span> <span class="o">=</span> <span class="bp">True</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="o">.</span><span class="n">notify_all</span><span class="p">()</span>
-</div>
-<div class="viewcode-block" id="Callback.consume"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.callback.Callback.consume">[docs]</a>  <span class="k">def</span> <span class="nf">consume</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">streamed_response</span><span class="p">):</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_streamed_responses</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">streamed_response</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="Callback.terminate"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.callback.Callback.terminate">[docs]</a>  <span class="k">def</span> <span class="nf">terminate</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_completed</span> <span class="o">=</span> <span class="bp">True</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="o">.</span><span class="n">notify_all</span><span class="p">()</span>
-</div>
-<div class="viewcode-block" id="Callback.consume_and_terminate"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.callback.Callback.consume_and_terminate">[docs]</a>  <span class="k">def</span> <span class="nf">consume_and_terminate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">streamed_response</span><span class="p">):</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_streamed_responses</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">streamed_response</span><span class="p">)</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_completed</span> <span class="o">=</span> <span class="bp">True</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="o">.</span><span class="n">notify_all</span><span class="p">()</span>
-</div>
-<div class="viewcode-block" id="Callback.block_until_terminated"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.callback.Callback.block_until_terminated">[docs]</a>  <span class="k">def</span> <span class="nf">block_until_terminated</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="k">while</span> <span class="bp">self</span><span class="o">.</span><span class="n">_abortion</span> <span class="ow">is</span> <span class="bp">None</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_completed</span><span class="p">:</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="o">.</span><span class="n">wait</span><span class="p">()</span>
-</div>
-<div class="viewcode-block" id="Callback.response"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.callback.Callback.response">[docs]</a>  <span class="k">def</span> <span class="nf">response</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_abortion</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_unary_response</span>
-      <span class="k">else</span><span class="p">:</span>
-        <span class="k">raise</span> <span class="ne">AssertionError</span><span class="p">(</span><span class="s">&#39;Aborted with abortion &quot;</span><span class="si">%s</span><span class="s">&quot;!&#39;</span> <span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">_abortion</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="Callback.responses"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.callback.Callback.responses">[docs]</a>  <span class="k">def</span> <span class="nf">responses</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_abortion</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
-        <span class="k">return</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_streamed_responses</span><span class="p">)</span>
-      <span class="k">else</span><span class="p">:</span>
-        <span class="k">raise</span> <span class="ne">AssertionError</span><span class="p">(</span><span class="s">&#39;Aborted with abortion &quot;</span><span class="si">%s</span><span class="s">&quot;!&#39;</span> <span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">_abortion</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="Callback.abortion"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.callback.Callback.abortion">[docs]</a>  <span class="k">def</span> <span class="nf">abortion</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_abortion</span></div></div>
-</pre></div>
-
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2015, Author.
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../../',
-            VERSION:'0.10.0a0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>

+ 0 - 276
python/_modules/grpc/framework/face/testing/control.html

@@ -1,276 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>grpc.framework.face.testing.control &mdash; grpcio 0.10.0a0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../../index.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-nav-search">
-        
-
-        
-          <a href="../../../../../index.html" class="icon icon-home"> grpcio
-        
-
-        
-        </a>
-
-        
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-        
-      </div>
-
-      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-        
-          
-          
-              <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../grpc.html">grpc package</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#subpackages">Subpackages</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.framework.html">grpc.framework package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#subpackages">Subpackages</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#module-grpc">Module contents</a></li>
-</ul>
-</li>
-</ul>
-
-          
-        
-      </div>
-      &nbsp;
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../../index.html">grpcio</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          <div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>grpc.framework.face.testing.control</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document">
-            
-  <h1>Source code for grpc.framework.face.testing.control</h1><div class="highlight"><pre>
-<span class="c"># Copyright 2015, Google Inc.</span>
-<span class="c"># All rights reserved.</span>
-<span class="c">#</span>
-<span class="c"># Redistribution and use in source and binary forms, with or without</span>
-<span class="c"># modification, are permitted provided that the following conditions are</span>
-<span class="c"># met:</span>
-<span class="c">#</span>
-<span class="c">#     * Redistributions of source code must retain the above copyright</span>
-<span class="c"># notice, this list of conditions and the following disclaimer.</span>
-<span class="c">#     * Redistributions in binary form must reproduce the above</span>
-<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
-<span class="c"># in the documentation and/or other materials provided with the</span>
-<span class="c"># distribution.</span>
-<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
-<span class="c"># contributors may be used to endorse or promote products derived from</span>
-<span class="c"># this software without specific prior written permission.</span>
-<span class="c">#</span>
-<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
-<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
-<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
-<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
-<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
-<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
-<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-
-<span class="sd">&quot;&quot;&quot;Code for instructing systems under test to block or fail.&quot;&quot;&quot;</span>
-
-<span class="kn">import</span> <span class="nn">abc</span>
-<span class="kn">import</span> <span class="nn">contextlib</span>
-<span class="kn">import</span> <span class="nn">threading</span>
-
-
-<div class="viewcode-block" id="Control"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.control.Control">[docs]</a><span class="k">class</span> <span class="nc">Control</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;An object that accepts program control from a system under test.</span>
-
-<span class="sd">  Systems under test passed a Control should call its control() method</span>
-<span class="sd">  frequently during execution. The control() method may block, raise an</span>
-<span class="sd">  exception, or do nothing, all according to the enclosing test&#39;s desire for</span>
-<span class="sd">  the system under test to simulate hanging, failing, or functioning.</span>
-<span class="sd">  &quot;&quot;&quot;</span>
-
-  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
-
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Control.control"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.control.Control.control">[docs]</a>  <span class="k">def</span> <span class="nf">control</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Potentially does anything.&quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-
-</div></div>
-<div class="viewcode-block" id="PauseFailControl"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.control.PauseFailControl">[docs]</a><span class="k">class</span> <span class="nc">PauseFailControl</span><span class="p">(</span><span class="n">Control</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A Control that can be used to pause or fail code under control.&quot;&quot;&quot;</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span> <span class="o">=</span> <span class="n">threading</span><span class="o">.</span><span class="n">Condition</span><span class="p">()</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_paused</span> <span class="o">=</span> <span class="bp">False</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_fail</span> <span class="o">=</span> <span class="bp">False</span>
-
-<div class="viewcode-block" id="PauseFailControl.control"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.control.PauseFailControl.control">[docs]</a>  <span class="k">def</span> <span class="nf">control</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_fail</span><span class="p">:</span>
-        <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">()</span>
-
-      <span class="k">while</span> <span class="bp">self</span><span class="o">.</span><span class="n">_paused</span><span class="p">:</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="o">.</span><span class="n">wait</span><span class="p">()</span>
-</div>
-  <span class="nd">@contextlib.contextmanager</span>
-<div class="viewcode-block" id="PauseFailControl.pause"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.control.PauseFailControl.pause">[docs]</a>  <span class="k">def</span> <span class="nf">pause</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Pauses code under control while controlling code is in context.&quot;&quot;&quot;</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_paused</span> <span class="o">=</span> <span class="bp">True</span>
-    <span class="k">yield</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_paused</span> <span class="o">=</span> <span class="bp">False</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="o">.</span><span class="n">notify_all</span><span class="p">()</span>
-</div>
-  <span class="nd">@contextlib.contextmanager</span>
-<div class="viewcode-block" id="PauseFailControl.fail"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.control.PauseFailControl.fail">[docs]</a>  <span class="k">def</span> <span class="nf">fail</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Fails code under control while controlling code is in context.&quot;&quot;&quot;</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_fail</span> <span class="o">=</span> <span class="bp">True</span>
-    <span class="k">yield</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_fail</span> <span class="o">=</span> <span class="bp">False</span></div></div>
-</pre></div>
-
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2015, Author.
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../../',
-            VERSION:'0.10.0a0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>

+ 0 - 312
python/_modules/grpc/framework/face/testing/coverage.html

@@ -1,312 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>grpc.framework.face.testing.coverage &mdash; grpcio 0.10.0a0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../../index.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-nav-search">
-        
-
-        
-          <a href="../../../../../index.html" class="icon icon-home"> grpcio
-        
-
-        
-        </a>
-
-        
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-        
-      </div>
-
-      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-        
-          
-          
-              <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../grpc.html">grpc package</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#subpackages">Subpackages</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.framework.html">grpc.framework package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#subpackages">Subpackages</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#module-grpc">Module contents</a></li>
-</ul>
-</li>
-</ul>
-
-          
-        
-      </div>
-      &nbsp;
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../../index.html">grpcio</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          <div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>grpc.framework.face.testing.coverage</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document">
-            
-  <h1>Source code for grpc.framework.face.testing.coverage</h1><div class="highlight"><pre>
-<span class="c"># Copyright 2015, Google Inc.</span>
-<span class="c"># All rights reserved.</span>
-<span class="c">#</span>
-<span class="c"># Redistribution and use in source and binary forms, with or without</span>
-<span class="c"># modification, are permitted provided that the following conditions are</span>
-<span class="c"># met:</span>
-<span class="c">#</span>
-<span class="c">#     * Redistributions of source code must retain the above copyright</span>
-<span class="c"># notice, this list of conditions and the following disclaimer.</span>
-<span class="c">#     * Redistributions in binary form must reproduce the above</span>
-<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
-<span class="c"># in the documentation and/or other materials provided with the</span>
-<span class="c"># distribution.</span>
-<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
-<span class="c"># contributors may be used to endorse or promote products derived from</span>
-<span class="c"># this software without specific prior written permission.</span>
-<span class="c">#</span>
-<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
-<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
-<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
-<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
-<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
-<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
-<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-
-<span class="sd">&quot;&quot;&quot;Governs coverage for the tests of the Face layer of RPC Framework.&quot;&quot;&quot;</span>
-
-<span class="kn">import</span> <span class="nn">abc</span>
-
-<span class="c"># These classes are only valid when inherited by unittest.TestCases.</span>
-<span class="c"># pylint: disable=invalid-name</span>
-
-
-<div class="viewcode-block" id="BlockingCoverage"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.coverage.BlockingCoverage">[docs]</a><span class="k">class</span> <span class="nc">BlockingCoverage</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;Specification of test coverage for blocking behaviors.&quot;&quot;&quot;</span>
-
-  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
-
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="BlockingCoverage.testSuccessfulUnaryRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.coverage.BlockingCoverage.testSuccessfulUnaryRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testSuccessfulUnaryRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="BlockingCoverage.testSuccessfulUnaryRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.coverage.BlockingCoverage.testSuccessfulUnaryRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testSuccessfulUnaryRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="BlockingCoverage.testSuccessfulStreamRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.coverage.BlockingCoverage.testSuccessfulStreamRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testSuccessfulStreamRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="BlockingCoverage.testSuccessfulStreamRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.coverage.BlockingCoverage.testSuccessfulStreamRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testSuccessfulStreamRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="BlockingCoverage.testSequentialInvocations"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.coverage.BlockingCoverage.testSequentialInvocations">[docs]</a>  <span class="k">def</span> <span class="nf">testSequentialInvocations</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="BlockingCoverage.testExpiredUnaryRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.coverage.BlockingCoverage.testExpiredUnaryRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testExpiredUnaryRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="BlockingCoverage.testExpiredUnaryRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.coverage.BlockingCoverage.testExpiredUnaryRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testExpiredUnaryRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="BlockingCoverage.testExpiredStreamRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.coverage.BlockingCoverage.testExpiredStreamRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testExpiredStreamRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="BlockingCoverage.testExpiredStreamRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.coverage.BlockingCoverage.testExpiredStreamRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testExpiredStreamRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="BlockingCoverage.testFailedUnaryRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.coverage.BlockingCoverage.testFailedUnaryRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testFailedUnaryRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="BlockingCoverage.testFailedUnaryRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.coverage.BlockingCoverage.testFailedUnaryRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testFailedUnaryRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="BlockingCoverage.testFailedStreamRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.coverage.BlockingCoverage.testFailedStreamRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testFailedStreamRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="BlockingCoverage.testFailedStreamRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.coverage.BlockingCoverage.testFailedStreamRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testFailedStreamRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-
-</div></div>
-<div class="viewcode-block" id="FullCoverage"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.coverage.FullCoverage">[docs]</a><span class="k">class</span> <span class="nc">FullCoverage</span><span class="p">(</span><span class="n">BlockingCoverage</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;Specification of test coverage for non-blocking behaviors.&quot;&quot;&quot;</span>
-
-  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
-
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="FullCoverage.testParallelInvocations"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.coverage.FullCoverage.testParallelInvocations">[docs]</a>  <span class="k">def</span> <span class="nf">testParallelInvocations</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="FullCoverage.testWaitingForSomeButNotAllParallelInvocations"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.coverage.FullCoverage.testWaitingForSomeButNotAllParallelInvocations">[docs]</a>  <span class="k">def</span> <span class="nf">testWaitingForSomeButNotAllParallelInvocations</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="FullCoverage.testCancelledUnaryRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.coverage.FullCoverage.testCancelledUnaryRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testCancelledUnaryRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="FullCoverage.testCancelledUnaryRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.coverage.FullCoverage.testCancelledUnaryRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testCancelledUnaryRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="FullCoverage.testCancelledStreamRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.coverage.FullCoverage.testCancelledStreamRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testCancelledStreamRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="FullCoverage.testCancelledStreamRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.coverage.FullCoverage.testCancelledStreamRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testCancelledStreamRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span></div></div>
-</pre></div>
-
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2015, Author.
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../../',
-            VERSION:'0.10.0a0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>

+ 0 - 639
python/_modules/grpc/framework/face/testing/digest.html

@@ -1,639 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>grpc.framework.face.testing.digest &mdash; grpcio 0.10.0a0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../../index.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-nav-search">
-        
-
-        
-          <a href="../../../../../index.html" class="icon icon-home"> grpcio
-        
-
-        
-        </a>
-
-        
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-        
-      </div>
-
-      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-        
-          
-          
-              <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../grpc.html">grpc package</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#subpackages">Subpackages</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.framework.html">grpc.framework package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#subpackages">Subpackages</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#module-grpc">Module contents</a></li>
-</ul>
-</li>
-</ul>
-
-          
-        
-      </div>
-      &nbsp;
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../../index.html">grpcio</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          <div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>grpc.framework.face.testing.digest</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document">
-            
-  <h1>Source code for grpc.framework.face.testing.digest</h1><div class="highlight"><pre>
-<span class="c"># Copyright 2015, Google Inc.</span>
-<span class="c"># All rights reserved.</span>
-<span class="c">#</span>
-<span class="c"># Redistribution and use in source and binary forms, with or without</span>
-<span class="c"># modification, are permitted provided that the following conditions are</span>
-<span class="c"># met:</span>
-<span class="c">#</span>
-<span class="c">#     * Redistributions of source code must retain the above copyright</span>
-<span class="c"># notice, this list of conditions and the following disclaimer.</span>
-<span class="c">#     * Redistributions in binary form must reproduce the above</span>
-<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
-<span class="c"># in the documentation and/or other materials provided with the</span>
-<span class="c"># distribution.</span>
-<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
-<span class="c"># contributors may be used to endorse or promote products derived from</span>
-<span class="c"># this software without specific prior written permission.</span>
-<span class="c">#</span>
-<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
-<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
-<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
-<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
-<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
-<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
-<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-
-<span class="sd">&quot;&quot;&quot;Code for making a service.TestService more amenable to use in tests.&quot;&quot;&quot;</span>
-
-<span class="kn">import</span> <span class="nn">collections</span>
-<span class="kn">import</span> <span class="nn">threading</span>
-
-<span class="c"># testing_control, interfaces, and testing_service are referenced from</span>
-<span class="c"># specification in this module.</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.common</span> <span class="kn">import</span> <span class="n">cardinality</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.common</span> <span class="kn">import</span> <span class="n">style</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face</span> <span class="kn">import</span> <span class="n">exceptions</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face</span> <span class="kn">import</span> <span class="n">interfaces</span> <span class="k">as</span> <span class="n">face_interfaces</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">control</span> <span class="k">as</span> <span class="n">testing_control</span>  <span class="c"># pylint: disable=unused-import</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">interfaces</span>  <span class="c"># pylint: disable=unused-import</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">service</span> <span class="k">as</span> <span class="n">testing_service</span>  <span class="c"># pylint: disable=unused-import</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.foundation</span> <span class="kn">import</span> <span class="n">stream</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.foundation</span> <span class="kn">import</span> <span class="n">stream_util</span>
-
-<span class="n">_IDENTITY</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span>
-
-
-<div class="viewcode-block" id="TestServiceDigest"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.digest.TestServiceDigest">[docs]</a><span class="k">class</span> <span class="nc">TestServiceDigest</span><span class="p">(</span>
-    <span class="n">collections</span><span class="o">.</span><span class="n">namedtuple</span><span class="p">(</span>
-        <span class="s">&#39;TestServiceDigest&#39;</span><span class="p">,</span>
-        <span class="p">[</span><span class="s">&#39;name&#39;</span><span class="p">,</span>
-         <span class="s">&#39;methods&#39;</span><span class="p">,</span>
-         <span class="s">&#39;inline_method_implementations&#39;</span><span class="p">,</span>
-         <span class="s">&#39;event_method_implementations&#39;</span><span class="p">,</span>
-         <span class="s">&#39;multi_method_implementation&#39;</span><span class="p">,</span>
-         <span class="s">&#39;unary_unary_messages_sequences&#39;</span><span class="p">,</span>
-         <span class="s">&#39;unary_stream_messages_sequences&#39;</span><span class="p">,</span>
-         <span class="s">&#39;stream_unary_messages_sequences&#39;</span><span class="p">,</span>
-         <span class="s">&#39;stream_stream_messages_sequences&#39;</span><span class="p">])):</span>
-  <span class="sd">&quot;&quot;&quot;A transformation of a service.TestService.</span>
-
-<span class="sd">  Attributes:</span>
-<span class="sd">    name: The RPC service name to be used in the test.</span>
-<span class="sd">    methods: A sequence of interfaces.Method objects describing the RPC</span>
-<span class="sd">      methods that will be called during the test.</span>
-<span class="sd">    inline_method_implementations: A dict from RPC method name to</span>
-<span class="sd">      face_interfaces.MethodImplementation object to be used in tests of</span>
-<span class="sd">      in-line calls to behaviors under test.</span>
-<span class="sd">    event_method_implementations: A dict from RPC method name to</span>
-<span class="sd">      face_interfaces.MethodImplementation object to be used in tests of</span>
-<span class="sd">      event-driven calls to behaviors under test.</span>
-<span class="sd">    multi_method_implementation: A face_interfaces.MultiMethodImplementation to</span>
-<span class="sd">      be used in tests of generic calls to behaviors under test.</span>
-<span class="sd">    unary_unary_messages_sequences: A dict from method name to sequence of</span>
-<span class="sd">      service.UnaryUnaryTestMessages objects to be used to test the method</span>
-<span class="sd">      with the given name.</span>
-<span class="sd">    unary_stream_messages_sequences: A dict from method name to sequence of</span>
-<span class="sd">      service.UnaryStreamTestMessages objects to be used to test the method</span>
-<span class="sd">      with the given name.</span>
-<span class="sd">    stream_unary_messages_sequences: A dict from method name to sequence of</span>
-<span class="sd">      service.StreamUnaryTestMessages objects to be used to test the method</span>
-<span class="sd">      with the given name.</span>
-<span class="sd">    stream_stream_messages_sequences: A dict from method name to sequence of</span>
-<span class="sd">      service.StreamStreamTestMessages objects to be used to test the</span>
-<span class="sd">      method with the given name.</span>
-<span class="sd">    serialization: A serial.Serialization object describing serialization</span>
-<span class="sd">      behaviors for all the RPC methods.</span>
-<span class="sd">  &quot;&quot;&quot;</span>
-
-</div>
-<span class="k">class</span> <span class="nc">_BufferingConsumer</span><span class="p">(</span><span class="n">stream</span><span class="o">.</span><span class="n">Consumer</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A trivial Consumer that dumps what it consumes in a user-mutable buffer.&quot;&quot;&quot;</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">consumed</span> <span class="o">=</span> <span class="p">[]</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">terminated</span> <span class="o">=</span> <span class="bp">False</span>
-
-  <span class="k">def</span> <span class="nf">consume</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">consumed</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
-
-  <span class="k">def</span> <span class="nf">terminate</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">terminated</span> <span class="o">=</span> <span class="bp">True</span>
-
-  <span class="k">def</span> <span class="nf">consume_and_terminate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">consumed</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">terminated</span> <span class="o">=</span> <span class="bp">True</span>
-
-
-<span class="k">class</span> <span class="nc">_InlineUnaryUnaryMethod</span><span class="p">(</span><span class="n">face_interfaces</span><span class="o">.</span><span class="n">MethodImplementation</span><span class="p">):</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">unary_unary_test_method</span><span class="p">,</span> <span class="n">control</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_test_method</span> <span class="o">=</span> <span class="n">unary_unary_test_method</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_control</span> <span class="o">=</span> <span class="n">control</span>
-
-    <span class="bp">self</span><span class="o">.</span><span class="n">cardinality</span> <span class="o">=</span> <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">UNARY_UNARY</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">style</span> <span class="o">=</span> <span class="n">style</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">INLINE</span>
-
-  <span class="k">def</span> <span class="nf">unary_unary_inline</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-    <span class="n">response_list</span> <span class="o">=</span> <span class="p">[]</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_test_method</span><span class="o">.</span><span class="n">service</span><span class="p">(</span>
-        <span class="n">request</span><span class="p">,</span> <span class="n">response_list</span><span class="o">.</span><span class="n">append</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_control</span><span class="p">)</span>
-    <span class="k">return</span> <span class="n">response_list</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
-
-
-<span class="k">class</span> <span class="nc">_EventUnaryUnaryMethod</span><span class="p">(</span><span class="n">face_interfaces</span><span class="o">.</span><span class="n">MethodImplementation</span><span class="p">):</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">unary_unary_test_method</span><span class="p">,</span> <span class="n">control</span><span class="p">,</span> <span class="n">pool</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_test_method</span> <span class="o">=</span> <span class="n">unary_unary_test_method</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_control</span> <span class="o">=</span> <span class="n">control</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="o">=</span> <span class="n">pool</span>
-
-    <span class="bp">self</span><span class="o">.</span><span class="n">cardinality</span> <span class="o">=</span> <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">UNARY_UNARY</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">style</span> <span class="o">=</span> <span class="n">style</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">EVENT</span>
-
-  <span class="k">def</span> <span class="nf">unary_unary_event</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">response_callback</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-    <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_test_method</span><span class="o">.</span><span class="n">service</span><span class="p">(</span>
-          <span class="n">request</span><span class="p">,</span> <span class="n">response_callback</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_control</span><span class="p">)</span>
-    <span class="k">else</span><span class="p">:</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span>
-          <span class="bp">self</span><span class="o">.</span><span class="n">_test_method</span><span class="o">.</span><span class="n">service</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">response_callback</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span>
-          <span class="bp">self</span><span class="o">.</span><span class="n">_control</span><span class="p">)</span>
-
-
-<span class="k">class</span> <span class="nc">_InlineUnaryStreamMethod</span><span class="p">(</span><span class="n">face_interfaces</span><span class="o">.</span><span class="n">MethodImplementation</span><span class="p">):</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">unary_stream_test_method</span><span class="p">,</span> <span class="n">control</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_test_method</span> <span class="o">=</span> <span class="n">unary_stream_test_method</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_control</span> <span class="o">=</span> <span class="n">control</span>
-
-    <span class="bp">self</span><span class="o">.</span><span class="n">cardinality</span> <span class="o">=</span> <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">UNARY_STREAM</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">style</span> <span class="o">=</span> <span class="n">style</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">INLINE</span>
-
-  <span class="k">def</span> <span class="nf">unary_stream_inline</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-    <span class="n">response_consumer</span> <span class="o">=</span> <span class="n">_BufferingConsumer</span><span class="p">()</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_test_method</span><span class="o">.</span><span class="n">service</span><span class="p">(</span>
-        <span class="n">request</span><span class="p">,</span> <span class="n">response_consumer</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_control</span><span class="p">)</span>
-    <span class="k">for</span> <span class="n">response</span> <span class="ow">in</span> <span class="n">response_consumer</span><span class="o">.</span><span class="n">consumed</span><span class="p">:</span>
-      <span class="k">yield</span> <span class="n">response</span>
-
-
-<span class="k">class</span> <span class="nc">_EventUnaryStreamMethod</span><span class="p">(</span><span class="n">face_interfaces</span><span class="o">.</span><span class="n">MethodImplementation</span><span class="p">):</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">unary_stream_test_method</span><span class="p">,</span> <span class="n">control</span><span class="p">,</span> <span class="n">pool</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_test_method</span> <span class="o">=</span> <span class="n">unary_stream_test_method</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_control</span> <span class="o">=</span> <span class="n">control</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="o">=</span> <span class="n">pool</span>
-
-    <span class="bp">self</span><span class="o">.</span><span class="n">cardinality</span> <span class="o">=</span> <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">UNARY_STREAM</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">style</span> <span class="o">=</span> <span class="n">style</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">EVENT</span>
-
-  <span class="k">def</span> <span class="nf">unary_stream_event</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">response_consumer</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-    <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_test_method</span><span class="o">.</span><span class="n">service</span><span class="p">(</span>
-          <span class="n">request</span><span class="p">,</span> <span class="n">response_consumer</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_control</span><span class="p">)</span>
-    <span class="k">else</span><span class="p">:</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="o">.</span><span class="n">submit</span><span class="p">(</span>
-          <span class="bp">self</span><span class="o">.</span><span class="n">_test_method</span><span class="o">.</span><span class="n">service</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">response_consumer</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span>
-          <span class="bp">self</span><span class="o">.</span><span class="n">_control</span><span class="p">)</span>
-
-
-<span class="k">class</span> <span class="nc">_InlineStreamUnaryMethod</span><span class="p">(</span><span class="n">face_interfaces</span><span class="o">.</span><span class="n">MethodImplementation</span><span class="p">):</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">stream_unary_test_method</span><span class="p">,</span> <span class="n">control</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_test_method</span> <span class="o">=</span> <span class="n">stream_unary_test_method</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_control</span> <span class="o">=</span> <span class="n">control</span>
-
-    <span class="bp">self</span><span class="o">.</span><span class="n">cardinality</span> <span class="o">=</span> <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">STREAM_UNARY</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">style</span> <span class="o">=</span> <span class="n">style</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">INLINE</span>
-
-  <span class="k">def</span> <span class="nf">stream_unary_inline</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request_iterator</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-    <span class="n">response_list</span> <span class="o">=</span> <span class="p">[]</span>
-    <span class="n">request_consumer</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_test_method</span><span class="o">.</span><span class="n">service</span><span class="p">(</span>
-        <span class="n">response_list</span><span class="o">.</span><span class="n">append</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_control</span><span class="p">)</span>
-    <span class="k">for</span> <span class="n">request</span> <span class="ow">in</span> <span class="n">request_iterator</span><span class="p">:</span>
-      <span class="n">request_consumer</span><span class="o">.</span><span class="n">consume</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
-    <span class="n">request_consumer</span><span class="o">.</span><span class="n">terminate</span><span class="p">()</span>
-    <span class="k">return</span> <span class="n">response_list</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
-
-
-<span class="k">class</span> <span class="nc">_EventStreamUnaryMethod</span><span class="p">(</span><span class="n">face_interfaces</span><span class="o">.</span><span class="n">MethodImplementation</span><span class="p">):</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">stream_unary_test_method</span><span class="p">,</span> <span class="n">control</span><span class="p">,</span> <span class="n">pool</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_test_method</span> <span class="o">=</span> <span class="n">stream_unary_test_method</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_control</span> <span class="o">=</span> <span class="n">control</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="o">=</span> <span class="n">pool</span>
-
-    <span class="bp">self</span><span class="o">.</span><span class="n">cardinality</span> <span class="o">=</span> <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">STREAM_UNARY</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">style</span> <span class="o">=</span> <span class="n">style</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">EVENT</span>
-
-  <span class="k">def</span> <span class="nf">stream_unary_event</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response_callback</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-    <span class="n">request_consumer</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_test_method</span><span class="o">.</span><span class="n">service</span><span class="p">(</span>
-        <span class="n">response_callback</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_control</span><span class="p">)</span>
-    <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
-      <span class="k">return</span> <span class="n">request_consumer</span>
-    <span class="k">else</span><span class="p">:</span>
-      <span class="k">return</span> <span class="n">stream_util</span><span class="o">.</span><span class="n">ThreadSwitchingConsumer</span><span class="p">(</span><span class="n">request_consumer</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
-
-
-<span class="k">class</span> <span class="nc">_InlineStreamStreamMethod</span><span class="p">(</span><span class="n">face_interfaces</span><span class="o">.</span><span class="n">MethodImplementation</span><span class="p">):</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">stream_stream_test_method</span><span class="p">,</span> <span class="n">control</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_test_method</span> <span class="o">=</span> <span class="n">stream_stream_test_method</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_control</span> <span class="o">=</span> <span class="n">control</span>
-
-    <span class="bp">self</span><span class="o">.</span><span class="n">cardinality</span> <span class="o">=</span> <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">STREAM_STREAM</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">style</span> <span class="o">=</span> <span class="n">style</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">INLINE</span>
-
-  <span class="k">def</span> <span class="nf">stream_stream_inline</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request_iterator</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-    <span class="n">response_consumer</span> <span class="o">=</span> <span class="n">_BufferingConsumer</span><span class="p">()</span>
-    <span class="n">request_consumer</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_test_method</span><span class="o">.</span><span class="n">service</span><span class="p">(</span>
-        <span class="n">response_consumer</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_control</span><span class="p">)</span>
-
-    <span class="k">for</span> <span class="n">request</span> <span class="ow">in</span> <span class="n">request_iterator</span><span class="p">:</span>
-      <span class="n">request_consumer</span><span class="o">.</span><span class="n">consume</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
-      <span class="k">while</span> <span class="n">response_consumer</span><span class="o">.</span><span class="n">consumed</span><span class="p">:</span>
-        <span class="k">yield</span> <span class="n">response_consumer</span><span class="o">.</span><span class="n">consumed</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
-    <span class="n">response_consumer</span><span class="o">.</span><span class="n">terminate</span><span class="p">()</span>
-
-
-<span class="k">class</span> <span class="nc">_EventStreamStreamMethod</span><span class="p">(</span><span class="n">face_interfaces</span><span class="o">.</span><span class="n">MethodImplementation</span><span class="p">):</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">stream_stream_test_method</span><span class="p">,</span> <span class="n">control</span><span class="p">,</span> <span class="n">pool</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_test_method</span> <span class="o">=</span> <span class="n">stream_stream_test_method</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_control</span> <span class="o">=</span> <span class="n">control</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="o">=</span> <span class="n">pool</span>
-
-    <span class="bp">self</span><span class="o">.</span><span class="n">cardinality</span> <span class="o">=</span> <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">STREAM_STREAM</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">style</span> <span class="o">=</span> <span class="n">style</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">EVENT</span>
-
-  <span class="k">def</span> <span class="nf">stream_stream_event</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response_consumer</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-    <span class="n">request_consumer</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_test_method</span><span class="o">.</span><span class="n">service</span><span class="p">(</span>
-        <span class="n">response_consumer</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_control</span><span class="p">)</span>
-    <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
-      <span class="k">return</span> <span class="n">request_consumer</span>
-    <span class="k">else</span><span class="p">:</span>
-      <span class="k">return</span> <span class="n">stream_util</span><span class="o">.</span><span class="n">ThreadSwitchingConsumer</span><span class="p">(</span><span class="n">request_consumer</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
-
-
-<span class="k">class</span> <span class="nc">_UnaryConsumer</span><span class="p">(</span><span class="n">stream</span><span class="o">.</span><span class="n">Consumer</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A Consumer that only allows consumption of exactly one value.&quot;&quot;&quot;</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">action</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_lock</span> <span class="o">=</span> <span class="n">threading</span><span class="o">.</span><span class="n">Lock</span><span class="p">()</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_action</span> <span class="o">=</span> <span class="n">action</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_consumed</span> <span class="o">=</span> <span class="bp">False</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_terminated</span> <span class="o">=</span> <span class="bp">False</span>
-
-  <span class="k">def</span> <span class="nf">consume</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_lock</span><span class="p">:</span>
-      <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_consumed</span><span class="p">:</span>
-        <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s">&#39;Unary consumer already consumed!&#39;</span><span class="p">)</span>
-      <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_terminated</span><span class="p">:</span>
-        <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s">&#39;Unary consumer already terminated!&#39;</span><span class="p">)</span>
-      <span class="k">else</span><span class="p">:</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_consumed</span> <span class="o">=</span> <span class="bp">True</span>
-
-    <span class="bp">self</span><span class="o">.</span><span class="n">_action</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
-
-  <span class="k">def</span> <span class="nf">terminate</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_lock</span><span class="p">:</span>
-      <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_consumed</span><span class="p">:</span>
-        <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s">&#39;Unary consumer hasn</span><span class="se">\&#39;</span><span class="s">t yet consumed!&#39;</span><span class="p">)</span>
-      <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_terminated</span><span class="p">:</span>
-        <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s">&#39;Unary consumer already terminated!&#39;</span><span class="p">)</span>
-      <span class="k">else</span><span class="p">:</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_terminated</span> <span class="o">=</span> <span class="bp">True</span>
-
-  <span class="k">def</span> <span class="nf">consume_and_terminate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_lock</span><span class="p">:</span>
-      <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_consumed</span><span class="p">:</span>
-        <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s">&#39;Unary consumer already consumed!&#39;</span><span class="p">)</span>
-      <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_terminated</span><span class="p">:</span>
-        <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s">&#39;Unary consumer already terminated!&#39;</span><span class="p">)</span>
-      <span class="k">else</span><span class="p">:</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_consumed</span> <span class="o">=</span> <span class="bp">True</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_terminated</span> <span class="o">=</span> <span class="bp">True</span>
-
-    <span class="bp">self</span><span class="o">.</span><span class="n">_action</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
-
-
-<span class="k">class</span> <span class="nc">_UnaryUnaryAdaptation</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">unary_unary_test_method</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_method</span> <span class="o">=</span> <span class="n">unary_unary_test_method</span>
-
-  <span class="k">def</span> <span class="nf">service</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response_consumer</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">control</span><span class="p">):</span>
-    <span class="k">def</span> <span class="nf">action</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_method</span><span class="o">.</span><span class="n">service</span><span class="p">(</span>
-          <span class="n">request</span><span class="p">,</span> <span class="n">response_consumer</span><span class="o">.</span><span class="n">consume_and_terminate</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">control</span><span class="p">)</span>
-    <span class="k">return</span> <span class="n">_UnaryConsumer</span><span class="p">(</span><span class="n">action</span><span class="p">)</span>
-
-
-<span class="k">class</span> <span class="nc">_UnaryStreamAdaptation</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">unary_stream_test_method</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_method</span> <span class="o">=</span> <span class="n">unary_stream_test_method</span>
-
-  <span class="k">def</span> <span class="nf">service</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response_consumer</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">control</span><span class="p">):</span>
-    <span class="k">def</span> <span class="nf">action</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_method</span><span class="o">.</span><span class="n">service</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">response_consumer</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">control</span><span class="p">)</span>
-    <span class="k">return</span> <span class="n">_UnaryConsumer</span><span class="p">(</span><span class="n">action</span><span class="p">)</span>
-
-
-<span class="k">class</span> <span class="nc">_StreamUnaryAdaptation</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">stream_unary_test_method</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_method</span> <span class="o">=</span> <span class="n">stream_unary_test_method</span>
-
-  <span class="k">def</span> <span class="nf">service</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response_consumer</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">control</span><span class="p">):</span>
-    <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_method</span><span class="o">.</span><span class="n">service</span><span class="p">(</span>
-        <span class="n">response_consumer</span><span class="o">.</span><span class="n">consume_and_terminate</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">control</span><span class="p">)</span>
-
-
-<span class="k">class</span> <span class="nc">_MultiMethodImplementation</span><span class="p">(</span><span class="n">face_interfaces</span><span class="o">.</span><span class="n">MultiMethodImplementation</span><span class="p">):</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">methods</span><span class="p">,</span> <span class="n">control</span><span class="p">,</span> <span class="n">pool</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_methods</span> <span class="o">=</span> <span class="n">methods</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_control</span> <span class="o">=</span> <span class="n">control</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="o">=</span> <span class="n">pool</span>
-
-  <span class="k">def</span> <span class="nf">service</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">response_consumer</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
-    <span class="n">method</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_methods</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
-    <span class="k">if</span> <span class="n">method</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
-      <span class="k">raise</span> <span class="n">exceptions</span><span class="o">.</span><span class="n">NoSuchMethodError</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
-    <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
-      <span class="k">return</span> <span class="n">method</span><span class="p">(</span><span class="n">response_consumer</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_control</span><span class="p">)</span>
-    <span class="k">else</span><span class="p">:</span>
-      <span class="n">request_consumer</span> <span class="o">=</span> <span class="n">method</span><span class="p">(</span><span class="n">response_consumer</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_control</span><span class="p">)</span>
-      <span class="k">return</span> <span class="n">stream_util</span><span class="o">.</span><span class="n">ThreadSwitchingConsumer</span><span class="p">(</span><span class="n">request_consumer</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pool</span><span class="p">)</span>
-
-
-<span class="k">class</span> <span class="nc">_Assembly</span><span class="p">(</span>
-    <span class="n">collections</span><span class="o">.</span><span class="n">namedtuple</span><span class="p">(</span>
-        <span class="s">&#39;_Assembly&#39;</span><span class="p">,</span>
-        <span class="p">[</span><span class="s">&#39;methods&#39;</span><span class="p">,</span> <span class="s">&#39;inlines&#39;</span><span class="p">,</span> <span class="s">&#39;events&#39;</span><span class="p">,</span> <span class="s">&#39;adaptations&#39;</span><span class="p">,</span> <span class="s">&#39;messages&#39;</span><span class="p">])):</span>
-  <span class="sd">&quot;&quot;&quot;An intermediate structure created when creating a TestServiceDigest.&quot;&quot;&quot;</span>
-
-
-<span class="k">def</span> <span class="nf">_assemble</span><span class="p">(</span>
-    <span class="n">scenarios</span><span class="p">,</span> <span class="n">names</span><span class="p">,</span> <span class="n">inline_method_constructor</span><span class="p">,</span> <span class="n">event_method_constructor</span><span class="p">,</span>
-    <span class="n">adapter</span><span class="p">,</span> <span class="n">control</span><span class="p">,</span> <span class="n">pool</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;Creates an _Assembly from the given scenarios.&quot;&quot;&quot;</span>
-  <span class="n">methods</span> <span class="o">=</span> <span class="p">[]</span>
-  <span class="n">inlines</span> <span class="o">=</span> <span class="p">{}</span>
-  <span class="n">events</span> <span class="o">=</span> <span class="p">{}</span>
-  <span class="n">adaptations</span> <span class="o">=</span> <span class="p">{}</span>
-  <span class="n">messages</span> <span class="o">=</span> <span class="p">{}</span>
-  <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">scenario</span> <span class="ow">in</span> <span class="n">scenarios</span><span class="o">.</span><span class="n">iteritems</span><span class="p">():</span>
-    <span class="k">if</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">names</span><span class="p">:</span>
-      <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s">&#39;Repeated name &quot;</span><span class="si">%s</span><span class="s">&quot;!&#39;</span> <span class="o">%</span> <span class="n">name</span><span class="p">)</span>
-
-    <span class="n">test_method</span> <span class="o">=</span> <span class="n">scenario</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
-    <span class="n">inline_method</span> <span class="o">=</span> <span class="n">inline_method_constructor</span><span class="p">(</span><span class="n">test_method</span><span class="p">,</span> <span class="n">control</span><span class="p">)</span>
-    <span class="n">event_method</span> <span class="o">=</span> <span class="n">event_method_constructor</span><span class="p">(</span><span class="n">test_method</span><span class="p">,</span> <span class="n">control</span><span class="p">,</span> <span class="n">pool</span><span class="p">)</span>
-    <span class="n">adaptation</span> <span class="o">=</span> <span class="n">adapter</span><span class="p">(</span><span class="n">test_method</span><span class="p">)</span>
-
-    <span class="n">methods</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">test_method</span><span class="p">)</span>
-    <span class="n">inlines</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">inline_method</span>
-    <span class="n">events</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">event_method</span>
-    <span class="n">adaptations</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">adaptation</span>
-    <span class="n">messages</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">scenario</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
-
-  <span class="k">return</span> <span class="n">_Assembly</span><span class="p">(</span><span class="n">methods</span><span class="p">,</span> <span class="n">inlines</span><span class="p">,</span> <span class="n">events</span><span class="p">,</span> <span class="n">adaptations</span><span class="p">,</span> <span class="n">messages</span><span class="p">)</span>
-
-
-<div class="viewcode-block" id="digest"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.digest.digest">[docs]</a><span class="k">def</span> <span class="nf">digest</span><span class="p">(</span><span class="n">service</span><span class="p">,</span> <span class="n">control</span><span class="p">,</span> <span class="n">pool</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;Creates a TestServiceDigest from a TestService.</span>
-
-<span class="sd">  Args:</span>
-<span class="sd">    service: A testing_service.TestService.</span>
-<span class="sd">    control: A testing_control.Control.</span>
-<span class="sd">    pool: If RPC methods should be serviced in a separate thread, a thread pool.</span>
-<span class="sd">      None if RPC methods should be serviced in the thread belonging to the</span>
-<span class="sd">      run-time that calls for their service.</span>
-
-<span class="sd">  Returns:</span>
-<span class="sd">    A TestServiceDigest synthesized from the given service.TestService.</span>
-<span class="sd">  &quot;&quot;&quot;</span>
-  <span class="n">names</span> <span class="o">=</span> <span class="nb">set</span><span class="p">()</span>
-
-  <span class="n">unary_unary</span> <span class="o">=</span> <span class="n">_assemble</span><span class="p">(</span>
-      <span class="n">service</span><span class="o">.</span><span class="n">unary_unary_scenarios</span><span class="p">(),</span> <span class="n">names</span><span class="p">,</span> <span class="n">_InlineUnaryUnaryMethod</span><span class="p">,</span>
-      <span class="n">_EventUnaryUnaryMethod</span><span class="p">,</span> <span class="n">_UnaryUnaryAdaptation</span><span class="p">,</span> <span class="n">control</span><span class="p">,</span> <span class="n">pool</span><span class="p">)</span>
-  <span class="n">names</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">unary_unary</span><span class="o">.</span><span class="n">inlines</span><span class="p">))</span>
-
-  <span class="n">unary_stream</span> <span class="o">=</span> <span class="n">_assemble</span><span class="p">(</span>
-      <span class="n">service</span><span class="o">.</span><span class="n">unary_stream_scenarios</span><span class="p">(),</span> <span class="n">names</span><span class="p">,</span> <span class="n">_InlineUnaryStreamMethod</span><span class="p">,</span>
-      <span class="n">_EventUnaryStreamMethod</span><span class="p">,</span> <span class="n">_UnaryStreamAdaptation</span><span class="p">,</span> <span class="n">control</span><span class="p">,</span> <span class="n">pool</span><span class="p">)</span>
-  <span class="n">names</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">unary_stream</span><span class="o">.</span><span class="n">inlines</span><span class="p">))</span>
-
-  <span class="n">stream_unary</span> <span class="o">=</span> <span class="n">_assemble</span><span class="p">(</span>
-      <span class="n">service</span><span class="o">.</span><span class="n">stream_unary_scenarios</span><span class="p">(),</span> <span class="n">names</span><span class="p">,</span> <span class="n">_InlineStreamUnaryMethod</span><span class="p">,</span>
-      <span class="n">_EventStreamUnaryMethod</span><span class="p">,</span> <span class="n">_StreamUnaryAdaptation</span><span class="p">,</span> <span class="n">control</span><span class="p">,</span> <span class="n">pool</span><span class="p">)</span>
-  <span class="n">names</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">stream_unary</span><span class="o">.</span><span class="n">inlines</span><span class="p">))</span>
-
-  <span class="n">stream_stream</span> <span class="o">=</span> <span class="n">_assemble</span><span class="p">(</span>
-      <span class="n">service</span><span class="o">.</span><span class="n">stream_stream_scenarios</span><span class="p">(),</span> <span class="n">names</span><span class="p">,</span> <span class="n">_InlineStreamStreamMethod</span><span class="p">,</span>
-      <span class="n">_EventStreamStreamMethod</span><span class="p">,</span> <span class="n">_IDENTITY</span><span class="p">,</span> <span class="n">control</span><span class="p">,</span> <span class="n">pool</span><span class="p">)</span>
-  <span class="n">names</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">stream_stream</span><span class="o">.</span><span class="n">inlines</span><span class="p">))</span>
-
-  <span class="n">methods</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">unary_unary</span><span class="o">.</span><span class="n">methods</span><span class="p">)</span>
-  <span class="n">methods</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">unary_stream</span><span class="o">.</span><span class="n">methods</span><span class="p">)</span>
-  <span class="n">methods</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">stream_unary</span><span class="o">.</span><span class="n">methods</span><span class="p">)</span>
-  <span class="n">methods</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">stream_stream</span><span class="o">.</span><span class="n">methods</span><span class="p">)</span>
-  <span class="n">adaptations</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">unary_unary</span><span class="o">.</span><span class="n">adaptations</span><span class="p">)</span>
-  <span class="n">adaptations</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">unary_stream</span><span class="o">.</span><span class="n">adaptations</span><span class="p">)</span>
-  <span class="n">adaptations</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">stream_unary</span><span class="o">.</span><span class="n">adaptations</span><span class="p">)</span>
-  <span class="n">adaptations</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">stream_stream</span><span class="o">.</span><span class="n">adaptations</span><span class="p">)</span>
-  <span class="n">inlines</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">unary_unary</span><span class="o">.</span><span class="n">inlines</span><span class="p">)</span>
-  <span class="n">inlines</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">unary_stream</span><span class="o">.</span><span class="n">inlines</span><span class="p">)</span>
-  <span class="n">inlines</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">stream_unary</span><span class="o">.</span><span class="n">inlines</span><span class="p">)</span>
-  <span class="n">inlines</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">stream_stream</span><span class="o">.</span><span class="n">inlines</span><span class="p">)</span>
-  <span class="n">events</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">unary_unary</span><span class="o">.</span><span class="n">events</span><span class="p">)</span>
-  <span class="n">events</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">unary_stream</span><span class="o">.</span><span class="n">events</span><span class="p">)</span>
-  <span class="n">events</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">stream_unary</span><span class="o">.</span><span class="n">events</span><span class="p">)</span>
-  <span class="n">events</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">stream_stream</span><span class="o">.</span><span class="n">events</span><span class="p">)</span>
-
-  <span class="k">return</span> <span class="n">TestServiceDigest</span><span class="p">(</span>
-      <span class="n">service</span><span class="o">.</span><span class="n">name</span><span class="p">(),</span>
-      <span class="n">methods</span><span class="p">,</span>
-      <span class="n">inlines</span><span class="p">,</span>
-      <span class="n">events</span><span class="p">,</span>
-      <span class="n">_MultiMethodImplementation</span><span class="p">(</span><span class="n">adaptations</span><span class="p">,</span> <span class="n">control</span><span class="p">,</span> <span class="n">pool</span><span class="p">),</span>
-      <span class="n">unary_unary</span><span class="o">.</span><span class="n">messages</span><span class="p">,</span>
-      <span class="n">unary_stream</span><span class="o">.</span><span class="n">messages</span><span class="p">,</span>
-      <span class="n">stream_unary</span><span class="o">.</span><span class="n">messages</span><span class="p">,</span>
-      <span class="n">stream_stream</span><span class="o">.</span><span class="n">messages</span><span class="p">)</span></div>
-</pre></div>
-
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2015, Author.
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../../',
-            VERSION:'0.10.0a0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>

+ 0 - 551
python/_modules/grpc/framework/face/testing/event_invocation_synchronous_event_service_test_case.html

@@ -1,551 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case &mdash; grpcio 0.10.0a0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../../index.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-nav-search">
-        
-
-        
-          <a href="../../../../../index.html" class="icon icon-home"> grpcio
-        
-
-        
-        </a>
-
-        
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-        
-      </div>
-
-      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-        
-          
-          
-              <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../grpc.html">grpc package</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#subpackages">Subpackages</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.framework.html">grpc.framework package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#subpackages">Subpackages</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#module-grpc">Module contents</a></li>
-</ul>
-</li>
-</ul>
-
-          
-        
-      </div>
-      &nbsp;
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../../index.html">grpcio</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          <div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document">
-            
-  <h1>Source code for grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case</h1><div class="highlight"><pre>
-<span class="c"># Copyright 2015, Google Inc.</span>
-<span class="c"># All rights reserved.</span>
-<span class="c">#</span>
-<span class="c"># Redistribution and use in source and binary forms, with or without</span>
-<span class="c"># modification, are permitted provided that the following conditions are</span>
-<span class="c"># met:</span>
-<span class="c">#</span>
-<span class="c">#     * Redistributions of source code must retain the above copyright</span>
-<span class="c"># notice, this list of conditions and the following disclaimer.</span>
-<span class="c">#     * Redistributions in binary form must reproduce the above</span>
-<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
-<span class="c"># in the documentation and/or other materials provided with the</span>
-<span class="c"># distribution.</span>
-<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
-<span class="c"># contributors may be used to endorse or promote products derived from</span>
-<span class="c"># this software without specific prior written permission.</span>
-<span class="c">#</span>
-<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
-<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
-<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
-<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
-<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
-<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
-<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-
-<span class="sd">&quot;&quot;&quot;A test to verify an implementation of the Face layer of RPC Framework.&quot;&quot;&quot;</span>
-
-<span class="kn">import</span> <span class="nn">abc</span>
-<span class="kn">import</span> <span class="nn">unittest</span>
-
-<span class="kn">from</span> <span class="nn">grpc.framework.face</span> <span class="kn">import</span> <span class="n">interfaces</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">callback</span> <span class="k">as</span> <span class="n">testing_callback</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">control</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">coverage</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">digest</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">stock_service</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">test_case</span>
-
-<span class="n">_TIMEOUT</span> <span class="o">=</span> <span class="mi">3</span>
-
-
-<div class="viewcode-block" id="EventInvocationSynchronousEventServiceTestCase"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case.EventInvocationSynchronousEventServiceTestCase">[docs]</a><span class="k">class</span> <span class="nc">EventInvocationSynchronousEventServiceTestCase</span><span class="p">(</span>
-    <span class="n">test_case</span><span class="o">.</span><span class="n">FaceTestCase</span><span class="p">,</span> <span class="n">coverage</span><span class="o">.</span><span class="n">FullCoverage</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A test of the Face layer of RPC Framework.</span>
-
-<span class="sd">  Concrete subclasses must also extend unittest.TestCase.</span>
-<span class="sd">  &quot;&quot;&quot;</span>
-  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
-
-<div class="viewcode-block" id="EventInvocationSynchronousEventServiceTestCase.setUp"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case.EventInvocationSynchronousEventServiceTestCase.setUp">[docs]</a>  <span class="k">def</span> <span class="nf">setUp</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;See unittest.TestCase.setUp for full specification.</span>
-
-<span class="sd">    Overriding implementations must call this implementation.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">control</span> <span class="o">=</span> <span class="n">control</span><span class="o">.</span><span class="n">PauseFailControl</span><span class="p">()</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">digest</span> <span class="o">=</span> <span class="n">digest</span><span class="o">.</span><span class="n">digest</span><span class="p">(</span>
-        <span class="n">stock_service</span><span class="o">.</span><span class="n">STOCK_TEST_SERVICE</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
-
-    <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">memo</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">set_up_implementation</span><span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">methods</span><span class="p">,</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">event_method_implementations</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="EventInvocationSynchronousEventServiceTestCase.tearDown"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case.EventInvocationSynchronousEventServiceTestCase.tearDown">[docs]</a>  <span class="k">def</span> <span class="nf">tearDown</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;See unittest.TestCase.tearDown for full specification.</span>
-
-<span class="sd">    Overriding implementations must call this implementation.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">tear_down_implementation</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">memo</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="EventInvocationSynchronousEventServiceTestCase.testSuccessfulUnaryRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case.EventInvocationSynchronousEventServiceTestCase.testSuccessfulUnaryRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testSuccessfulUnaryRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-        <span class="n">callback</span> <span class="o">=</span> <span class="n">testing_callback</span><span class="o">.</span><span class="n">Callback</span><span class="p">()</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">event_value_in_value_out</span><span class="p">(</span>
-            <span class="n">name</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">complete</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abort</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-        <span class="n">callback</span><span class="o">.</span><span class="n">block_until_terminated</span><span class="p">()</span>
-        <span class="n">response</span> <span class="o">=</span> <span class="n">callback</span><span class="o">.</span><span class="n">response</span><span class="p">()</span>
-
-        <span class="n">test_messages</span><span class="o">.</span><span class="n">verify</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">response</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="EventInvocationSynchronousEventServiceTestCase.testSuccessfulUnaryRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case.EventInvocationSynchronousEventServiceTestCase.testSuccessfulUnaryRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testSuccessfulUnaryRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_stream_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-        <span class="n">callback</span> <span class="o">=</span> <span class="n">testing_callback</span><span class="o">.</span><span class="n">Callback</span><span class="p">()</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">event_value_in_stream_out</span><span class="p">(</span>
-            <span class="n">name</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">callback</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abort</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-        <span class="n">callback</span><span class="o">.</span><span class="n">block_until_terminated</span><span class="p">()</span>
-        <span class="n">responses</span> <span class="o">=</span> <span class="n">callback</span><span class="o">.</span><span class="n">responses</span><span class="p">()</span>
-
-        <span class="n">test_messages</span><span class="o">.</span><span class="n">verify</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">responses</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="EventInvocationSynchronousEventServiceTestCase.testSuccessfulStreamRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case.EventInvocationSynchronousEventServiceTestCase.testSuccessfulStreamRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testSuccessfulStreamRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">stream_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">requests</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">requests</span><span class="p">()</span>
-        <span class="n">callback</span> <span class="o">=</span> <span class="n">testing_callback</span><span class="o">.</span><span class="n">Callback</span><span class="p">()</span>
-
-        <span class="n">unused_call</span><span class="p">,</span> <span class="n">request_consumer</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">event_stream_in_value_out</span><span class="p">(</span>
-            <span class="n">name</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">complete</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abort</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-        <span class="k">for</span> <span class="n">request</span> <span class="ow">in</span> <span class="n">requests</span><span class="p">:</span>
-          <span class="n">request_consumer</span><span class="o">.</span><span class="n">consume</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
-        <span class="n">request_consumer</span><span class="o">.</span><span class="n">terminate</span><span class="p">()</span>
-        <span class="n">callback</span><span class="o">.</span><span class="n">block_until_terminated</span><span class="p">()</span>
-        <span class="n">response</span> <span class="o">=</span> <span class="n">callback</span><span class="o">.</span><span class="n">response</span><span class="p">()</span>
-
-        <span class="n">test_messages</span><span class="o">.</span><span class="n">verify</span><span class="p">(</span><span class="n">requests</span><span class="p">,</span> <span class="n">response</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="EventInvocationSynchronousEventServiceTestCase.testSuccessfulStreamRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case.EventInvocationSynchronousEventServiceTestCase.testSuccessfulStreamRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testSuccessfulStreamRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">stream_stream_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">requests</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">requests</span><span class="p">()</span>
-        <span class="n">callback</span> <span class="o">=</span> <span class="n">testing_callback</span><span class="o">.</span><span class="n">Callback</span><span class="p">()</span>
-
-        <span class="n">unused_call</span><span class="p">,</span> <span class="n">request_consumer</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">event_stream_in_stream_out</span><span class="p">(</span>
-            <span class="n">name</span><span class="p">,</span> <span class="n">callback</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abort</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-        <span class="k">for</span> <span class="n">request</span> <span class="ow">in</span> <span class="n">requests</span><span class="p">:</span>
-          <span class="n">request_consumer</span><span class="o">.</span><span class="n">consume</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
-        <span class="n">request_consumer</span><span class="o">.</span><span class="n">terminate</span><span class="p">()</span>
-        <span class="n">callback</span><span class="o">.</span><span class="n">block_until_terminated</span><span class="p">()</span>
-        <span class="n">responses</span> <span class="o">=</span> <span class="n">callback</span><span class="o">.</span><span class="n">responses</span><span class="p">()</span>
-
-        <span class="n">test_messages</span><span class="o">.</span><span class="n">verify</span><span class="p">(</span><span class="n">requests</span><span class="p">,</span> <span class="n">responses</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="EventInvocationSynchronousEventServiceTestCase.testSequentialInvocations"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case.EventInvocationSynchronousEventServiceTestCase.testSequentialInvocations">[docs]</a>  <span class="k">def</span> <span class="nf">testSequentialInvocations</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="c"># pylint: disable=cell-var-from-loop</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">first_request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-        <span class="n">second_request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-        <span class="n">first_callback</span> <span class="o">=</span> <span class="n">testing_callback</span><span class="o">.</span><span class="n">Callback</span><span class="p">()</span>
-        <span class="n">second_callback</span> <span class="o">=</span> <span class="n">testing_callback</span><span class="o">.</span><span class="n">Callback</span><span class="p">()</span>
-
-        <span class="k">def</span> <span class="nf">make_second_invocation</span><span class="p">(</span><span class="n">first_response</span><span class="p">):</span>
-          <span class="n">first_callback</span><span class="o">.</span><span class="n">complete</span><span class="p">(</span><span class="n">first_response</span><span class="p">)</span>
-          <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">event_value_in_value_out</span><span class="p">(</span>
-              <span class="n">name</span><span class="p">,</span> <span class="n">second_request</span><span class="p">,</span> <span class="n">second_callback</span><span class="o">.</span><span class="n">complete</span><span class="p">,</span>
-              <span class="n">second_callback</span><span class="o">.</span><span class="n">abort</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">event_value_in_value_out</span><span class="p">(</span>
-            <span class="n">name</span><span class="p">,</span> <span class="n">first_request</span><span class="p">,</span> <span class="n">make_second_invocation</span><span class="p">,</span> <span class="n">first_callback</span><span class="o">.</span><span class="n">abort</span><span class="p">,</span>
-            <span class="n">_TIMEOUT</span><span class="p">)</span>
-        <span class="n">second_callback</span><span class="o">.</span><span class="n">block_until_terminated</span><span class="p">()</span>
-
-        <span class="n">first_response</span> <span class="o">=</span> <span class="n">first_callback</span><span class="o">.</span><span class="n">response</span><span class="p">()</span>
-        <span class="n">second_response</span> <span class="o">=</span> <span class="n">second_callback</span><span class="o">.</span><span class="n">response</span><span class="p">()</span>
-        <span class="n">test_messages</span><span class="o">.</span><span class="n">verify</span><span class="p">(</span><span class="n">first_request</span><span class="p">,</span> <span class="n">first_response</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
-        <span class="n">test_messages</span><span class="o">.</span><span class="n">verify</span><span class="p">(</span><span class="n">second_request</span><span class="p">,</span> <span class="n">second_response</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="EventInvocationSynchronousEventServiceTestCase.testExpiredUnaryRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case.EventInvocationSynchronousEventServiceTestCase.testExpiredUnaryRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testExpiredUnaryRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-        <span class="n">callback</span> <span class="o">=</span> <span class="n">testing_callback</span><span class="o">.</span><span class="n">Callback</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">pause</span><span class="p">():</span>
-          <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">event_value_in_value_out</span><span class="p">(</span>
-              <span class="n">name</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">complete</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abort</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-          <span class="n">callback</span><span class="o">.</span><span class="n">block_until_terminated</span><span class="p">()</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Abortion</span><span class="o">.</span><span class="n">EXPIRED</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abortion</span><span class="p">())</span>
-</div>
-<div class="viewcode-block" id="EventInvocationSynchronousEventServiceTestCase.testExpiredUnaryRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case.EventInvocationSynchronousEventServiceTestCase.testExpiredUnaryRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testExpiredUnaryRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_stream_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-        <span class="n">callback</span> <span class="o">=</span> <span class="n">testing_callback</span><span class="o">.</span><span class="n">Callback</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">pause</span><span class="p">():</span>
-          <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">event_value_in_stream_out</span><span class="p">(</span>
-              <span class="n">name</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">callback</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abort</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-          <span class="n">callback</span><span class="o">.</span><span class="n">block_until_terminated</span><span class="p">()</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Abortion</span><span class="o">.</span><span class="n">EXPIRED</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abortion</span><span class="p">())</span>
-</div>
-<div class="viewcode-block" id="EventInvocationSynchronousEventServiceTestCase.testExpiredStreamRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case.EventInvocationSynchronousEventServiceTestCase.testExpiredStreamRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testExpiredStreamRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">stream_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">unused_test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">callback</span> <span class="o">=</span> <span class="n">testing_callback</span><span class="o">.</span><span class="n">Callback</span><span class="p">()</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">event_stream_in_value_out</span><span class="p">(</span>
-            <span class="n">name</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">complete</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abort</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-        <span class="n">callback</span><span class="o">.</span><span class="n">block_until_terminated</span><span class="p">()</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Abortion</span><span class="o">.</span><span class="n">EXPIRED</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abortion</span><span class="p">())</span>
-</div>
-<div class="viewcode-block" id="EventInvocationSynchronousEventServiceTestCase.testExpiredStreamRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case.EventInvocationSynchronousEventServiceTestCase.testExpiredStreamRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testExpiredStreamRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">stream_stream_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">requests</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">requests</span><span class="p">()</span>
-        <span class="n">callback</span> <span class="o">=</span> <span class="n">testing_callback</span><span class="o">.</span><span class="n">Callback</span><span class="p">()</span>
-
-        <span class="n">unused_call</span><span class="p">,</span> <span class="n">request_consumer</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">event_stream_in_stream_out</span><span class="p">(</span>
-            <span class="n">name</span><span class="p">,</span> <span class="n">callback</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abort</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-        <span class="k">for</span> <span class="n">request</span> <span class="ow">in</span> <span class="n">requests</span><span class="p">:</span>
-          <span class="n">request_consumer</span><span class="o">.</span><span class="n">consume</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
-        <span class="n">callback</span><span class="o">.</span><span class="n">block_until_terminated</span><span class="p">()</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Abortion</span><span class="o">.</span><span class="n">EXPIRED</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abortion</span><span class="p">())</span>
-</div>
-<div class="viewcode-block" id="EventInvocationSynchronousEventServiceTestCase.testFailedUnaryRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case.EventInvocationSynchronousEventServiceTestCase.testFailedUnaryRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testFailedUnaryRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-        <span class="n">callback</span> <span class="o">=</span> <span class="n">testing_callback</span><span class="o">.</span><span class="n">Callback</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">fail</span><span class="p">():</span>
-          <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">event_value_in_value_out</span><span class="p">(</span>
-              <span class="n">name</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">complete</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abort</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-          <span class="n">callback</span><span class="o">.</span><span class="n">block_until_terminated</span><span class="p">()</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Abortion</span><span class="o">.</span><span class="n">SERVICER_FAILURE</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abortion</span><span class="p">())</span>
-</div>
-<div class="viewcode-block" id="EventInvocationSynchronousEventServiceTestCase.testFailedUnaryRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case.EventInvocationSynchronousEventServiceTestCase.testFailedUnaryRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testFailedUnaryRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_stream_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-        <span class="n">callback</span> <span class="o">=</span> <span class="n">testing_callback</span><span class="o">.</span><span class="n">Callback</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">fail</span><span class="p">():</span>
-          <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">event_value_in_stream_out</span><span class="p">(</span>
-              <span class="n">name</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">callback</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abort</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-          <span class="n">callback</span><span class="o">.</span><span class="n">block_until_terminated</span><span class="p">()</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Abortion</span><span class="o">.</span><span class="n">SERVICER_FAILURE</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abortion</span><span class="p">())</span>
-</div>
-<div class="viewcode-block" id="EventInvocationSynchronousEventServiceTestCase.testFailedStreamRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case.EventInvocationSynchronousEventServiceTestCase.testFailedStreamRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testFailedStreamRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">stream_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">requests</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">requests</span><span class="p">()</span>
-        <span class="n">callback</span> <span class="o">=</span> <span class="n">testing_callback</span><span class="o">.</span><span class="n">Callback</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">fail</span><span class="p">():</span>
-          <span class="n">unused_call</span><span class="p">,</span> <span class="n">request_consumer</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">event_stream_in_value_out</span><span class="p">(</span>
-              <span class="n">name</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">complete</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abort</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-          <span class="k">for</span> <span class="n">request</span> <span class="ow">in</span> <span class="n">requests</span><span class="p">:</span>
-            <span class="n">request_consumer</span><span class="o">.</span><span class="n">consume</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
-          <span class="n">request_consumer</span><span class="o">.</span><span class="n">terminate</span><span class="p">()</span>
-          <span class="n">callback</span><span class="o">.</span><span class="n">block_until_terminated</span><span class="p">()</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Abortion</span><span class="o">.</span><span class="n">SERVICER_FAILURE</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abortion</span><span class="p">())</span>
-</div>
-<div class="viewcode-block" id="EventInvocationSynchronousEventServiceTestCase.testFailedStreamRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case.EventInvocationSynchronousEventServiceTestCase.testFailedStreamRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testFailedStreamRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">stream_stream_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">requests</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">requests</span><span class="p">()</span>
-        <span class="n">callback</span> <span class="o">=</span> <span class="n">testing_callback</span><span class="o">.</span><span class="n">Callback</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">fail</span><span class="p">():</span>
-          <span class="n">unused_call</span><span class="p">,</span> <span class="n">request_consumer</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">event_stream_in_stream_out</span><span class="p">(</span>
-              <span class="n">name</span><span class="p">,</span> <span class="n">callback</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abort</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-          <span class="k">for</span> <span class="n">request</span> <span class="ow">in</span> <span class="n">requests</span><span class="p">:</span>
-            <span class="n">request_consumer</span><span class="o">.</span><span class="n">consume</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
-          <span class="n">request_consumer</span><span class="o">.</span><span class="n">terminate</span><span class="p">()</span>
-          <span class="n">callback</span><span class="o">.</span><span class="n">block_until_terminated</span><span class="p">()</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Abortion</span><span class="o">.</span><span class="n">SERVICER_FAILURE</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abortion</span><span class="p">())</span>
-</div>
-<div class="viewcode-block" id="EventInvocationSynchronousEventServiceTestCase.testParallelInvocations"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case.EventInvocationSynchronousEventServiceTestCase.testParallelInvocations">[docs]</a>  <span class="k">def</span> <span class="nf">testParallelInvocations</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">first_request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-        <span class="n">first_callback</span> <span class="o">=</span> <span class="n">testing_callback</span><span class="o">.</span><span class="n">Callback</span><span class="p">()</span>
-        <span class="n">second_request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-        <span class="n">second_callback</span> <span class="o">=</span> <span class="n">testing_callback</span><span class="o">.</span><span class="n">Callback</span><span class="p">()</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">event_value_in_value_out</span><span class="p">(</span>
-            <span class="n">name</span><span class="p">,</span> <span class="n">first_request</span><span class="p">,</span> <span class="n">first_callback</span><span class="o">.</span><span class="n">complete</span><span class="p">,</span> <span class="n">first_callback</span><span class="o">.</span><span class="n">abort</span><span class="p">,</span>
-            <span class="n">_TIMEOUT</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">event_value_in_value_out</span><span class="p">(</span>
-            <span class="n">name</span><span class="p">,</span> <span class="n">second_request</span><span class="p">,</span> <span class="n">second_callback</span><span class="o">.</span><span class="n">complete</span><span class="p">,</span>
-            <span class="n">second_callback</span><span class="o">.</span><span class="n">abort</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-        <span class="n">first_callback</span><span class="o">.</span><span class="n">block_until_terminated</span><span class="p">()</span>
-        <span class="n">second_callback</span><span class="o">.</span><span class="n">block_until_terminated</span><span class="p">()</span>
-
-        <span class="n">first_response</span> <span class="o">=</span> <span class="n">first_callback</span><span class="o">.</span><span class="n">response</span><span class="p">()</span>
-        <span class="n">second_response</span> <span class="o">=</span> <span class="n">second_callback</span><span class="o">.</span><span class="n">response</span><span class="p">()</span>
-        <span class="n">test_messages</span><span class="o">.</span><span class="n">verify</span><span class="p">(</span><span class="n">first_request</span><span class="p">,</span> <span class="n">first_response</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
-        <span class="n">test_messages</span><span class="o">.</span><span class="n">verify</span><span class="p">(</span><span class="n">second_request</span><span class="p">,</span> <span class="n">second_response</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
-</div>
-  <span class="nd">@unittest.skip</span><span class="p">(</span><span class="s">&#39;TODO(nathaniel): implement.&#39;</span><span class="p">)</span>
-<div class="viewcode-block" id="EventInvocationSynchronousEventServiceTestCase.testWaitingForSomeButNotAllParallelInvocations"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case.EventInvocationSynchronousEventServiceTestCase.testWaitingForSomeButNotAllParallelInvocations">[docs]</a>  <span class="k">def</span> <span class="nf">testWaitingForSomeButNotAllParallelInvocations</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-<div class="viewcode-block" id="EventInvocationSynchronousEventServiceTestCase.testCancelledUnaryRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case.EventInvocationSynchronousEventServiceTestCase.testCancelledUnaryRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testCancelledUnaryRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-        <span class="n">callback</span> <span class="o">=</span> <span class="n">testing_callback</span><span class="o">.</span><span class="n">Callback</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">pause</span><span class="p">():</span>
-          <span class="n">call</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">event_value_in_value_out</span><span class="p">(</span>
-              <span class="n">name</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">complete</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abort</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-          <span class="n">call</span><span class="o">.</span><span class="n">cancel</span><span class="p">()</span>
-          <span class="n">callback</span><span class="o">.</span><span class="n">block_until_terminated</span><span class="p">()</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Abortion</span><span class="o">.</span><span class="n">CANCELLED</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abortion</span><span class="p">())</span>
-</div>
-<div class="viewcode-block" id="EventInvocationSynchronousEventServiceTestCase.testCancelledUnaryRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case.EventInvocationSynchronousEventServiceTestCase.testCancelledUnaryRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testCancelledUnaryRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_stream_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-        <span class="n">callback</span> <span class="o">=</span> <span class="n">testing_callback</span><span class="o">.</span><span class="n">Callback</span><span class="p">()</span>
-
-        <span class="n">call</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">event_value_in_stream_out</span><span class="p">(</span>
-            <span class="n">name</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">callback</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abort</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-        <span class="n">call</span><span class="o">.</span><span class="n">cancel</span><span class="p">()</span>
-        <span class="n">callback</span><span class="o">.</span><span class="n">block_until_terminated</span><span class="p">()</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Abortion</span><span class="o">.</span><span class="n">CANCELLED</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abortion</span><span class="p">())</span>
-</div>
-<div class="viewcode-block" id="EventInvocationSynchronousEventServiceTestCase.testCancelledStreamRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case.EventInvocationSynchronousEventServiceTestCase.testCancelledStreamRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testCancelledStreamRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">stream_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">requests</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">requests</span><span class="p">()</span>
-        <span class="n">callback</span> <span class="o">=</span> <span class="n">testing_callback</span><span class="o">.</span><span class="n">Callback</span><span class="p">()</span>
-
-        <span class="n">call</span><span class="p">,</span> <span class="n">request_consumer</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">event_stream_in_value_out</span><span class="p">(</span>
-            <span class="n">name</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">complete</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abort</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-        <span class="k">for</span> <span class="n">request</span> <span class="ow">in</span> <span class="n">requests</span><span class="p">:</span>
-          <span class="n">request_consumer</span><span class="o">.</span><span class="n">consume</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
-        <span class="n">call</span><span class="o">.</span><span class="n">cancel</span><span class="p">()</span>
-        <span class="n">callback</span><span class="o">.</span><span class="n">block_until_terminated</span><span class="p">()</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Abortion</span><span class="o">.</span><span class="n">CANCELLED</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abortion</span><span class="p">())</span>
-</div>
-<div class="viewcode-block" id="EventInvocationSynchronousEventServiceTestCase.testCancelledStreamRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case.EventInvocationSynchronousEventServiceTestCase.testCancelledStreamRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testCancelledStreamRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">stream_stream_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">unused_test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">callback</span> <span class="o">=</span> <span class="n">testing_callback</span><span class="o">.</span><span class="n">Callback</span><span class="p">()</span>
-
-        <span class="n">call</span><span class="p">,</span> <span class="n">unused_request_consumer</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">event_stream_in_stream_out</span><span class="p">(</span>
-            <span class="n">name</span><span class="p">,</span> <span class="n">callback</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abort</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-        <span class="n">call</span><span class="o">.</span><span class="n">cancel</span><span class="p">()</span>
-        <span class="n">callback</span><span class="o">.</span><span class="n">block_until_terminated</span><span class="p">()</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Abortion</span><span class="o">.</span><span class="n">CANCELLED</span><span class="p">,</span> <span class="n">callback</span><span class="o">.</span><span class="n">abortion</span><span class="p">())</span></div></div>
-</pre></div>
-
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2015, Author.
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../../',
-            VERSION:'0.10.0a0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>

+ 0 - 565
python/_modules/grpc/framework/face/testing/future_invocation_asynchronous_event_service_test_case.html

@@ -1,565 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case &mdash; grpcio 0.10.0a0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../../index.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-nav-search">
-        
-
-        
-          <a href="../../../../../index.html" class="icon icon-home"> grpcio
-        
-
-        
-        </a>
-
-        
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-        
-      </div>
-
-      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-        
-          
-          
-              <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../grpc.html">grpc package</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#subpackages">Subpackages</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.framework.html">grpc.framework package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#subpackages">Subpackages</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#module-grpc">Module contents</a></li>
-</ul>
-</li>
-</ul>
-
-          
-        
-      </div>
-      &nbsp;
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../../index.html">grpcio</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          <div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document">
-            
-  <h1>Source code for grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case</h1><div class="highlight"><pre>
-<span class="c"># Copyright 2015, Google Inc.</span>
-<span class="c"># All rights reserved.</span>
-<span class="c">#</span>
-<span class="c"># Redistribution and use in source and binary forms, with or without</span>
-<span class="c"># modification, are permitted provided that the following conditions are</span>
-<span class="c"># met:</span>
-<span class="c">#</span>
-<span class="c">#     * Redistributions of source code must retain the above copyright</span>
-<span class="c"># notice, this list of conditions and the following disclaimer.</span>
-<span class="c">#     * Redistributions in binary form must reproduce the above</span>
-<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
-<span class="c"># in the documentation and/or other materials provided with the</span>
-<span class="c"># distribution.</span>
-<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
-<span class="c"># contributors may be used to endorse or promote products derived from</span>
-<span class="c"># this software without specific prior written permission.</span>
-<span class="c">#</span>
-<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
-<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
-<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
-<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
-<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
-<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
-<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-
-<span class="sd">&quot;&quot;&quot;A test to verify an implementation of the Face layer of RPC Framework.&quot;&quot;&quot;</span>
-
-<span class="kn">import</span> <span class="nn">abc</span>
-<span class="kn">import</span> <span class="nn">contextlib</span>
-<span class="kn">import</span> <span class="nn">threading</span>
-<span class="kn">import</span> <span class="nn">unittest</span>
-
-<span class="kn">from</span> <span class="nn">grpc.framework.face</span> <span class="kn">import</span> <span class="n">exceptions</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">control</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">coverage</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">digest</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">stock_service</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">test_case</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.foundation</span> <span class="kn">import</span> <span class="n">future</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.foundation</span> <span class="kn">import</span> <span class="n">logging_pool</span>
-
-<span class="n">_TIMEOUT</span> <span class="o">=</span> <span class="mi">3</span>
-<span class="n">_MAXIMUM_POOL_SIZE</span> <span class="o">=</span> <span class="mi">10</span>
-
-
-<span class="k">class</span> <span class="nc">_PauseableIterator</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">upstream</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_upstream</span> <span class="o">=</span> <span class="n">upstream</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span> <span class="o">=</span> <span class="n">threading</span><span class="o">.</span><span class="n">Condition</span><span class="p">()</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_paused</span> <span class="o">=</span> <span class="bp">False</span>
-
-  <span class="nd">@contextlib.contextmanager</span>
-  <span class="k">def</span> <span class="nf">pause</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_paused</span> <span class="o">=</span> <span class="bp">True</span>
-    <span class="k">yield</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_paused</span> <span class="o">=</span> <span class="bp">False</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="o">.</span><span class="n">notify_all</span><span class="p">()</span>
-
-  <span class="k">def</span> <span class="nf">__iter__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">return</span> <span class="bp">self</span>
-
-  <span class="k">def</span> <span class="nf">next</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="k">while</span> <span class="bp">self</span><span class="o">.</span><span class="n">_paused</span><span class="p">:</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="o">.</span><span class="n">wait</span><span class="p">()</span>
-    <span class="k">return</span> <span class="nb">next</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_upstream</span><span class="p">)</span>
-
-
-<div class="viewcode-block" id="FutureInvocationAsynchronousEventServiceTestCase"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case.FutureInvocationAsynchronousEventServiceTestCase">[docs]</a><span class="k">class</span> <span class="nc">FutureInvocationAsynchronousEventServiceTestCase</span><span class="p">(</span>
-    <span class="n">test_case</span><span class="o">.</span><span class="n">FaceTestCase</span><span class="p">,</span> <span class="n">coverage</span><span class="o">.</span><span class="n">FullCoverage</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A test of the Face layer of RPC Framework.</span>
-
-<span class="sd">  Concrete subclasses must also extend unittest.TestCase.</span>
-<span class="sd">  &quot;&quot;&quot;</span>
-  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
-
-<div class="viewcode-block" id="FutureInvocationAsynchronousEventServiceTestCase.setUp"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case.FutureInvocationAsynchronousEventServiceTestCase.setUp">[docs]</a>  <span class="k">def</span> <span class="nf">setUp</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;See unittest.TestCase.setUp for full specification.</span>
-
-<span class="sd">    Overriding implementations must call this implementation.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">control</span> <span class="o">=</span> <span class="n">control</span><span class="o">.</span><span class="n">PauseFailControl</span><span class="p">()</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">digest_pool</span> <span class="o">=</span> <span class="n">logging_pool</span><span class="o">.</span><span class="n">pool</span><span class="p">(</span><span class="n">_MAXIMUM_POOL_SIZE</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">digest</span> <span class="o">=</span> <span class="n">digest</span><span class="o">.</span><span class="n">digest</span><span class="p">(</span>
-        <span class="n">stock_service</span><span class="o">.</span><span class="n">STOCK_TEST_SERVICE</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">digest_pool</span><span class="p">)</span>
-
-    <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">memo</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">set_up_implementation</span><span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">methods</span><span class="p">,</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">event_method_implementations</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="FutureInvocationAsynchronousEventServiceTestCase.tearDown"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case.FutureInvocationAsynchronousEventServiceTestCase.tearDown">[docs]</a>  <span class="k">def</span> <span class="nf">tearDown</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;See unittest.TestCase.tearDown for full specification.</span>
-
-<span class="sd">    Overriding implementations must call this implementation.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">tear_down_implementation</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">memo</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">digest_pool</span><span class="o">.</span><span class="n">shutdown</span><span class="p">(</span><span class="n">wait</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="FutureInvocationAsynchronousEventServiceTestCase.testSuccessfulUnaryRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case.FutureInvocationAsynchronousEventServiceTestCase.testSuccessfulUnaryRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testSuccessfulUnaryRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-
-        <span class="n">response_future</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">future_value_in_value_out</span><span class="p">(</span>
-            <span class="n">name</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-        <span class="n">response</span> <span class="o">=</span> <span class="n">response_future</span><span class="o">.</span><span class="n">result</span><span class="p">()</span>
-
-        <span class="n">test_messages</span><span class="o">.</span><span class="n">verify</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">response</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="FutureInvocationAsynchronousEventServiceTestCase.testSuccessfulUnaryRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case.FutureInvocationAsynchronousEventServiceTestCase.testSuccessfulUnaryRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testSuccessfulUnaryRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_stream_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-
-        <span class="n">response_iterator</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">inline_value_in_stream_out</span><span class="p">(</span>
-            <span class="n">name</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-        <span class="n">responses</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">response_iterator</span><span class="p">)</span>
-
-        <span class="n">test_messages</span><span class="o">.</span><span class="n">verify</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">responses</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="FutureInvocationAsynchronousEventServiceTestCase.testSuccessfulStreamRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case.FutureInvocationAsynchronousEventServiceTestCase.testSuccessfulStreamRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testSuccessfulStreamRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">stream_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">requests</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">requests</span><span class="p">()</span>
-        <span class="n">request_iterator</span> <span class="o">=</span> <span class="n">_PauseableIterator</span><span class="p">(</span><span class="nb">iter</span><span class="p">(</span><span class="n">requests</span><span class="p">))</span>
-
-        <span class="c"># Use of a paused iterator of requests allows us to test that control is</span>
-        <span class="c"># returned to calling code before the iterator yields any requests.</span>
-        <span class="k">with</span> <span class="n">request_iterator</span><span class="o">.</span><span class="n">pause</span><span class="p">():</span>
-          <span class="n">response_future</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">future_stream_in_value_out</span><span class="p">(</span>
-              <span class="n">name</span><span class="p">,</span> <span class="n">request_iterator</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-        <span class="n">response</span> <span class="o">=</span> <span class="n">response_future</span><span class="o">.</span><span class="n">result</span><span class="p">()</span>
-
-        <span class="n">test_messages</span><span class="o">.</span><span class="n">verify</span><span class="p">(</span><span class="n">requests</span><span class="p">,</span> <span class="n">response</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="FutureInvocationAsynchronousEventServiceTestCase.testSuccessfulStreamRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case.FutureInvocationAsynchronousEventServiceTestCase.testSuccessfulStreamRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testSuccessfulStreamRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">stream_stream_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">requests</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">requests</span><span class="p">()</span>
-        <span class="n">request_iterator</span> <span class="o">=</span> <span class="n">_PauseableIterator</span><span class="p">(</span><span class="nb">iter</span><span class="p">(</span><span class="n">requests</span><span class="p">))</span>
-
-        <span class="c"># Use of a paused iterator of requests allows us to test that control is</span>
-        <span class="c"># returned to calling code before the iterator yields any requests.</span>
-        <span class="k">with</span> <span class="n">request_iterator</span><span class="o">.</span><span class="n">pause</span><span class="p">():</span>
-          <span class="n">response_iterator</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">inline_stream_in_stream_out</span><span class="p">(</span>
-              <span class="n">name</span><span class="p">,</span> <span class="n">request_iterator</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-        <span class="n">responses</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">response_iterator</span><span class="p">)</span>
-
-        <span class="n">test_messages</span><span class="o">.</span><span class="n">verify</span><span class="p">(</span><span class="n">requests</span><span class="p">,</span> <span class="n">responses</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="FutureInvocationAsynchronousEventServiceTestCase.testSequentialInvocations"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case.FutureInvocationAsynchronousEventServiceTestCase.testSequentialInvocations">[docs]</a>  <span class="k">def</span> <span class="nf">testSequentialInvocations</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">first_request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-        <span class="n">second_request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-
-        <span class="n">first_response_future</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">future_value_in_value_out</span><span class="p">(</span>
-            <span class="n">name</span><span class="p">,</span> <span class="n">first_request</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-        <span class="n">first_response</span> <span class="o">=</span> <span class="n">first_response_future</span><span class="o">.</span><span class="n">result</span><span class="p">()</span>
-
-        <span class="n">test_messages</span><span class="o">.</span><span class="n">verify</span><span class="p">(</span><span class="n">first_request</span><span class="p">,</span> <span class="n">first_response</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
-
-        <span class="n">second_response_future</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">future_value_in_value_out</span><span class="p">(</span>
-            <span class="n">name</span><span class="p">,</span> <span class="n">second_request</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-        <span class="n">second_response</span> <span class="o">=</span> <span class="n">second_response_future</span><span class="o">.</span><span class="n">result</span><span class="p">()</span>
-
-        <span class="n">test_messages</span><span class="o">.</span><span class="n">verify</span><span class="p">(</span><span class="n">second_request</span><span class="p">,</span> <span class="n">second_response</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="FutureInvocationAsynchronousEventServiceTestCase.testExpiredUnaryRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case.FutureInvocationAsynchronousEventServiceTestCase.testExpiredUnaryRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testExpiredUnaryRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">pause</span><span class="p">():</span>
-          <span class="n">multi_callable</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">unary_unary_multi_callable</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
-          <span class="n">response_future</span> <span class="o">=</span> <span class="n">multi_callable</span><span class="o">.</span><span class="n">future</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-          <span class="bp">self</span><span class="o">.</span><span class="n">assertIsInstance</span><span class="p">(</span>
-              <span class="n">response_future</span><span class="o">.</span><span class="n">exception</span><span class="p">(),</span> <span class="n">exceptions</span><span class="o">.</span><span class="n">ExpirationError</span><span class="p">)</span>
-          <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">assertRaises</span><span class="p">(</span><span class="n">exceptions</span><span class="o">.</span><span class="n">ExpirationError</span><span class="p">):</span>
-            <span class="n">response_future</span><span class="o">.</span><span class="n">result</span><span class="p">()</span>
-</div>
-<div class="viewcode-block" id="FutureInvocationAsynchronousEventServiceTestCase.testExpiredUnaryRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case.FutureInvocationAsynchronousEventServiceTestCase.testExpiredUnaryRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testExpiredUnaryRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_stream_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">pause</span><span class="p">():</span>
-          <span class="n">response_iterator</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">inline_value_in_stream_out</span><span class="p">(</span>
-              <span class="n">name</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-          <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">assertRaises</span><span class="p">(</span><span class="n">exceptions</span><span class="o">.</span><span class="n">ExpirationError</span><span class="p">):</span>
-            <span class="nb">list</span><span class="p">(</span><span class="n">response_iterator</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="FutureInvocationAsynchronousEventServiceTestCase.testExpiredStreamRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case.FutureInvocationAsynchronousEventServiceTestCase.testExpiredStreamRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testExpiredStreamRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">stream_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">requests</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">requests</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">pause</span><span class="p">():</span>
-          <span class="n">multi_callable</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">stream_unary_multi_callable</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
-          <span class="n">response_future</span> <span class="o">=</span> <span class="n">multi_callable</span><span class="o">.</span><span class="n">future</span><span class="p">(</span><span class="nb">iter</span><span class="p">(</span><span class="n">requests</span><span class="p">),</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-          <span class="bp">self</span><span class="o">.</span><span class="n">assertIsInstance</span><span class="p">(</span>
-              <span class="n">response_future</span><span class="o">.</span><span class="n">exception</span><span class="p">(),</span> <span class="n">exceptions</span><span class="o">.</span><span class="n">ExpirationError</span><span class="p">)</span>
-          <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">assertRaises</span><span class="p">(</span><span class="n">exceptions</span><span class="o">.</span><span class="n">ExpirationError</span><span class="p">):</span>
-            <span class="n">response_future</span><span class="o">.</span><span class="n">result</span><span class="p">()</span>
-</div>
-<div class="viewcode-block" id="FutureInvocationAsynchronousEventServiceTestCase.testExpiredStreamRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case.FutureInvocationAsynchronousEventServiceTestCase.testExpiredStreamRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testExpiredStreamRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">stream_stream_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">requests</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">requests</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">pause</span><span class="p">():</span>
-          <span class="n">response_iterator</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">inline_stream_in_stream_out</span><span class="p">(</span>
-              <span class="n">name</span><span class="p">,</span> <span class="nb">iter</span><span class="p">(</span><span class="n">requests</span><span class="p">),</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-          <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">assertRaises</span><span class="p">(</span><span class="n">exceptions</span><span class="o">.</span><span class="n">ExpirationError</span><span class="p">):</span>
-            <span class="nb">list</span><span class="p">(</span><span class="n">response_iterator</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="FutureInvocationAsynchronousEventServiceTestCase.testFailedUnaryRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case.FutureInvocationAsynchronousEventServiceTestCase.testFailedUnaryRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testFailedUnaryRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">fail</span><span class="p">():</span>
-          <span class="n">response_future</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">future_value_in_value_out</span><span class="p">(</span>
-              <span class="n">name</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-
-          <span class="c"># Because the servicer fails outside of the thread from which the</span>
-          <span class="c"># servicer-side runtime called into it its failure is</span>
-          <span class="c"># indistinguishable from simply not having called its</span>
-          <span class="c"># response_callback before the expiration of the RPC.</span>
-          <span class="bp">self</span><span class="o">.</span><span class="n">assertIsInstance</span><span class="p">(</span>
-              <span class="n">response_future</span><span class="o">.</span><span class="n">exception</span><span class="p">(),</span> <span class="n">exceptions</span><span class="o">.</span><span class="n">ExpirationError</span><span class="p">)</span>
-          <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">assertRaises</span><span class="p">(</span><span class="n">exceptions</span><span class="o">.</span><span class="n">ExpirationError</span><span class="p">):</span>
-            <span class="n">response_future</span><span class="o">.</span><span class="n">result</span><span class="p">()</span>
-</div>
-<div class="viewcode-block" id="FutureInvocationAsynchronousEventServiceTestCase.testFailedUnaryRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case.FutureInvocationAsynchronousEventServiceTestCase.testFailedUnaryRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testFailedUnaryRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_stream_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-
-        <span class="c"># Because the servicer fails outside of the thread from which the</span>
-        <span class="c"># servicer-side runtime called into it its failure is indistinguishable</span>
-        <span class="c"># from simply not having called its response_consumer before the</span>
-        <span class="c"># expiration of the RPC.</span>
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">fail</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">assertRaises</span><span class="p">(</span><span class="n">exceptions</span><span class="o">.</span><span class="n">ExpirationError</span><span class="p">):</span>
-          <span class="n">response_iterator</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">inline_value_in_stream_out</span><span class="p">(</span>
-              <span class="n">name</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-          <span class="nb">list</span><span class="p">(</span><span class="n">response_iterator</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="FutureInvocationAsynchronousEventServiceTestCase.testFailedStreamRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case.FutureInvocationAsynchronousEventServiceTestCase.testFailedStreamRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testFailedStreamRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">stream_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">requests</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">requests</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">fail</span><span class="p">():</span>
-          <span class="n">response_future</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">future_stream_in_value_out</span><span class="p">(</span>
-              <span class="n">name</span><span class="p">,</span> <span class="nb">iter</span><span class="p">(</span><span class="n">requests</span><span class="p">),</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-
-          <span class="c"># Because the servicer fails outside of the thread from which the</span>
-          <span class="c"># servicer-side runtime called into it its failure is</span>
-          <span class="c"># indistinguishable from simply not having called its</span>
-          <span class="c"># response_callback before the expiration of the RPC.</span>
-          <span class="bp">self</span><span class="o">.</span><span class="n">assertIsInstance</span><span class="p">(</span>
-              <span class="n">response_future</span><span class="o">.</span><span class="n">exception</span><span class="p">(),</span> <span class="n">exceptions</span><span class="o">.</span><span class="n">ExpirationError</span><span class="p">)</span>
-          <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">assertRaises</span><span class="p">(</span><span class="n">exceptions</span><span class="o">.</span><span class="n">ExpirationError</span><span class="p">):</span>
-            <span class="n">response_future</span><span class="o">.</span><span class="n">result</span><span class="p">()</span>
-</div>
-<div class="viewcode-block" id="FutureInvocationAsynchronousEventServiceTestCase.testFailedStreamRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case.FutureInvocationAsynchronousEventServiceTestCase.testFailedStreamRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testFailedStreamRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">stream_stream_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">requests</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">requests</span><span class="p">()</span>
-
-        <span class="c"># Because the servicer fails outside of the thread from which the</span>
-        <span class="c"># servicer-side runtime called into it its failure is indistinguishable</span>
-        <span class="c"># from simply not having called its response_consumer before the</span>
-        <span class="c"># expiration of the RPC.</span>
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">fail</span><span class="p">(),</span> <span class="bp">self</span><span class="o">.</span><span class="n">assertRaises</span><span class="p">(</span><span class="n">exceptions</span><span class="o">.</span><span class="n">ExpirationError</span><span class="p">):</span>
-          <span class="n">response_iterator</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">inline_stream_in_stream_out</span><span class="p">(</span>
-              <span class="n">name</span><span class="p">,</span> <span class="nb">iter</span><span class="p">(</span><span class="n">requests</span><span class="p">),</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-          <span class="nb">list</span><span class="p">(</span><span class="n">response_iterator</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="FutureInvocationAsynchronousEventServiceTestCase.testParallelInvocations"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case.FutureInvocationAsynchronousEventServiceTestCase.testParallelInvocations">[docs]</a>  <span class="k">def</span> <span class="nf">testParallelInvocations</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">first_request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-        <span class="n">second_request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-
-        <span class="n">first_response_future</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">future_value_in_value_out</span><span class="p">(</span>
-            <span class="n">name</span><span class="p">,</span> <span class="n">first_request</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-        <span class="n">second_response_future</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">future_value_in_value_out</span><span class="p">(</span>
-            <span class="n">name</span><span class="p">,</span> <span class="n">second_request</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-        <span class="n">first_response</span> <span class="o">=</span> <span class="n">first_response_future</span><span class="o">.</span><span class="n">result</span><span class="p">()</span>
-        <span class="n">second_response</span> <span class="o">=</span> <span class="n">second_response_future</span><span class="o">.</span><span class="n">result</span><span class="p">()</span>
-
-        <span class="n">test_messages</span><span class="o">.</span><span class="n">verify</span><span class="p">(</span><span class="n">first_request</span><span class="p">,</span> <span class="n">first_response</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
-        <span class="n">test_messages</span><span class="o">.</span><span class="n">verify</span><span class="p">(</span><span class="n">second_request</span><span class="p">,</span> <span class="n">second_response</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
-</div>
-  <span class="nd">@unittest.skip</span><span class="p">(</span><span class="s">&#39;TODO(nathaniel): implement.&#39;</span><span class="p">)</span>
-<div class="viewcode-block" id="FutureInvocationAsynchronousEventServiceTestCase.testWaitingForSomeButNotAllParallelInvocations"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case.FutureInvocationAsynchronousEventServiceTestCase.testWaitingForSomeButNotAllParallelInvocations">[docs]</a>  <span class="k">def</span> <span class="nf">testWaitingForSomeButNotAllParallelInvocations</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-<div class="viewcode-block" id="FutureInvocationAsynchronousEventServiceTestCase.testCancelledUnaryRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case.FutureInvocationAsynchronousEventServiceTestCase.testCancelledUnaryRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testCancelledUnaryRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">pause</span><span class="p">():</span>
-          <span class="n">response_future</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">future_value_in_value_out</span><span class="p">(</span>
-              <span class="n">name</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-          <span class="n">cancel_method_return_value</span> <span class="o">=</span> <span class="n">response_future</span><span class="o">.</span><span class="n">cancel</span><span class="p">()</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span><span class="n">cancel_method_return_value</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">response_future</span><span class="o">.</span><span class="n">cancelled</span><span class="p">())</span>
-</div>
-<div class="viewcode-block" id="FutureInvocationAsynchronousEventServiceTestCase.testCancelledUnaryRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case.FutureInvocationAsynchronousEventServiceTestCase.testCancelledUnaryRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testCancelledUnaryRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">unary_stream_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">request</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">request</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">pause</span><span class="p">():</span>
-          <span class="n">response_iterator</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">inline_value_in_stream_out</span><span class="p">(</span>
-              <span class="n">name</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-          <span class="n">response_iterator</span><span class="o">.</span><span class="n">cancel</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">assertRaises</span><span class="p">(</span><span class="n">future</span><span class="o">.</span><span class="n">CancelledError</span><span class="p">):</span>
-          <span class="nb">next</span><span class="p">(</span><span class="n">response_iterator</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="FutureInvocationAsynchronousEventServiceTestCase.testCancelledStreamRequestUnaryResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case.FutureInvocationAsynchronousEventServiceTestCase.testCancelledStreamRequestUnaryResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testCancelledStreamRequestUnaryResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">stream_unary_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">requests</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">requests</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">pause</span><span class="p">():</span>
-          <span class="n">response_future</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">future_stream_in_value_out</span><span class="p">(</span>
-              <span class="n">name</span><span class="p">,</span> <span class="nb">iter</span><span class="p">(</span><span class="n">requests</span><span class="p">),</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-          <span class="n">cancel_method_return_value</span> <span class="o">=</span> <span class="n">response_future</span><span class="o">.</span><span class="n">cancel</span><span class="p">()</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span><span class="n">cancel_method_return_value</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">response_future</span><span class="o">.</span><span class="n">cancelled</span><span class="p">())</span>
-</div>
-<div class="viewcode-block" id="FutureInvocationAsynchronousEventServiceTestCase.testCancelledStreamRequestStreamResponse"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case.FutureInvocationAsynchronousEventServiceTestCase.testCancelledStreamRequestStreamResponse">[docs]</a>  <span class="k">def</span> <span class="nf">testCancelledStreamRequestStreamResponse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">test_messages_sequence</span> <span class="ow">in</span> <span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">digest</span><span class="o">.</span><span class="n">stream_stream_messages_sequences</span><span class="o">.</span><span class="n">iteritems</span><span class="p">()):</span>
-      <span class="k">for</span> <span class="n">test_messages</span> <span class="ow">in</span> <span class="n">test_messages_sequence</span><span class="p">:</span>
-        <span class="n">requests</span> <span class="o">=</span> <span class="n">test_messages</span><span class="o">.</span><span class="n">requests</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">control</span><span class="o">.</span><span class="n">pause</span><span class="p">():</span>
-          <span class="n">response_iterator</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stub</span><span class="o">.</span><span class="n">inline_stream_in_stream_out</span><span class="p">(</span>
-              <span class="n">name</span><span class="p">,</span> <span class="nb">iter</span><span class="p">(</span><span class="n">requests</span><span class="p">),</span> <span class="n">_TIMEOUT</span><span class="p">)</span>
-          <span class="n">response_iterator</span><span class="o">.</span><span class="n">cancel</span><span class="p">()</span>
-
-        <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">assertRaises</span><span class="p">(</span><span class="n">future</span><span class="o">.</span><span class="n">CancelledError</span><span class="p">):</span>
-          <span class="nb">next</span><span class="p">(</span><span class="n">response_iterator</span><span class="p">)</span></div></div>
-</pre></div>
-
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2015, Author.
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../../',
-            VERSION:'0.10.0a0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>

+ 0 - 306
python/_modules/grpc/framework/face/testing/interfaces.html

@@ -1,306 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>grpc.framework.face.testing.interfaces &mdash; grpcio 0.10.0a0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../../index.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-nav-search">
-        
-
-        
-          <a href="../../../../../index.html" class="icon icon-home"> grpcio
-        
-
-        
-        </a>
-
-        
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-        
-      </div>
-
-      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-        
-          
-          
-              <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../grpc.html">grpc package</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#subpackages">Subpackages</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.framework.html">grpc.framework package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#subpackages">Subpackages</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#module-grpc">Module contents</a></li>
-</ul>
-</li>
-</ul>
-
-          
-        
-      </div>
-      &nbsp;
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../../index.html">grpcio</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          <div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>grpc.framework.face.testing.interfaces</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document">
-            
-  <h1>Source code for grpc.framework.face.testing.interfaces</h1><div class="highlight"><pre>
-<span class="c"># Copyright 2015, Google Inc.</span>
-<span class="c"># All rights reserved.</span>
-<span class="c">#</span>
-<span class="c"># Redistribution and use in source and binary forms, with or without</span>
-<span class="c"># modification, are permitted provided that the following conditions are</span>
-<span class="c"># met:</span>
-<span class="c">#</span>
-<span class="c">#     * Redistributions of source code must retain the above copyright</span>
-<span class="c"># notice, this list of conditions and the following disclaimer.</span>
-<span class="c">#     * Redistributions in binary form must reproduce the above</span>
-<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
-<span class="c"># in the documentation and/or other materials provided with the</span>
-<span class="c"># distribution.</span>
-<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
-<span class="c"># contributors may be used to endorse or promote products derived from</span>
-<span class="c"># this software without specific prior written permission.</span>
-<span class="c">#</span>
-<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
-<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
-<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
-<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
-<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
-<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
-<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-
-<span class="sd">&quot;&quot;&quot;Interfaces implemented by data sets used in Face-layer tests.&quot;&quot;&quot;</span>
-
-<span class="kn">import</span> <span class="nn">abc</span>
-
-<span class="c"># cardinality is referenced from specification in this module.</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.common</span> <span class="kn">import</span> <span class="n">cardinality</span>  <span class="c"># pylint: disable=unused-import</span>
-
-
-<div class="viewcode-block" id="Method"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.interfaces.Method">[docs]</a><span class="k">class</span> <span class="nc">Method</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;An RPC method to be used in tests of RPC implementations.&quot;&quot;&quot;</span>
-  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
-
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Method.name"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.interfaces.Method.name">[docs]</a>  <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Identify the name of the method.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      The name of the method.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Method.cardinality"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.interfaces.Method.cardinality">[docs]</a>  <span class="k">def</span> <span class="nf">cardinality</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Identify the cardinality of the method.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      A cardinality.Cardinality value describing the streaming semantics of the</span>
-<span class="sd">        method.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Method.request_class"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.interfaces.Method.request_class">[docs]</a>  <span class="k">def</span> <span class="nf">request_class</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Identify the class used for the method&#39;s request objects.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      The class object of the class to which the method&#39;s request objects</span>
-<span class="sd">        belong.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Method.response_class"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.interfaces.Method.response_class">[docs]</a>  <span class="k">def</span> <span class="nf">response_class</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Identify the class used for the method&#39;s response objects.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      The class object of the class to which the method&#39;s response objects</span>
-<span class="sd">        belong.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Method.serialize_request"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.interfaces.Method.serialize_request">[docs]</a>  <span class="k">def</span> <span class="nf">serialize_request</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Serialize the given request object.</span>
-
-<span class="sd">    Args:</span>
-<span class="sd">      request: A request object appropriate for this method.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Method.deserialize_request"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.interfaces.Method.deserialize_request">[docs]</a>  <span class="k">def</span> <span class="nf">deserialize_request</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">serialized_request</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Synthesize a request object from a given bytestring.</span>
-
-<span class="sd">    Args:</span>
-<span class="sd">      serialized_request: A bytestring deserializable into a request object</span>
-<span class="sd">        appropriate for this method.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Method.serialize_response"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.interfaces.Method.serialize_response">[docs]</a>  <span class="k">def</span> <span class="nf">serialize_response</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Serialize the given response object.</span>
-
-<span class="sd">    Args:</span>
-<span class="sd">      response: A response object appropriate for this method.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="Method.deserialize_response"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.interfaces.Method.deserialize_response">[docs]</a>  <span class="k">def</span> <span class="nf">deserialize_response</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">serialized_response</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Synthesize a response object from a given bytestring.</span>
-
-<span class="sd">    Args:</span>
-<span class="sd">      serialized_response: A bytestring deserializable into a response object</span>
-<span class="sd">        appropriate for this method.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span></div></div>
-</pre></div>
-
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2015, Author.
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../../',
-            VERSION:'0.10.0a0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>

+ 0 - 526
python/_modules/grpc/framework/face/testing/service.html

@@ -1,526 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>grpc.framework.face.testing.service &mdash; grpcio 0.10.0a0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../../index.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-nav-search">
-        
-
-        
-          <a href="../../../../../index.html" class="icon icon-home"> grpcio
-        
-
-        
-        </a>
-
-        
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-        
-      </div>
-
-      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-        
-          
-          
-              <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../grpc.html">grpc package</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#subpackages">Subpackages</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.framework.html">grpc.framework package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#subpackages">Subpackages</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#module-grpc">Module contents</a></li>
-</ul>
-</li>
-</ul>
-
-          
-        
-      </div>
-      &nbsp;
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../../index.html">grpcio</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          <div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>grpc.framework.face.testing.service</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document">
-            
-  <h1>Source code for grpc.framework.face.testing.service</h1><div class="highlight"><pre>
-<span class="c"># Copyright 2015, Google Inc.</span>
-<span class="c"># All rights reserved.</span>
-<span class="c">#</span>
-<span class="c"># Redistribution and use in source and binary forms, with or without</span>
-<span class="c"># modification, are permitted provided that the following conditions are</span>
-<span class="c"># met:</span>
-<span class="c">#</span>
-<span class="c">#     * Redistributions of source code must retain the above copyright</span>
-<span class="c"># notice, this list of conditions and the following disclaimer.</span>
-<span class="c">#     * Redistributions in binary form must reproduce the above</span>
-<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
-<span class="c"># in the documentation and/or other materials provided with the</span>
-<span class="c"># distribution.</span>
-<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
-<span class="c"># contributors may be used to endorse or promote products derived from</span>
-<span class="c"># this software without specific prior written permission.</span>
-<span class="c">#</span>
-<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
-<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
-<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
-<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
-<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
-<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
-<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-
-<span class="sd">&quot;&quot;&quot;Private interfaces implemented by data sets used in Face-layer tests.&quot;&quot;&quot;</span>
-
-<span class="kn">import</span> <span class="nn">abc</span>
-
-<span class="c"># interfaces is referenced from specification in this module.</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face</span> <span class="kn">import</span> <span class="n">interfaces</span> <span class="k">as</span> <span class="n">face_interfaces</span>  <span class="c"># pylint: disable=unused-import</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">interfaces</span>
-
-
-<div class="viewcode-block" id="UnaryUnaryTestMethodImplementation"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.UnaryUnaryTestMethodImplementation">[docs]</a><span class="k">class</span> <span class="nc">UnaryUnaryTestMethodImplementation</span><span class="p">(</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Method</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A controllable implementation of a unary-unary RPC method.&quot;&quot;&quot;</span>
-
-  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
-
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="UnaryUnaryTestMethodImplementation.service"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.UnaryUnaryTestMethodImplementation.service">[docs]</a>  <span class="k">def</span> <span class="nf">service</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">response_callback</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">control</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Services an RPC that accepts one message and produces one message.</span>
-
-<span class="sd">    Args:</span>
-<span class="sd">      request: The single request message for the RPC.</span>
-<span class="sd">      response_callback: A callback to be called to accept the response message</span>
-<span class="sd">        of the RPC.</span>
-<span class="sd">      context: An face_interfaces.RpcContext object.</span>
-<span class="sd">      control: A test_control.Control to control execution of this method.</span>
-
-<span class="sd">    Raises:</span>
-<span class="sd">      abandonment.Abandoned: May or may not be raised when the RPC has been</span>
-<span class="sd">        aborted.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-
-</div></div>
-<div class="viewcode-block" id="UnaryUnaryTestMessages"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.UnaryUnaryTestMessages">[docs]</a><span class="k">class</span> <span class="nc">UnaryUnaryTestMessages</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A type for unary-request-unary-response message pairings.&quot;&quot;&quot;</span>
-
-  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
-
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="UnaryUnaryTestMessages.request"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.UnaryUnaryTestMessages.request">[docs]</a>  <span class="k">def</span> <span class="nf">request</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Affords a request message.</span>
-
-<span class="sd">    Implementations of this method should return a different message with each</span>
-<span class="sd">    call so that multiple test executions of the test method may be made with</span>
-<span class="sd">    different inputs.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      A request message.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="UnaryUnaryTestMessages.verify"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.UnaryUnaryTestMessages.verify">[docs]</a>  <span class="k">def</span> <span class="nf">verify</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">response</span><span class="p">,</span> <span class="n">test_case</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Verifies that the computed response matches the given request.</span>
-
-<span class="sd">    Args:</span>
-<span class="sd">      request: A request message.</span>
-<span class="sd">      response: A response message.</span>
-<span class="sd">      test_case: A unittest.TestCase object affording useful assertion methods.</span>
-
-<span class="sd">    Raises:</span>
-<span class="sd">      AssertionError: If the request and response do not match, indicating that</span>
-<span class="sd">        there was some problem executing the RPC under test.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-
-</div></div>
-<div class="viewcode-block" id="UnaryStreamTestMethodImplementation"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.UnaryStreamTestMethodImplementation">[docs]</a><span class="k">class</span> <span class="nc">UnaryStreamTestMethodImplementation</span><span class="p">(</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Method</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A controllable implementation of a unary-stream RPC method.&quot;&quot;&quot;</span>
-
-  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
-
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="UnaryStreamTestMethodImplementation.service"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.UnaryStreamTestMethodImplementation.service">[docs]</a>  <span class="k">def</span> <span class="nf">service</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">response_consumer</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">control</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Services an RPC that takes one message and produces a stream of messages.</span>
-
-<span class="sd">    Args:</span>
-<span class="sd">      request: The single request message for the RPC.</span>
-<span class="sd">      response_consumer: A stream.Consumer to be called to accept the response</span>
-<span class="sd">        messages of the RPC.</span>
-<span class="sd">      context: A face_interfaces.RpcContext object.</span>
-<span class="sd">      control: A test_control.Control to control execution of this method.</span>
-
-<span class="sd">    Raises:</span>
-<span class="sd">      abandonment.Abandoned: May or may not be raised when the RPC has been</span>
-<span class="sd">        aborted.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-
-</div></div>
-<div class="viewcode-block" id="UnaryStreamTestMessages"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.UnaryStreamTestMessages">[docs]</a><span class="k">class</span> <span class="nc">UnaryStreamTestMessages</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A type for unary-request-stream-response message pairings.&quot;&quot;&quot;</span>
-
-  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
-
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="UnaryStreamTestMessages.request"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.UnaryStreamTestMessages.request">[docs]</a>  <span class="k">def</span> <span class="nf">request</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Affords a request message.</span>
-
-<span class="sd">    Implementations of this method should return a different message with each</span>
-<span class="sd">    call so that multiple test executions of the test method may be made with</span>
-<span class="sd">    different inputs.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      A request message.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="UnaryStreamTestMessages.verify"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.UnaryStreamTestMessages.verify">[docs]</a>  <span class="k">def</span> <span class="nf">verify</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">responses</span><span class="p">,</span> <span class="n">test_case</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Verifies that the computed responses match the given request.</span>
-
-<span class="sd">    Args:</span>
-<span class="sd">      request: A request message.</span>
-<span class="sd">      responses: A sequence of response messages.</span>
-<span class="sd">      test_case: A unittest.TestCase object affording useful assertion methods.</span>
-
-<span class="sd">    Raises:</span>
-<span class="sd">      AssertionError: If the request and responses do not match, indicating that</span>
-<span class="sd">        there was some problem executing the RPC under test.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-
-</div></div>
-<div class="viewcode-block" id="StreamUnaryTestMethodImplementation"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.StreamUnaryTestMethodImplementation">[docs]</a><span class="k">class</span> <span class="nc">StreamUnaryTestMethodImplementation</span><span class="p">(</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Method</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A controllable implementation of a stream-unary RPC method.&quot;&quot;&quot;</span>
-
-  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
-
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="StreamUnaryTestMethodImplementation.service"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.StreamUnaryTestMethodImplementation.service">[docs]</a>  <span class="k">def</span> <span class="nf">service</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response_callback</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">control</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Services an RPC that takes a stream of messages and produces one message.</span>
-
-<span class="sd">    Args:</span>
-<span class="sd">      response_callback: A callback to be called to accept the response message</span>
-<span class="sd">        of the RPC.</span>
-<span class="sd">      context: A face_interfaces.RpcContext object.</span>
-<span class="sd">      control: A test_control.Control to control execution of this method.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      A stream.Consumer with which to accept the request messages of the RPC.</span>
-<span class="sd">        The consumer returned from this method may or may not be invoked to</span>
-<span class="sd">        completion: in the case of RPC abortion, RPC Framework will simply stop</span>
-<span class="sd">        passing messages to this object. Implementations must not assume that</span>
-<span class="sd">        this object will be called to completion of the request stream or even</span>
-<span class="sd">        called at all.</span>
-
-<span class="sd">    Raises:</span>
-<span class="sd">      abandonment.Abandoned: May or may not be raised when the RPC has been</span>
-<span class="sd">        aborted.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-
-</div></div>
-<div class="viewcode-block" id="StreamUnaryTestMessages"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.StreamUnaryTestMessages">[docs]</a><span class="k">class</span> <span class="nc">StreamUnaryTestMessages</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A type for stream-request-unary-response message pairings.&quot;&quot;&quot;</span>
-
-  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
-
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="StreamUnaryTestMessages.requests"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.StreamUnaryTestMessages.requests">[docs]</a>  <span class="k">def</span> <span class="nf">requests</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Affords a sequence of request messages.</span>
-
-<span class="sd">    Implementations of this method should return a different sequences with each</span>
-<span class="sd">    call so that multiple test executions of the test method may be made with</span>
-<span class="sd">    different inputs.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      A sequence of request messages.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="StreamUnaryTestMessages.verify"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.StreamUnaryTestMessages.verify">[docs]</a>  <span class="k">def</span> <span class="nf">verify</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">requests</span><span class="p">,</span> <span class="n">response</span><span class="p">,</span> <span class="n">test_case</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Verifies that the computed response matches the given requests.</span>
-
-<span class="sd">    Args:</span>
-<span class="sd">      requests: A sequence of request messages.</span>
-<span class="sd">      response: A response message.</span>
-<span class="sd">      test_case: A unittest.TestCase object affording useful assertion methods.</span>
-
-<span class="sd">    Raises:</span>
-<span class="sd">      AssertionError: If the requests and response do not match, indicating that</span>
-<span class="sd">        there was some problem executing the RPC under test.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-
-</div></div>
-<div class="viewcode-block" id="StreamStreamTestMethodImplementation"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.StreamStreamTestMethodImplementation">[docs]</a><span class="k">class</span> <span class="nc">StreamStreamTestMethodImplementation</span><span class="p">(</span><span class="n">interfaces</span><span class="o">.</span><span class="n">Method</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A controllable implementation of a stream-stream RPC method.&quot;&quot;&quot;</span>
-
-  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
-
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="StreamStreamTestMethodImplementation.service"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.StreamStreamTestMethodImplementation.service">[docs]</a>  <span class="k">def</span> <span class="nf">service</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response_consumer</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">control</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Services an RPC that accepts and produces streams of messages.</span>
-
-<span class="sd">    Args:</span>
-<span class="sd">      response_consumer: A stream.Consumer to be called to accept the response</span>
-<span class="sd">        messages of the RPC.</span>
-<span class="sd">      context: A face_interfaces.RpcContext object.</span>
-<span class="sd">      control: A test_control.Control to control execution of this method.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      A stream.Consumer with which to accept the request messages of the RPC.</span>
-<span class="sd">        The consumer returned from this method may or may not be invoked to</span>
-<span class="sd">        completion: in the case of RPC abortion, RPC Framework will simply stop</span>
-<span class="sd">        passing messages to this object. Implementations must not assume that</span>
-<span class="sd">        this object will be called to completion of the request stream or even</span>
-<span class="sd">        called at all.</span>
-
-<span class="sd">    Raises:</span>
-<span class="sd">      abandonment.Abandoned: May or may not be raised when the RPC has been</span>
-<span class="sd">        aborted.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-
-</div></div>
-<div class="viewcode-block" id="StreamStreamTestMessages"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.StreamStreamTestMessages">[docs]</a><span class="k">class</span> <span class="nc">StreamStreamTestMessages</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A type for stream-request-stream-response message pairings.&quot;&quot;&quot;</span>
-
-  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
-
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="StreamStreamTestMessages.requests"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.StreamStreamTestMessages.requests">[docs]</a>  <span class="k">def</span> <span class="nf">requests</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Affords a sequence of request messages.</span>
-
-<span class="sd">    Implementations of this method should return a different sequences with each</span>
-<span class="sd">    call so that multiple test executions of the test method may be made with</span>
-<span class="sd">    different inputs.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      A sequence of request messages.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="StreamStreamTestMessages.verify"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.StreamStreamTestMessages.verify">[docs]</a>  <span class="k">def</span> <span class="nf">verify</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">requests</span><span class="p">,</span> <span class="n">responses</span><span class="p">,</span> <span class="n">test_case</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Verifies that the computed response matches the given requests.</span>
-
-<span class="sd">    Args:</span>
-<span class="sd">      requests: A sequence of request messages.</span>
-<span class="sd">      responses: A sequence of response messages.</span>
-<span class="sd">      test_case: A unittest.TestCase object affording useful assertion methods.</span>
-
-<span class="sd">    Raises:</span>
-<span class="sd">      AssertionError: If the requests and responses do not match, indicating</span>
-<span class="sd">        that there was some problem executing the RPC under test.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-
-</div></div>
-<div class="viewcode-block" id="TestService"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.TestService">[docs]</a><span class="k">class</span> <span class="nc">TestService</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A specification of implemented RPC methods to use in tests.&quot;&quot;&quot;</span>
-
-  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
-
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="TestService.name"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.TestService.name">[docs]</a>  <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Identifies the RPC service name used during the test.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      The RPC service name to be used for the test.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="TestService.unary_unary_scenarios"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.TestService.unary_unary_scenarios">[docs]</a>  <span class="k">def</span> <span class="nf">unary_unary_scenarios</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Affords unary-request-unary-response test methods and their messages.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      A dict from method name to pair. The first element of the pair</span>
-<span class="sd">        is a UnaryUnaryTestMethodImplementation object and the second element</span>
-<span class="sd">        is a sequence of UnaryUnaryTestMethodMessages objects.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="TestService.unary_stream_scenarios"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.TestService.unary_stream_scenarios">[docs]</a>  <span class="k">def</span> <span class="nf">unary_stream_scenarios</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Affords unary-request-stream-response test methods and their messages.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      A dict from method name to pair. The first element of the pair is a</span>
-<span class="sd">        UnaryStreamTestMethodImplementation object and the second element is a</span>
-<span class="sd">        sequence of UnaryStreamTestMethodMessages objects.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="TestService.stream_unary_scenarios"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.TestService.stream_unary_scenarios">[docs]</a>  <span class="k">def</span> <span class="nf">stream_unary_scenarios</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Affords stream-request-unary-response test methods and their messages.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      A dict from method name to pair. The first element of the pair is a</span>
-<span class="sd">        StreamUnaryTestMethodImplementation object and the second element is a</span>
-<span class="sd">        sequence of StreamUnaryTestMethodMessages objects.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="TestService.stream_stream_scenarios"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.service.TestService.stream_stream_scenarios">[docs]</a>  <span class="k">def</span> <span class="nf">stream_stream_scenarios</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Affords stream-request-stream-response test methods and their messages.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      A dict from method name to pair. The first element of the pair is a</span>
-<span class="sd">        StreamStreamTestMethodImplementation object and the second element is a</span>
-<span class="sd">        sequence of StreamStreamTestMethodMessages objects.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span></div></div>
-</pre></div>
-
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2015, Author.
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../../',
-            VERSION:'0.10.0a0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>

+ 0 - 563
python/_modules/grpc/framework/face/testing/stock_service.html

@@ -1,563 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>grpc.framework.face.testing.stock_service &mdash; grpcio 0.10.0a0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../../index.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-nav-search">
-        
-
-        
-          <a href="../../../../../index.html" class="icon icon-home"> grpcio
-        
-
-        
-        </a>
-
-        
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-        
-      </div>
-
-      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-        
-          
-          
-              <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../grpc.html">grpc package</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#subpackages">Subpackages</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.framework.html">grpc.framework package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#subpackages">Subpackages</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#module-grpc">Module contents</a></li>
-</ul>
-</li>
-</ul>
-
-          
-        
-      </div>
-      &nbsp;
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../../index.html">grpcio</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          <div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>grpc.framework.face.testing.stock_service</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document">
-            
-  <h1>Source code for grpc.framework.face.testing.stock_service</h1><div class="highlight"><pre>
-<span class="c"># Copyright 2015, Google Inc.</span>
-<span class="c"># All rights reserved.</span>
-<span class="c">#</span>
-<span class="c"># Redistribution and use in source and binary forms, with or without</span>
-<span class="c"># modification, are permitted provided that the following conditions are</span>
-<span class="c"># met:</span>
-<span class="c">#</span>
-<span class="c">#     * Redistributions of source code must retain the above copyright</span>
-<span class="c"># notice, this list of conditions and the following disclaimer.</span>
-<span class="c">#     * Redistributions in binary form must reproduce the above</span>
-<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
-<span class="c"># in the documentation and/or other materials provided with the</span>
-<span class="c"># distribution.</span>
-<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
-<span class="c"># contributors may be used to endorse or promote products derived from</span>
-<span class="c"># this software without specific prior written permission.</span>
-<span class="c">#</span>
-<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
-<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
-<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
-<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
-<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
-<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
-<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-
-<span class="sd">&quot;&quot;&quot;Examples of Python implementations of the stock.proto Stock service.&quot;&quot;&quot;</span>
-
-<span class="kn">from</span> <span class="nn">grpc.framework.common</span> <span class="kn">import</span> <span class="n">cardinality</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">service</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.foundation</span> <span class="kn">import</span> <span class="n">abandonment</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.foundation</span> <span class="kn">import</span> <span class="n">stream</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.foundation</span> <span class="kn">import</span> <span class="n">stream_util</span>
-<span class="kn">from</span> <span class="nn">grpc._junkdrawer</span> <span class="kn">import</span> <span class="n">stock_pb2</span>
-
-<span class="n">SYMBOL_FORMAT</span> <span class="o">=</span> <span class="s">&#39;test symbol:</span><span class="si">%03d</span><span class="s">&#39;</span>
-<span class="n">STREAM_LENGTH</span> <span class="o">=</span> <span class="mi">400</span>
-
-<span class="c"># A test-appropriate security-pricing function. :-P</span>
-<span class="n">_price</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">symbol_name</span><span class="p">:</span> <span class="nb">float</span><span class="p">(</span><span class="nb">hash</span><span class="p">(</span><span class="n">symbol_name</span><span class="p">)</span> <span class="o">%</span> <span class="mi">4096</span><span class="p">)</span>
-
-
-<span class="k">def</span> <span class="nf">_get_last_trade_price</span><span class="p">(</span><span class="n">stock_request</span><span class="p">,</span> <span class="n">stock_reply_callback</span><span class="p">,</span> <span class="n">control</span><span class="p">,</span> <span class="n">active</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A unary-request, unary-response test method.&quot;&quot;&quot;</span>
-  <span class="n">control</span><span class="o">.</span><span class="n">control</span><span class="p">()</span>
-  <span class="k">if</span> <span class="n">active</span><span class="p">():</span>
-    <span class="n">stock_reply_callback</span><span class="p">(</span>
-        <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockReply</span><span class="p">(</span>
-            <span class="n">symbol</span><span class="o">=</span><span class="n">stock_request</span><span class="o">.</span><span class="n">symbol</span><span class="p">,</span> <span class="n">price</span><span class="o">=</span><span class="n">_price</span><span class="p">(</span><span class="n">stock_request</span><span class="o">.</span><span class="n">symbol</span><span class="p">)))</span>
-  <span class="k">else</span><span class="p">:</span>
-    <span class="k">raise</span> <span class="n">abandonment</span><span class="o">.</span><span class="n">Abandoned</span><span class="p">()</span>
-
-
-<span class="k">def</span> <span class="nf">_get_last_trade_price_multiple</span><span class="p">(</span><span class="n">stock_reply_consumer</span><span class="p">,</span> <span class="n">control</span><span class="p">,</span> <span class="n">active</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A stream-request, stream-response test method.&quot;&quot;&quot;</span>
-  <span class="k">def</span> <span class="nf">stock_reply_for_stock_request</span><span class="p">(</span><span class="n">stock_request</span><span class="p">):</span>
-    <span class="n">control</span><span class="o">.</span><span class="n">control</span><span class="p">()</span>
-    <span class="k">if</span> <span class="n">active</span><span class="p">():</span>
-      <span class="k">return</span> <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockReply</span><span class="p">(</span>
-          <span class="n">symbol</span><span class="o">=</span><span class="n">stock_request</span><span class="o">.</span><span class="n">symbol</span><span class="p">,</span> <span class="n">price</span><span class="o">=</span><span class="n">_price</span><span class="p">(</span><span class="n">stock_request</span><span class="o">.</span><span class="n">symbol</span><span class="p">))</span>
-    <span class="k">else</span><span class="p">:</span>
-      <span class="k">raise</span> <span class="n">abandonment</span><span class="o">.</span><span class="n">Abandoned</span><span class="p">()</span>
-  <span class="k">return</span> <span class="n">stream_util</span><span class="o">.</span><span class="n">TransformingConsumer</span><span class="p">(</span>
-      <span class="n">stock_reply_for_stock_request</span><span class="p">,</span> <span class="n">stock_reply_consumer</span><span class="p">)</span>
-
-
-<span class="k">def</span> <span class="nf">_watch_future_trades</span><span class="p">(</span><span class="n">stock_request</span><span class="p">,</span> <span class="n">stock_reply_consumer</span><span class="p">,</span> <span class="n">control</span><span class="p">,</span> <span class="n">active</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A unary-request, stream-response test method.&quot;&quot;&quot;</span>
-  <span class="n">base_price</span> <span class="o">=</span> <span class="n">_price</span><span class="p">(</span><span class="n">stock_request</span><span class="o">.</span><span class="n">symbol</span><span class="p">)</span>
-  <span class="k">for</span> <span class="n">index</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">stock_request</span><span class="o">.</span><span class="n">num_trades_to_watch</span><span class="p">):</span>
-    <span class="n">control</span><span class="o">.</span><span class="n">control</span><span class="p">()</span>
-    <span class="k">if</span> <span class="n">active</span><span class="p">():</span>
-      <span class="n">stock_reply_consumer</span><span class="o">.</span><span class="n">consume</span><span class="p">(</span>
-          <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockReply</span><span class="p">(</span>
-              <span class="n">symbol</span><span class="o">=</span><span class="n">stock_request</span><span class="o">.</span><span class="n">symbol</span><span class="p">,</span> <span class="n">price</span><span class="o">=</span><span class="n">base_price</span> <span class="o">+</span> <span class="n">index</span><span class="p">))</span>
-    <span class="k">else</span><span class="p">:</span>
-      <span class="k">raise</span> <span class="n">abandonment</span><span class="o">.</span><span class="n">Abandoned</span><span class="p">()</span>
-  <span class="n">stock_reply_consumer</span><span class="o">.</span><span class="n">terminate</span><span class="p">()</span>
-
-
-<span class="k">def</span> <span class="nf">_get_highest_trade_price</span><span class="p">(</span><span class="n">stock_reply_callback</span><span class="p">,</span> <span class="n">control</span><span class="p">,</span> <span class="n">active</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A stream-request, unary-response test method.&quot;&quot;&quot;</span>
-
-  <span class="k">class</span> <span class="nc">StockRequestConsumer</span><span class="p">(</span><span class="n">stream</span><span class="o">.</span><span class="n">Consumer</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Keeps an ongoing record of the most valuable symbol yet consumed.&quot;&quot;&quot;</span>
-
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_symbol</span> <span class="o">=</span> <span class="bp">None</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_price</span> <span class="o">=</span> <span class="bp">None</span>
-
-    <span class="k">def</span> <span class="nf">consume</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">stock_request</span><span class="p">):</span>
-      <span class="n">control</span><span class="o">.</span><span class="n">control</span><span class="p">()</span>
-      <span class="k">if</span> <span class="n">active</span><span class="p">():</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_price</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
-          <span class="bp">self</span><span class="o">.</span><span class="n">_symbol</span> <span class="o">=</span> <span class="n">stock_request</span><span class="o">.</span><span class="n">symbol</span>
-          <span class="bp">self</span><span class="o">.</span><span class="n">_price</span> <span class="o">=</span> <span class="n">_price</span><span class="p">(</span><span class="n">stock_request</span><span class="o">.</span><span class="n">symbol</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-          <span class="n">candidate_price</span> <span class="o">=</span> <span class="n">_price</span><span class="p">(</span><span class="n">stock_request</span><span class="o">.</span><span class="n">symbol</span><span class="p">)</span>
-          <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_price</span> <span class="o">&lt;</span> <span class="n">candidate_price</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">_symbol</span> <span class="o">=</span> <span class="n">stock_request</span><span class="o">.</span><span class="n">symbol</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">_price</span> <span class="o">=</span> <span class="n">candidate_price</span>
-
-    <span class="k">def</span> <span class="nf">terminate</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-      <span class="n">control</span><span class="o">.</span><span class="n">control</span><span class="p">()</span>
-      <span class="k">if</span> <span class="n">active</span><span class="p">():</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_symbol</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
-          <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">()</span>
-        <span class="k">else</span><span class="p">:</span>
-          <span class="n">stock_reply_callback</span><span class="p">(</span>
-              <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockReply</span><span class="p">(</span><span class="n">symbol</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_symbol</span><span class="p">,</span> <span class="n">price</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_price</span><span class="p">))</span>
-          <span class="bp">self</span><span class="o">.</span><span class="n">_symbol</span> <span class="o">=</span> <span class="bp">None</span>
-          <span class="bp">self</span><span class="o">.</span><span class="n">_price</span> <span class="o">=</span> <span class="bp">None</span>
-
-    <span class="k">def</span> <span class="nf">consume_and_terminate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">stock_request</span><span class="p">):</span>
-      <span class="n">control</span><span class="o">.</span><span class="n">control</span><span class="p">()</span>
-      <span class="k">if</span> <span class="n">active</span><span class="p">():</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_price</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
-          <span class="n">stock_reply_callback</span><span class="p">(</span>
-              <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockReply</span><span class="p">(</span>
-                  <span class="n">symbol</span><span class="o">=</span><span class="n">stock_request</span><span class="o">.</span><span class="n">symbol</span><span class="p">,</span>
-                  <span class="n">price</span><span class="o">=</span><span class="n">_price</span><span class="p">(</span><span class="n">stock_request</span><span class="o">.</span><span class="n">symbol</span><span class="p">)))</span>
-        <span class="k">else</span><span class="p">:</span>
-          <span class="n">candidate_price</span> <span class="o">=</span> <span class="n">_price</span><span class="p">(</span><span class="n">stock_request</span><span class="o">.</span><span class="n">symbol</span><span class="p">)</span>
-          <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_price</span> <span class="o">&lt;</span> <span class="n">candidate_price</span><span class="p">:</span>
-            <span class="n">stock_reply_callback</span><span class="p">(</span>
-                <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockReply</span><span class="p">(</span>
-                    <span class="n">symbol</span><span class="o">=</span><span class="n">stock_request</span><span class="o">.</span><span class="n">symbol</span><span class="p">,</span> <span class="n">price</span><span class="o">=</span><span class="n">candidate_price</span><span class="p">))</span>
-          <span class="k">else</span><span class="p">:</span>
-            <span class="n">stock_reply_callback</span><span class="p">(</span>
-                <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockReply</span><span class="p">(</span>
-                    <span class="n">symbol</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_symbol</span><span class="p">,</span> <span class="n">price</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_price</span><span class="p">))</span>
-
-        <span class="bp">self</span><span class="o">.</span><span class="n">_symbol</span> <span class="o">=</span> <span class="bp">None</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_price</span> <span class="o">=</span> <span class="bp">None</span>
-
-  <span class="k">return</span> <span class="n">StockRequestConsumer</span><span class="p">()</span>
-
-
-<div class="viewcode-block" id="GetLastTradePrice"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePrice">[docs]</a><span class="k">class</span> <span class="nc">GetLastTradePrice</span><span class="p">(</span><span class="n">service</span><span class="o">.</span><span class="n">UnaryUnaryTestMethodImplementation</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;GetLastTradePrice for use in tests.&quot;&quot;&quot;</span>
-
-<div class="viewcode-block" id="GetLastTradePrice.name"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePrice.name">[docs]</a>  <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">return</span> <span class="s">&#39;GetLastTradePrice&#39;</span>
-</div>
-<div class="viewcode-block" id="GetLastTradePrice.cardinality"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePrice.cardinality">[docs]</a>  <span class="k">def</span> <span class="nf">cardinality</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">UNARY_UNARY</span>
-</div>
-<div class="viewcode-block" id="GetLastTradePrice.request_class"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePrice.request_class">[docs]</a>  <span class="k">def</span> <span class="nf">request_class</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockRequest</span>
-</div>
-<div class="viewcode-block" id="GetLastTradePrice.response_class"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePrice.response_class">[docs]</a>  <span class="k">def</span> <span class="nf">response_class</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockReply</span>
-</div>
-<div class="viewcode-block" id="GetLastTradePrice.serialize_request"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePrice.serialize_request">[docs]</a>  <span class="k">def</span> <span class="nf">serialize_request</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">request</span><span class="o">.</span><span class="n">SerializeToString</span><span class="p">()</span>
-</div>
-<div class="viewcode-block" id="GetLastTradePrice.deserialize_request"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePrice.deserialize_request">[docs]</a>  <span class="k">def</span> <span class="nf">deserialize_request</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">serialized_request</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockRequest</span><span class="o">.</span><span class="n">FromString</span><span class="p">(</span><span class="n">serialized_request</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="GetLastTradePrice.serialize_response"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePrice.serialize_response">[docs]</a>  <span class="k">def</span> <span class="nf">serialize_response</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">response</span><span class="o">.</span><span class="n">SerializeToString</span><span class="p">()</span>
-</div>
-<div class="viewcode-block" id="GetLastTradePrice.deserialize_response"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePrice.deserialize_response">[docs]</a>  <span class="k">def</span> <span class="nf">deserialize_response</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">serialized_response</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockReply</span><span class="o">.</span><span class="n">FromString</span><span class="p">(</span><span class="n">serialized_response</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="GetLastTradePrice.service"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePrice.service">[docs]</a>  <span class="k">def</span> <span class="nf">service</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">response_callback</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">control</span><span class="p">):</span>
-    <span class="n">_get_last_trade_price</span><span class="p">(</span>
-        <span class="n">request</span><span class="p">,</span> <span class="n">response_callback</span><span class="p">,</span> <span class="n">control</span><span class="p">,</span> <span class="n">context</span><span class="o">.</span><span class="n">is_active</span><span class="p">)</span>
-
-</div></div>
-<div class="viewcode-block" id="GetLastTradePriceMessages"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePriceMessages">[docs]</a><span class="k">class</span> <span class="nc">GetLastTradePriceMessages</span><span class="p">(</span><span class="n">service</span><span class="o">.</span><span class="n">UnaryUnaryTestMessages</span><span class="p">):</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_index</span> <span class="o">=</span> <span class="mi">0</span>
-
-<div class="viewcode-block" id="GetLastTradePriceMessages.request"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePriceMessages.request">[docs]</a>  <span class="k">def</span> <span class="nf">request</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="n">symbol</span> <span class="o">=</span> <span class="n">SYMBOL_FORMAT</span> <span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">_index</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_index</span> <span class="o">+=</span> <span class="mi">1</span>
-    <span class="k">return</span> <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockRequest</span><span class="p">(</span><span class="n">symbol</span><span class="o">=</span><span class="n">symbol</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="GetLastTradePriceMessages.verify"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePriceMessages.verify">[docs]</a>  <span class="k">def</span> <span class="nf">verify</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">response</span><span class="p">,</span> <span class="n">test_case</span><span class="p">):</span>
-    <span class="n">test_case</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">symbol</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">symbol</span><span class="p">)</span>
-    <span class="n">test_case</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">_price</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">symbol</span><span class="p">),</span> <span class="n">response</span><span class="o">.</span><span class="n">price</span><span class="p">)</span>
-
-</div></div>
-<div class="viewcode-block" id="GetLastTradePriceMultiple"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePriceMultiple">[docs]</a><span class="k">class</span> <span class="nc">GetLastTradePriceMultiple</span><span class="p">(</span><span class="n">service</span><span class="o">.</span><span class="n">StreamStreamTestMethodImplementation</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;GetLastTradePriceMultiple for use in tests.&quot;&quot;&quot;</span>
-
-<div class="viewcode-block" id="GetLastTradePriceMultiple.name"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePriceMultiple.name">[docs]</a>  <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">return</span> <span class="s">&#39;GetLastTradePriceMultiple&#39;</span>
-</div>
-<div class="viewcode-block" id="GetLastTradePriceMultiple.cardinality"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePriceMultiple.cardinality">[docs]</a>  <span class="k">def</span> <span class="nf">cardinality</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">STREAM_STREAM</span>
-</div>
-<div class="viewcode-block" id="GetLastTradePriceMultiple.request_class"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePriceMultiple.request_class">[docs]</a>  <span class="k">def</span> <span class="nf">request_class</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockRequest</span>
-</div>
-<div class="viewcode-block" id="GetLastTradePriceMultiple.response_class"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePriceMultiple.response_class">[docs]</a>  <span class="k">def</span> <span class="nf">response_class</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockReply</span>
-</div>
-<div class="viewcode-block" id="GetLastTradePriceMultiple.serialize_request"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePriceMultiple.serialize_request">[docs]</a>  <span class="k">def</span> <span class="nf">serialize_request</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">request</span><span class="o">.</span><span class="n">SerializeToString</span><span class="p">()</span>
-</div>
-<div class="viewcode-block" id="GetLastTradePriceMultiple.deserialize_request"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePriceMultiple.deserialize_request">[docs]</a>  <span class="k">def</span> <span class="nf">deserialize_request</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">serialized_request</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockRequest</span><span class="o">.</span><span class="n">FromString</span><span class="p">(</span><span class="n">serialized_request</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="GetLastTradePriceMultiple.serialize_response"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePriceMultiple.serialize_response">[docs]</a>  <span class="k">def</span> <span class="nf">serialize_response</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">response</span><span class="o">.</span><span class="n">SerializeToString</span><span class="p">()</span>
-</div>
-<div class="viewcode-block" id="GetLastTradePriceMultiple.deserialize_response"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePriceMultiple.deserialize_response">[docs]</a>  <span class="k">def</span> <span class="nf">deserialize_response</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">serialized_response</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockReply</span><span class="o">.</span><span class="n">FromString</span><span class="p">(</span><span class="n">serialized_response</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="GetLastTradePriceMultiple.service"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePriceMultiple.service">[docs]</a>  <span class="k">def</span> <span class="nf">service</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response_consumer</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">control</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">_get_last_trade_price_multiple</span><span class="p">(</span>
-        <span class="n">response_consumer</span><span class="p">,</span> <span class="n">control</span><span class="p">,</span> <span class="n">context</span><span class="o">.</span><span class="n">is_active</span><span class="p">)</span>
-
-</div></div>
-<div class="viewcode-block" id="GetLastTradePriceMultipleMessages"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePriceMultipleMessages">[docs]</a><span class="k">class</span> <span class="nc">GetLastTradePriceMultipleMessages</span><span class="p">(</span><span class="n">service</span><span class="o">.</span><span class="n">StreamStreamTestMessages</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;Pairs of message streams for use with GetLastTradePriceMultiple.&quot;&quot;&quot;</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_index</span> <span class="o">=</span> <span class="mi">0</span>
-
-<div class="viewcode-block" id="GetLastTradePriceMultipleMessages.requests"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePriceMultipleMessages.requests">[docs]</a>  <span class="k">def</span> <span class="nf">requests</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="n">base_index</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_index</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_index</span> <span class="o">+=</span> <span class="mi">1</span>
-    <span class="k">return</span> <span class="p">[</span>
-        <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockRequest</span><span class="p">(</span><span class="n">symbol</span><span class="o">=</span><span class="n">SYMBOL_FORMAT</span> <span class="o">%</span> <span class="p">(</span><span class="n">base_index</span> <span class="o">+</span> <span class="n">index</span><span class="p">))</span>
-        <span class="k">for</span> <span class="n">index</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">STREAM_LENGTH</span><span class="p">)]</span>
-</div>
-<div class="viewcode-block" id="GetLastTradePriceMultipleMessages.verify"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetLastTradePriceMultipleMessages.verify">[docs]</a>  <span class="k">def</span> <span class="nf">verify</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">requests</span><span class="p">,</span> <span class="n">responses</span><span class="p">,</span> <span class="n">test_case</span><span class="p">):</span>
-    <span class="n">test_case</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">requests</span><span class="p">),</span> <span class="nb">len</span><span class="p">(</span><span class="n">responses</span><span class="p">))</span>
-    <span class="k">for</span> <span class="n">stock_request</span><span class="p">,</span> <span class="n">stock_reply</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">requests</span><span class="p">,</span> <span class="n">responses</span><span class="p">):</span>
-      <span class="n">test_case</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">stock_request</span><span class="o">.</span><span class="n">symbol</span><span class="p">,</span> <span class="n">stock_reply</span><span class="o">.</span><span class="n">symbol</span><span class="p">)</span>
-      <span class="n">test_case</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">_price</span><span class="p">(</span><span class="n">stock_request</span><span class="o">.</span><span class="n">symbol</span><span class="p">),</span> <span class="n">stock_reply</span><span class="o">.</span><span class="n">price</span><span class="p">)</span>
-
-</div></div>
-<div class="viewcode-block" id="WatchFutureTrades"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.WatchFutureTrades">[docs]</a><span class="k">class</span> <span class="nc">WatchFutureTrades</span><span class="p">(</span><span class="n">service</span><span class="o">.</span><span class="n">UnaryStreamTestMethodImplementation</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;WatchFutureTrades for use in tests.&quot;&quot;&quot;</span>
-
-<div class="viewcode-block" id="WatchFutureTrades.name"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.WatchFutureTrades.name">[docs]</a>  <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">return</span> <span class="s">&#39;WatchFutureTrades&#39;</span>
-</div>
-<div class="viewcode-block" id="WatchFutureTrades.cardinality"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.WatchFutureTrades.cardinality">[docs]</a>  <span class="k">def</span> <span class="nf">cardinality</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">UNARY_STREAM</span>
-</div>
-<div class="viewcode-block" id="WatchFutureTrades.request_class"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.WatchFutureTrades.request_class">[docs]</a>  <span class="k">def</span> <span class="nf">request_class</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockRequest</span>
-</div>
-<div class="viewcode-block" id="WatchFutureTrades.response_class"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.WatchFutureTrades.response_class">[docs]</a>  <span class="k">def</span> <span class="nf">response_class</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockReply</span>
-</div>
-<div class="viewcode-block" id="WatchFutureTrades.serialize_request"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.WatchFutureTrades.serialize_request">[docs]</a>  <span class="k">def</span> <span class="nf">serialize_request</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">request</span><span class="o">.</span><span class="n">SerializeToString</span><span class="p">()</span>
-</div>
-<div class="viewcode-block" id="WatchFutureTrades.deserialize_request"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.WatchFutureTrades.deserialize_request">[docs]</a>  <span class="k">def</span> <span class="nf">deserialize_request</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">serialized_request</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockRequest</span><span class="o">.</span><span class="n">FromString</span><span class="p">(</span><span class="n">serialized_request</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="WatchFutureTrades.serialize_response"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.WatchFutureTrades.serialize_response">[docs]</a>  <span class="k">def</span> <span class="nf">serialize_response</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">response</span><span class="o">.</span><span class="n">SerializeToString</span><span class="p">()</span>
-</div>
-<div class="viewcode-block" id="WatchFutureTrades.deserialize_response"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.WatchFutureTrades.deserialize_response">[docs]</a>  <span class="k">def</span> <span class="nf">deserialize_response</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">serialized_response</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockReply</span><span class="o">.</span><span class="n">FromString</span><span class="p">(</span><span class="n">serialized_response</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="WatchFutureTrades.service"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.WatchFutureTrades.service">[docs]</a>  <span class="k">def</span> <span class="nf">service</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">response_consumer</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">control</span><span class="p">):</span>
-    <span class="n">_watch_future_trades</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">response_consumer</span><span class="p">,</span> <span class="n">control</span><span class="p">,</span> <span class="n">context</span><span class="o">.</span><span class="n">is_active</span><span class="p">)</span>
-
-</div></div>
-<div class="viewcode-block" id="WatchFutureTradesMessages"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.WatchFutureTradesMessages">[docs]</a><span class="k">class</span> <span class="nc">WatchFutureTradesMessages</span><span class="p">(</span><span class="n">service</span><span class="o">.</span><span class="n">UnaryStreamTestMessages</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;Pairs of a single request message and a sequence of response messages.&quot;&quot;&quot;</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_index</span> <span class="o">=</span> <span class="mi">0</span>
-
-<div class="viewcode-block" id="WatchFutureTradesMessages.request"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.WatchFutureTradesMessages.request">[docs]</a>  <span class="k">def</span> <span class="nf">request</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="n">symbol</span> <span class="o">=</span> <span class="n">SYMBOL_FORMAT</span> <span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">_index</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_index</span> <span class="o">+=</span> <span class="mi">1</span>
-    <span class="k">return</span> <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockRequest</span><span class="p">(</span>
-        <span class="n">symbol</span><span class="o">=</span><span class="n">symbol</span><span class="p">,</span> <span class="n">num_trades_to_watch</span><span class="o">=</span><span class="n">STREAM_LENGTH</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="WatchFutureTradesMessages.verify"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.WatchFutureTradesMessages.verify">[docs]</a>  <span class="k">def</span> <span class="nf">verify</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">responses</span><span class="p">,</span> <span class="n">test_case</span><span class="p">):</span>
-    <span class="n">test_case</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">STREAM_LENGTH</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">responses</span><span class="p">))</span>
-    <span class="n">base_price</span> <span class="o">=</span> <span class="n">_price</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">symbol</span><span class="p">)</span>
-    <span class="k">for</span> <span class="n">index</span><span class="p">,</span> <span class="n">response</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">responses</span><span class="p">):</span>
-      <span class="n">test_case</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">base_price</span> <span class="o">+</span> <span class="n">index</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">price</span><span class="p">)</span>
-
-</div></div>
-<div class="viewcode-block" id="GetHighestTradePrice"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetHighestTradePrice">[docs]</a><span class="k">class</span> <span class="nc">GetHighestTradePrice</span><span class="p">(</span><span class="n">service</span><span class="o">.</span><span class="n">StreamUnaryTestMethodImplementation</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;GetHighestTradePrice for use in tests.&quot;&quot;&quot;</span>
-
-<div class="viewcode-block" id="GetHighestTradePrice.name"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetHighestTradePrice.name">[docs]</a>  <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">return</span> <span class="s">&#39;GetHighestTradePrice&#39;</span>
-</div>
-<div class="viewcode-block" id="GetHighestTradePrice.cardinality"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetHighestTradePrice.cardinality">[docs]</a>  <span class="k">def</span> <span class="nf">cardinality</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">STREAM_UNARY</span>
-</div>
-<div class="viewcode-block" id="GetHighestTradePrice.request_class"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetHighestTradePrice.request_class">[docs]</a>  <span class="k">def</span> <span class="nf">request_class</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockRequest</span>
-</div>
-<div class="viewcode-block" id="GetHighestTradePrice.response_class"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetHighestTradePrice.response_class">[docs]</a>  <span class="k">def</span> <span class="nf">response_class</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockReply</span>
-</div>
-<div class="viewcode-block" id="GetHighestTradePrice.serialize_request"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetHighestTradePrice.serialize_request">[docs]</a>  <span class="k">def</span> <span class="nf">serialize_request</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">request</span><span class="o">.</span><span class="n">SerializeToString</span><span class="p">()</span>
-</div>
-<div class="viewcode-block" id="GetHighestTradePrice.deserialize_request"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetHighestTradePrice.deserialize_request">[docs]</a>  <span class="k">def</span> <span class="nf">deserialize_request</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">serialized_request</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockRequest</span><span class="o">.</span><span class="n">FromString</span><span class="p">(</span><span class="n">serialized_request</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="GetHighestTradePrice.serialize_response"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetHighestTradePrice.serialize_response">[docs]</a>  <span class="k">def</span> <span class="nf">serialize_response</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">response</span><span class="o">.</span><span class="n">SerializeToString</span><span class="p">()</span>
-</div>
-<div class="viewcode-block" id="GetHighestTradePrice.deserialize_response"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetHighestTradePrice.deserialize_response">[docs]</a>  <span class="k">def</span> <span class="nf">deserialize_response</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">serialized_response</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockReply</span><span class="o">.</span><span class="n">FromString</span><span class="p">(</span><span class="n">serialized_response</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="GetHighestTradePrice.service"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetHighestTradePrice.service">[docs]</a>  <span class="k">def</span> <span class="nf">service</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response_callback</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">control</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">_get_highest_trade_price</span><span class="p">(</span>
-        <span class="n">response_callback</span><span class="p">,</span> <span class="n">control</span><span class="p">,</span> <span class="n">context</span><span class="o">.</span><span class="n">is_active</span><span class="p">)</span>
-
-</div></div>
-<div class="viewcode-block" id="GetHighestTradePriceMessages"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetHighestTradePriceMessages">[docs]</a><span class="k">class</span> <span class="nc">GetHighestTradePriceMessages</span><span class="p">(</span><span class="n">service</span><span class="o">.</span><span class="n">StreamUnaryTestMessages</span><span class="p">):</span>
-
-<div class="viewcode-block" id="GetHighestTradePriceMessages.requests"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetHighestTradePriceMessages.requests">[docs]</a>  <span class="k">def</span> <span class="nf">requests</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">return</span> <span class="p">[</span>
-        <span class="n">stock_pb2</span><span class="o">.</span><span class="n">StockRequest</span><span class="p">(</span><span class="n">symbol</span><span class="o">=</span><span class="n">SYMBOL_FORMAT</span> <span class="o">%</span> <span class="n">index</span><span class="p">)</span>
-        <span class="k">for</span> <span class="n">index</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">STREAM_LENGTH</span><span class="p">)]</span>
-</div>
-<div class="viewcode-block" id="GetHighestTradePriceMessages.verify"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.GetHighestTradePriceMessages.verify">[docs]</a>  <span class="k">def</span> <span class="nf">verify</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">requests</span><span class="p">,</span> <span class="n">response</span><span class="p">,</span> <span class="n">test_case</span><span class="p">):</span>
-    <span class="n">price</span> <span class="o">=</span> <span class="bp">None</span>
-    <span class="n">symbol</span> <span class="o">=</span> <span class="bp">None</span>
-    <span class="k">for</span> <span class="n">stock_request</span> <span class="ow">in</span> <span class="n">requests</span><span class="p">:</span>
-      <span class="n">current_symbol</span> <span class="o">=</span> <span class="n">stock_request</span><span class="o">.</span><span class="n">symbol</span>
-      <span class="n">current_price</span> <span class="o">=</span> <span class="n">_price</span><span class="p">(</span><span class="n">current_symbol</span><span class="p">)</span>
-      <span class="k">if</span> <span class="n">price</span> <span class="ow">is</span> <span class="bp">None</span> <span class="ow">or</span> <span class="n">price</span> <span class="o">&lt;</span> <span class="n">current_price</span><span class="p">:</span>
-        <span class="n">price</span> <span class="o">=</span> <span class="n">current_price</span>
-        <span class="n">symbol</span> <span class="o">=</span> <span class="n">current_symbol</span>
-    <span class="n">test_case</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">price</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">price</span><span class="p">)</span>
-    <span class="n">test_case</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">symbol</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">symbol</span><span class="p">)</span>
-
-</div></div>
-<div class="viewcode-block" id="StockTestService"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.StockTestService">[docs]</a><span class="k">class</span> <span class="nc">StockTestService</span><span class="p">(</span><span class="n">service</span><span class="o">.</span><span class="n">TestService</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A corpus of test data with one method of each RPC cardinality.&quot;&quot;&quot;</span>
-
-<div class="viewcode-block" id="StockTestService.name"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.StockTestService.name">[docs]</a>  <span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">return</span> <span class="s">&#39;Stock&#39;</span>
-</div>
-<div class="viewcode-block" id="StockTestService.unary_unary_scenarios"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.StockTestService.unary_unary_scenarios">[docs]</a>  <span class="k">def</span> <span class="nf">unary_unary_scenarios</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">return</span> <span class="p">{</span>
-        <span class="s">&#39;GetLastTradePrice&#39;</span><span class="p">:</span> <span class="p">(</span>
-            <span class="n">GetLastTradePrice</span><span class="p">(),</span> <span class="p">[</span><span class="n">GetLastTradePriceMessages</span><span class="p">()]),</span>
-    <span class="p">}</span>
-</div>
-<div class="viewcode-block" id="StockTestService.unary_stream_scenarios"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.StockTestService.unary_stream_scenarios">[docs]</a>  <span class="k">def</span> <span class="nf">unary_stream_scenarios</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">return</span> <span class="p">{</span>
-        <span class="s">&#39;WatchFutureTrades&#39;</span><span class="p">:</span> <span class="p">(</span>
-            <span class="n">WatchFutureTrades</span><span class="p">(),</span> <span class="p">[</span><span class="n">WatchFutureTradesMessages</span><span class="p">()]),</span>
-    <span class="p">}</span>
-</div>
-<div class="viewcode-block" id="StockTestService.stream_unary_scenarios"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.StockTestService.stream_unary_scenarios">[docs]</a>  <span class="k">def</span> <span class="nf">stream_unary_scenarios</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">return</span> <span class="p">{</span>
-        <span class="s">&#39;GetHighestTradePrice&#39;</span><span class="p">:</span> <span class="p">(</span>
-            <span class="n">GetHighestTradePrice</span><span class="p">(),</span> <span class="p">[</span><span class="n">GetHighestTradePriceMessages</span><span class="p">()])</span>
-    <span class="p">}</span>
-</div>
-<div class="viewcode-block" id="StockTestService.stream_stream_scenarios"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.stock_service.StockTestService.stream_stream_scenarios">[docs]</a>  <span class="k">def</span> <span class="nf">stream_stream_scenarios</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="k">return</span> <span class="p">{</span>
-        <span class="s">&#39;GetLastTradePriceMultiple&#39;</span><span class="p">:</span> <span class="p">(</span>
-            <span class="n">GetLastTradePriceMultiple</span><span class="p">(),</span> <span class="p">[</span><span class="n">GetLastTradePriceMultipleMessages</span><span class="p">()]),</span>
-    <span class="p">}</span>
-
-</div></div>
-<span class="n">STOCK_TEST_SERVICE</span> <span class="o">=</span> <span class="n">StockTestService</span><span class="p">()</span>
-</pre></div>
-
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2015, Author.
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../../',
-            VERSION:'0.10.0a0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>

+ 0 - 269
python/_modules/grpc/framework/face/testing/test_case.html

@@ -1,269 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>grpc.framework.face.testing.test_case &mdash; grpcio 0.10.0a0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../../index.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-nav-search">
-        
-
-        
-          <a href="../../../../../index.html" class="icon icon-home"> grpcio
-        
-
-        
-        </a>
-
-        
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-        
-      </div>
-
-      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-        
-          
-          
-              <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../grpc.html">grpc package</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#subpackages">Subpackages</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.framework.html">grpc.framework package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#subpackages">Subpackages</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#module-grpc">Module contents</a></li>
-</ul>
-</li>
-</ul>
-
-          
-        
-      </div>
-      &nbsp;
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../../index.html">grpcio</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          <div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>grpc.framework.face.testing.test_case</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document">
-            
-  <h1>Source code for grpc.framework.face.testing.test_case</h1><div class="highlight"><pre>
-<span class="c"># Copyright 2015, Google Inc.</span>
-<span class="c"># All rights reserved.</span>
-<span class="c">#</span>
-<span class="c"># Redistribution and use in source and binary forms, with or without</span>
-<span class="c"># modification, are permitted provided that the following conditions are</span>
-<span class="c"># met:</span>
-<span class="c">#</span>
-<span class="c">#     * Redistributions of source code must retain the above copyright</span>
-<span class="c"># notice, this list of conditions and the following disclaimer.</span>
-<span class="c">#     * Redistributions in binary form must reproduce the above</span>
-<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
-<span class="c"># in the documentation and/or other materials provided with the</span>
-<span class="c"># distribution.</span>
-<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
-<span class="c"># contributors may be used to endorse or promote products derived from</span>
-<span class="c"># this software without specific prior written permission.</span>
-<span class="c">#</span>
-<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
-<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
-<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
-<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
-<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
-<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
-<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-
-<span class="sd">&quot;&quot;&quot;Tools for creating tests of implementations of the Face layer.&quot;&quot;&quot;</span>
-
-<span class="kn">import</span> <span class="nn">abc</span>
-
-<span class="c"># face_interfaces and interfaces are referenced in specification in this module.</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face</span> <span class="kn">import</span> <span class="n">interfaces</span> <span class="k">as</span> <span class="n">face_interfaces</span>  <span class="c"># pylint: disable=unused-import</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.face.testing</span> <span class="kn">import</span> <span class="n">interfaces</span>  <span class="c"># pylint: disable=unused-import</span>
-
-
-<div class="viewcode-block" id="FaceTestCase"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.test_case.FaceTestCase">[docs]</a><span class="k">class</span> <span class="nc">FaceTestCase</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;Describes a test of the Face Layer of RPC Framework.</span>
-
-<span class="sd">  Concrete subclasses must also inherit from unittest.TestCase and from at least</span>
-<span class="sd">  one class that defines test methods.</span>
-<span class="sd">  &quot;&quot;&quot;</span>
-  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
-
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="FaceTestCase.set_up_implementation"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.test_case.FaceTestCase.set_up_implementation">[docs]</a>  <span class="k">def</span> <span class="nf">set_up_implementation</span><span class="p">(</span>
-      <span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">methods</span><span class="p">,</span> <span class="n">method_implementations</span><span class="p">,</span>
-      <span class="n">multi_method_implementation</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Instantiates the Face Layer implementation under test.</span>
-
-<span class="sd">    Args:</span>
-<span class="sd">      name: The service name to be used in the test.</span>
-<span class="sd">      methods: A sequence of interfaces.Method objects describing the RPC</span>
-<span class="sd">        methods that will be called during the test.</span>
-<span class="sd">      method_implementations: A dictionary from string RPC method name to</span>
-<span class="sd">        face_interfaces.MethodImplementation object specifying</span>
-<span class="sd">        implementation of an RPC method.</span>
-<span class="sd">      multi_method_implementation: An face_interfaces.MultiMethodImplementation</span>
-<span class="sd">        or None.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      A sequence of length two the first element of which is a</span>
-<span class="sd">        face_interfaces.GenericStub (backed by the given method</span>
-<span class="sd">        implementations), and the second element of which is an arbitrary memo</span>
-<span class="sd">        object to be kept and passed to tearDownImplementation at the conclusion</span>
-<span class="sd">        of the test.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="FaceTestCase.tear_down_implementation"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.test_case.FaceTestCase.tear_down_implementation">[docs]</a>  <span class="k">def</span> <span class="nf">tear_down_implementation</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">memo</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Destroys the Face layer implementation under test.</span>
-
-<span class="sd">    Args:</span>
-<span class="sd">      memo: The object from the second position of the return value of</span>
-<span class="sd">        set_up_implementation.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span></div></div>
-</pre></div>
-
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2015, Author.
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../../',
-            VERSION:'0.10.0a0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>

+ 11 - 4
python/_modules/grpc/framework/face/utilities.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.face.utilities &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.face.utilities &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -336,7 +343,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 11 - 4
python/_modules/grpc/framework/foundation/abandonment.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.foundation.abandonment &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.foundation.abandonment &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -197,7 +204,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 11 - 4
python/_modules/grpc/framework/foundation/activated.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.foundation.activated &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.foundation.activated &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -224,7 +231,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 11 - 4
python/_modules/grpc/framework/foundation/callable_util.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.foundation.callable_util &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.foundation.callable_util &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -266,7 +273,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 11 - 4
python/_modules/grpc/framework/foundation/future.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.foundation.future &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.foundation.future &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -395,7 +402,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 11 - 4
python/_modules/grpc/framework/foundation/later.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.foundation.later &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.foundation.later &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -210,7 +217,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 11 - 4
python/_modules/grpc/framework/foundation/logging_pool.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.foundation.logging_pool &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.foundation.logging_pool &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -242,7 +249,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 11 - 4
python/_modules/grpc/framework/foundation/relay.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.foundation.relay &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.foundation.relay &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -334,7 +341,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 11 - 4
python/_modules/grpc/framework/foundation/stream.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.foundation.stream &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.foundation.stream &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -219,7 +226,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 0 - 262
python/_modules/grpc/framework/foundation/stream_testing.html

@@ -1,262 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>grpc.framework.foundation.stream_testing &mdash; grpcio 0.10.0a0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../index.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-nav-search">
-        
-
-        
-          <a href="../../../../index.html" class="icon icon-home"> grpcio
-        
-
-        
-        </a>
-
-        
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-        
-      </div>
-
-      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-        
-          
-          
-              <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.framework.html">grpc.framework package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.framework.html#subpackages">Subpackages</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#module-grpc">Module contents</a></li>
-</ul>
-</li>
-</ul>
-
-          
-        
-      </div>
-      &nbsp;
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../index.html">grpcio</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          <div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>grpc.framework.foundation.stream_testing</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document">
-            
-  <h1>Source code for grpc.framework.foundation.stream_testing</h1><div class="highlight"><pre>
-<span class="c"># Copyright 2015, Google Inc.</span>
-<span class="c"># All rights reserved.</span>
-<span class="c">#</span>
-<span class="c"># Redistribution and use in source and binary forms, with or without</span>
-<span class="c"># modification, are permitted provided that the following conditions are</span>
-<span class="c"># met:</span>
-<span class="c">#</span>
-<span class="c">#     * Redistributions of source code must retain the above copyright</span>
-<span class="c"># notice, this list of conditions and the following disclaimer.</span>
-<span class="c">#     * Redistributions in binary form must reproduce the above</span>
-<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
-<span class="c"># in the documentation and/or other materials provided with the</span>
-<span class="c"># distribution.</span>
-<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
-<span class="c"># contributors may be used to endorse or promote products derived from</span>
-<span class="c"># this software without specific prior written permission.</span>
-<span class="c">#</span>
-<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
-<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
-<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
-<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
-<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
-<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
-<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-
-<span class="sd">&quot;&quot;&quot;Utilities for testing stream-related code.&quot;&quot;&quot;</span>
-
-<span class="kn">from</span> <span class="nn">grpc.framework.foundation</span> <span class="kn">import</span> <span class="n">stream</span>
-
-
-<div class="viewcode-block" id="TestConsumer"><a class="viewcode-back" href="../../../../grpc.framework.foundation.html#grpc.framework.foundation.stream_testing.TestConsumer">[docs]</a><span class="k">class</span> <span class="nc">TestConsumer</span><span class="p">(</span><span class="n">stream</span><span class="o">.</span><span class="n">Consumer</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A stream.Consumer instrumented for testing.</span>
-
-<span class="sd">  Attributes:</span>
-<span class="sd">    calls: A sequence of value-termination pairs describing the history of calls</span>
-<span class="sd">      made on this object.</span>
-<span class="sd">  &quot;&quot;&quot;</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">calls</span> <span class="o">=</span> <span class="p">[]</span>
-
-<div class="viewcode-block" id="TestConsumer.consume"><a class="viewcode-back" href="../../../../grpc.framework.foundation.html#grpc.framework.foundation.stream_testing.TestConsumer.consume">[docs]</a>  <span class="k">def</span> <span class="nf">consume</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;See stream.Consumer.consume for specification.&quot;&quot;&quot;</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">calls</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">value</span><span class="p">,</span> <span class="bp">False</span><span class="p">))</span>
-</div>
-<div class="viewcode-block" id="TestConsumer.terminate"><a class="viewcode-back" href="../../../../grpc.framework.foundation.html#grpc.framework.foundation.stream_testing.TestConsumer.terminate">[docs]</a>  <span class="k">def</span> <span class="nf">terminate</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;See stream.Consumer.terminate for specification.&quot;&quot;&quot;</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">calls</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="bp">None</span><span class="p">,</span> <span class="bp">True</span><span class="p">))</span>
-</div>
-<div class="viewcode-block" id="TestConsumer.consume_and_terminate"><a class="viewcode-back" href="../../../../grpc.framework.foundation.html#grpc.framework.foundation.stream_testing.TestConsumer.consume_and_terminate">[docs]</a>  <span class="k">def</span> <span class="nf">consume_and_terminate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;See stream.Consumer.consume_and_terminate for specification.&quot;&quot;&quot;</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">calls</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">value</span><span class="p">,</span> <span class="bp">True</span><span class="p">))</span>
-</div>
-<div class="viewcode-block" id="TestConsumer.is_legal"><a class="viewcode-back" href="../../../../grpc.framework.foundation.html#grpc.framework.foundation.stream_testing.TestConsumer.is_legal">[docs]</a>  <span class="k">def</span> <span class="nf">is_legal</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Reports whether or not a legal sequence of calls has been made.&quot;&quot;&quot;</span>
-    <span class="n">terminated</span> <span class="o">=</span> <span class="bp">False</span>
-    <span class="k">for</span> <span class="n">value</span><span class="p">,</span> <span class="n">terminal</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">calls</span><span class="p">:</span>
-      <span class="k">if</span> <span class="n">terminated</span><span class="p">:</span>
-        <span class="k">return</span> <span class="bp">False</span>
-      <span class="k">elif</span> <span class="n">terminal</span><span class="p">:</span>
-        <span class="n">terminated</span> <span class="o">=</span> <span class="bp">True</span>
-      <span class="k">elif</span> <span class="n">value</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
-        <span class="k">return</span> <span class="bp">False</span>
-    <span class="k">else</span><span class="p">:</span>  <span class="c"># pylint: disable=useless-else-on-loop</span>
-      <span class="k">return</span> <span class="bp">True</span>
-</div>
-<div class="viewcode-block" id="TestConsumer.values"><a class="viewcode-back" href="../../../../grpc.framework.foundation.html#grpc.framework.foundation.stream_testing.TestConsumer.values">[docs]</a>  <span class="k">def</span> <span class="nf">values</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Returns the sequence of values that have been passed to this Consumer.&quot;&quot;&quot;</span>
-    <span class="k">return</span> <span class="p">[</span><span class="n">value</span> <span class="k">for</span> <span class="n">value</span><span class="p">,</span> <span class="n">_</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">calls</span> <span class="k">if</span> <span class="n">value</span><span class="p">]</span></div></div>
-</pre></div>
-
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2015, Author.
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>

+ 11 - 4
python/_modules/grpc/framework/foundation/stream_util.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.foundation.stream_util &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.foundation.stream_util &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -319,7 +326,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 535 - 0
python/_modules/grpc/framework/interfaces/base/base.html

@@ -0,0 +1,535 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>grpc.framework.interfaces.base.base &mdash; grpcio 0.11.0b0 documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../../index.html"/> 
+
+  
+  <script src="_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-nav-search">
+        
+
+        
+          <a href="../../../../../index.html" class="icon icon-home"> grpcio
+        
+
+        
+        </a>
+
+        
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+        
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+        
+          
+          
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../grpc.html">grpc package</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.framework.html">grpc.framework package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#subpackages">Subpackages</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#module-grpc">Module contents</a></li>
+</ul>
+</li>
+</ul>
+
+          
+        
+      </div>
+      &nbsp;
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../../../../../index.html">grpcio</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="../../../../index.html">Module code</a> &raquo;</li>
+      
+    <li>grpc.framework.interfaces.base.base</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document">
+            
+  <h1>Source code for grpc.framework.interfaces.base.base</h1><div class="highlight"><pre>
+<span class="c"># Copyright 2015, Google Inc.</span>
+<span class="c"># All rights reserved.</span>
+<span class="c">#</span>
+<span class="c"># Redistribution and use in source and binary forms, with or without</span>
+<span class="c"># modification, are permitted provided that the following conditions are</span>
+<span class="c"># met:</span>
+<span class="c">#</span>
+<span class="c">#     * Redistributions of source code must retain the above copyright</span>
+<span class="c"># notice, this list of conditions and the following disclaimer.</span>
+<span class="c">#     * Redistributions in binary form must reproduce the above</span>
+<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
+<span class="c"># in the documentation and/or other materials provided with the</span>
+<span class="c"># distribution.</span>
+<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
+<span class="c"># contributors may be used to endorse or promote products derived from</span>
+<span class="c"># this software without specific prior written permission.</span>
+<span class="c">#</span>
+<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
+<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
+<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
+<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
+<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
+<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
+<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
+<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
+<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
+<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
+<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+
+<span class="sd">&quot;&quot;&quot;The base interface of RPC Framework.</span>
+
+<span class="sd">Implementations of this interface support the conduct of &quot;operations&quot;:</span>
+<span class="sd">exchanges between two distinct ends of an arbitrary number of data payloads</span>
+<span class="sd">and metadata such as a name for the operation, initial and terminal metadata</span>
+<span class="sd">in each direction, and flow control. These operations may be used for transfers</span>
+<span class="sd">of data, remote procedure calls, status indication, or anything else</span>
+<span class="sd">applications choose.</span>
+<span class="sd">&quot;&quot;&quot;</span>
+
+<span class="c"># threading is referenced from specification in this module.</span>
+<span class="kn">import</span> <span class="nn">abc</span>
+<span class="kn">import</span> <span class="nn">enum</span>
+<span class="kn">import</span> <span class="nn">threading</span>  <span class="c"># pylint: disable=unused-import</span>
+
+<span class="c"># abandonment is referenced from specification in this module.</span>
+<span class="kn">from</span> <span class="nn">grpc.framework.foundation</span> <span class="kn">import</span> <span class="n">abandonment</span>  <span class="c"># pylint: disable=unused-import</span>
+
+
+<div class="viewcode-block" id="NoSuchMethodError"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.base.NoSuchMethodError">[docs]</a><span class="k">class</span> <span class="nc">NoSuchMethodError</span><span class="p">(</span><span class="ne">Exception</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Indicates that an unrecognized operation has been called.</span>
+
+<span class="sd">  Attributes:</span>
+<span class="sd">    code: A code value to communicate to the other side of the operation along</span>
+<span class="sd">      with indication of operation termination. May be None.</span>
+<span class="sd">    details: A details value to communicate to the other side of the operation</span>
+<span class="sd">      along with indication of operation termination. May be None.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+
+  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">code</span><span class="p">,</span> <span class="n">details</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Constructor.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      code: A code value to communicate to the other side of the operation</span>
+<span class="sd">        along with indication of operation termination. May be None.</span>
+<span class="sd">      details: A details value to communicate to the other side of the</span>
+<span class="sd">        operation along with indication of operation termination. May be None.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">code</span> <span class="o">=</span> <span class="n">code</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">details</span> <span class="o">=</span> <span class="n">details</span>
+
+</div>
+<div class="viewcode-block" id="Outcome"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.base.Outcome">[docs]</a><span class="k">class</span> <span class="nc">Outcome</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;The outcome of an operation.</span>
+
+<span class="sd">  Attributes:</span>
+<span class="sd">    kind: A Kind value coarsely identifying how the operation terminated.</span>
+<span class="sd">    code: An application-specific code value or None if no such value was</span>
+<span class="sd">      provided.</span>
+<span class="sd">    details: An application-specific details value or None if no such value was</span>
+<span class="sd">      provided.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+
+  <span class="nd">@enum.unique</span>
+<div class="viewcode-block" id="Outcome.Kind"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.base.Outcome.Kind">[docs]</a>  <span class="k">class</span> <span class="nc">Kind</span><span class="p">(</span><span class="n">enum</span><span class="o">.</span><span class="n">Enum</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Ways in which an operation can terminate.&quot;&quot;&quot;</span>
+
+    <span class="n">COMPLETED</span> <span class="o">=</span> <span class="s">&#39;completed&#39;</span>
+    <span class="n">CANCELLED</span> <span class="o">=</span> <span class="s">&#39;cancelled&#39;</span>
+    <span class="n">EXPIRED</span> <span class="o">=</span> <span class="s">&#39;expired&#39;</span>
+    <span class="n">LOCAL_SHUTDOWN</span> <span class="o">=</span> <span class="s">&#39;local shutdown&#39;</span>
+    <span class="n">REMOTE_SHUTDOWN</span> <span class="o">=</span> <span class="s">&#39;remote shutdown&#39;</span>
+    <span class="n">RECEPTION_FAILURE</span> <span class="o">=</span> <span class="s">&#39;reception failure&#39;</span>
+    <span class="n">TRANSMISSION_FAILURE</span> <span class="o">=</span> <span class="s">&#39;transmission failure&#39;</span>
+    <span class="n">LOCAL_FAILURE</span> <span class="o">=</span> <span class="s">&#39;local failure&#39;</span>
+    <span class="n">REMOTE_FAILURE</span> <span class="o">=</span> <span class="s">&#39;remote failure&#39;</span>
+
+</div></div>
+<div class="viewcode-block" id="Completion"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.base.Completion">[docs]</a><span class="k">class</span> <span class="nc">Completion</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;An aggregate of the values exchanged upon operation completion.</span>
+
+<span class="sd">  Attributes:</span>
+<span class="sd">    terminal_metadata: A terminal metadata value for the operaton.</span>
+<span class="sd">    code: A code value for the operation.</span>
+<span class="sd">    message: A message value for the operation.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
+
+</div>
+<div class="viewcode-block" id="OperationContext"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.base.OperationContext">[docs]</a><span class="k">class</span> <span class="nc">OperationContext</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Provides operation-related information and action.&quot;&quot;&quot;</span>
+  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
+
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="OperationContext.outcome"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.base.OperationContext.outcome">[docs]</a>  <span class="k">def</span> <span class="nf">outcome</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Indicates the operation&#39;s outcome (or that the operation is ongoing).</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      None if the operation is still active or the Outcome value for the</span>
+<span class="sd">        operation if it has terminated.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="OperationContext.add_termination_callback"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.base.OperationContext.add_termination_callback">[docs]</a>  <span class="k">def</span> <span class="nf">add_termination_callback</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">callback</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Adds a function to be called upon operation termination.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      callback: A callable to be passed an Outcome value on operation</span>
+<span class="sd">        termination.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      None if the operation has not yet terminated and the passed callback will</span>
+<span class="sd">        later be called when it does terminate, or if the operation has already</span>
+<span class="sd">        terminated an Outcome value describing the operation termination and the</span>
+<span class="sd">        passed callback will not be called as a result of this method call.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="OperationContext.time_remaining"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.base.OperationContext.time_remaining">[docs]</a>  <span class="k">def</span> <span class="nf">time_remaining</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Describes the length of allowed time remaining for the operation.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      A nonnegative float indicating the length of allowed time in seconds</span>
+<span class="sd">      remaining for the operation to complete before it is considered to have</span>
+<span class="sd">      timed out. Zero is returned if the operation has terminated.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="OperationContext.cancel"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.base.OperationContext.cancel">[docs]</a>  <span class="k">def</span> <span class="nf">cancel</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Cancels the operation if the operation has not yet terminated.&quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="OperationContext.fail"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.base.OperationContext.fail">[docs]</a>  <span class="k">def</span> <span class="nf">fail</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">exception</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Indicates that the operation has failed.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      exception: An exception germane to the operation failure. May be None.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+
+</div></div>
+<div class="viewcode-block" id="Operator"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.base.Operator">[docs]</a><span class="k">class</span> <span class="nc">Operator</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;An interface through which to participate in an operation.&quot;&quot;&quot;</span>
+  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
+
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="Operator.advance"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.base.Operator.advance">[docs]</a>  <span class="k">def</span> <span class="nf">advance</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">initial_metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">payload</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">completion</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+      <span class="n">allowance</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Progresses the operation.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      initial_metadata: An initial metadata value. Only one may ever be</span>
+<span class="sd">        communicated in each direction for an operation, and they must be</span>
+<span class="sd">        communicated no later than either the first payload or the completion.</span>
+<span class="sd">      payload: A payload value.</span>
+<span class="sd">      completion: A Completion value. May only ever be non-None once in either</span>
+<span class="sd">        direction, and no payloads may be passed after it has been communicated.</span>
+<span class="sd">      allowance: A positive integer communicating the number of additional</span>
+<span class="sd">        payloads allowed to be passed by the remote side of the operation.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div></div>
+<div class="viewcode-block" id="ProtocolReceiver"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.base.ProtocolReceiver">[docs]</a><span class="k">class</span> <span class="nc">ProtocolReceiver</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;A means of receiving protocol values during an operation.&quot;&quot;&quot;</span>
+  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
+
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="ProtocolReceiver.context"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.base.ProtocolReceiver.context">[docs]</a>  <span class="k">def</span> <span class="nf">context</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">protocol_context</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Accepts the protocol context object for the operation.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      protocol_context: The protocol context object for the operation.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+
+</div></div>
+<div class="viewcode-block" id="Subscription"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.base.Subscription">[docs]</a><span class="k">class</span> <span class="nc">Subscription</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Describes customer code&#39;s interest in values from the other side.</span>
+
+<span class="sd">  Attributes:</span>
+<span class="sd">    kind: A Kind value describing the overall kind of this value.</span>
+<span class="sd">    termination_callback: A callable to be passed the Outcome associated with</span>
+<span class="sd">      the operation after it has terminated. Must be non-None if kind is</span>
+<span class="sd">      Kind.TERMINATION_ONLY. Must be None otherwise.</span>
+<span class="sd">    allowance: A callable behavior that accepts positive integers representing</span>
+<span class="sd">      the number of additional payloads allowed to be passed to the other side</span>
+<span class="sd">      of the operation. Must be None if kind is Kind.FULL. Must not be None</span>
+<span class="sd">      otherwise.</span>
+<span class="sd">    operator: An Operator to be passed values from the other side of the</span>
+<span class="sd">      operation. Must be non-None if kind is Kind.FULL. Must be None otherwise.</span>
+<span class="sd">    protocol_receiver: A ProtocolReceiver to be passed protocol objects as they</span>
+<span class="sd">      become available during the operation. Must be non-None if kind is</span>
+<span class="sd">      Kind.FULL.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
+
+  <span class="nd">@enum.unique</span>
+<div class="viewcode-block" id="Subscription.Kind"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.base.Subscription.Kind">[docs]</a>  <span class="k">class</span> <span class="nc">Kind</span><span class="p">(</span><span class="n">enum</span><span class="o">.</span><span class="n">Enum</span><span class="p">):</span>
+
+    <span class="n">NONE</span> <span class="o">=</span> <span class="s">&#39;none&#39;</span>
+    <span class="n">TERMINATION_ONLY</span> <span class="o">=</span> <span class="s">&#39;termination only&#39;</span>
+    <span class="n">FULL</span> <span class="o">=</span> <span class="s">&#39;full&#39;</span>
+
+</div></div>
+<div class="viewcode-block" id="Servicer"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.base.Servicer">[docs]</a><span class="k">class</span> <span class="nc">Servicer</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Interface for service implementations.&quot;&quot;&quot;</span>
+  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
+
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="Servicer.service"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.base.Servicer.service">[docs]</a>  <span class="k">def</span> <span class="nf">service</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">output_operator</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Services an operation.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      group: The group identifier of the operation to be serviced.</span>
+<span class="sd">      method: The method identifier of the operation to be serviced.</span>
+<span class="sd">      context: An OperationContext object affording contextual information and</span>
+<span class="sd">        actions.</span>
+<span class="sd">      output_operator: An Operator that will accept output values of the</span>
+<span class="sd">        operation.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      A Subscription via which this object may or may not accept more values of</span>
+<span class="sd">        the operation.</span>
+
+<span class="sd">    Raises:</span>
+<span class="sd">      NoSuchMethodError: If this Servicer does not handle operations with the</span>
+<span class="sd">        given group and method.</span>
+<span class="sd">      abandonment.Abandoned: If the operation has been aborted and there no</span>
+<span class="sd">        longer is any reason to service the operation.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+
+</div></div>
+<div class="viewcode-block" id="End"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.base.End">[docs]</a><span class="k">class</span> <span class="nc">End</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Common type for entry-point objects on both sides of an operation.&quot;&quot;&quot;</span>
+  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
+
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="End.start"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.base.End.start">[docs]</a>  <span class="k">def</span> <span class="nf">start</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Starts this object&#39;s service of operations.&quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="End.stop"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.base.End.stop">[docs]</a>  <span class="k">def</span> <span class="nf">stop</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">grace</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Stops this object&#39;s service of operations.</span>
+
+<span class="sd">    This object will refuse service of new operations as soon as this method is</span>
+<span class="sd">    called but operations under way at the time of the call may be given a</span>
+<span class="sd">    grace period during which they are allowed to finish.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      grace: A duration of time in seconds to allow ongoing operations to</span>
+<span class="sd">        terminate before being forcefully terminated by the stopping of this</span>
+<span class="sd">        End. May be zero to terminate all ongoing operations and immediately</span>
+<span class="sd">        stop.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      A threading.Event that will be set to indicate all operations having</span>
+<span class="sd">        terminated and this End having completely stopped. The returned event</span>
+<span class="sd">        may not be set until after the full grace period (if some ongoing</span>
+<span class="sd">        operation continues for the full length of the period) or it may be set</span>
+<span class="sd">        much sooner (if for example this End had no operations in progress at</span>
+<span class="sd">        the time its stop method was called).</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="End.operate"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.base.End.operate">[docs]</a>  <span class="k">def</span> <span class="nf">operate</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">subscription</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">initial_metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+      <span class="n">payload</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">completion</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Commences an operation.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      group: The group identifier of the invoked operation.</span>
+<span class="sd">      method: The method identifier of the invoked operation.</span>
+<span class="sd">      subscription: A Subscription to which the results of the operation will be</span>
+<span class="sd">        passed.</span>
+<span class="sd">      timeout: A length of time in seconds to allow for the operation.</span>
+<span class="sd">      initial_metadata: An initial metadata value to be sent to the other side</span>
+<span class="sd">        of the operation. May be None if the initial metadata will be later</span>
+<span class="sd">        passed via the returned operator or if there will be no initial metadata</span>
+<span class="sd">        passed at all.</span>
+<span class="sd">      payload: An initial payload for the operation.</span>
+<span class="sd">      completion: A Completion value indicating the end of transmission to the</span>
+<span class="sd">        other side of the operation.</span>
+<span class="sd">      protocol_options: A value specified by the provider of a Base interface</span>
+<span class="sd">        implementation affording custom state and behavior.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      A pair of objects affording information about the operation and action</span>
+<span class="sd">        continuing the operation. The first element of the returned pair is an</span>
+<span class="sd">        OperationContext for the operation and the second element of the</span>
+<span class="sd">        returned pair is an Operator to which operation values not passed in</span>
+<span class="sd">        this call should later be passed.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="End.operation_stats"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.base.End.operation_stats">[docs]</a>  <span class="k">def</span> <span class="nf">operation_stats</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Reports the number of terminated operations broken down by outcome.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      A dictionary from Outcome.Kind value to an integer identifying the number</span>
+<span class="sd">        of operations that terminated with that outcome kind.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="End.add_idle_action"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.base.End.add_idle_action">[docs]</a>  <span class="k">def</span> <span class="nf">add_idle_action</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">action</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Adds an action to be called when this End has no ongoing operations.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      action: A callable that accepts no arguments.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span></div></div>
+</pre></div>
+
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2015, Author.
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../../',
+            VERSION:'0.11.0b0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>

+ 58 - 39
python/_modules/grpc/framework/face/testing/serial.html → python/_modules/grpc/framework/interfaces/base/utilities.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.face.testing.serial &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.interfaces.base.utilities &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -116,7 +123,7 @@
       
           <li><a href="../../../../index.html">Module code</a> &raquo;</li>
       
-    <li>grpc.framework.face.testing.serial</li>
+    <li>grpc.framework.interfaces.base.utilities</li>
       <li class="wy-breadcrumbs-aside">
         
           
@@ -127,7 +134,7 @@
 </div>
           <div role="main" class="document">
             
-  <h1>Source code for grpc.framework.face.testing.serial</h1><div class="highlight"><pre>
+  <h1>Source code for grpc.framework.interfaces.base.utilities</h1><div class="highlight"><pre>
 <span class="c"># Copyright 2015, Google Inc.</span>
 <span class="c"># All rights reserved.</span>
 <span class="c">#</span>
@@ -157,47 +164,59 @@
 <span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
 <span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
 
-<span class="sd">&quot;&quot;&quot;Utility for serialization in the context of test RPC services.&quot;&quot;&quot;</span>
+<span class="sd">&quot;&quot;&quot;Utilities for use with the base interface of RPC Framework.&quot;&quot;&quot;</span>
 
 <span class="kn">import</span> <span class="nn">collections</span>
 
+<span class="kn">from</span> <span class="nn">grpc.framework.interfaces.base</span> <span class="kn">import</span> <span class="n">base</span>
 
-<div class="viewcode-block" id="Serialization"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.serial.Serialization">[docs]</a><span class="k">class</span> <span class="nc">Serialization</span><span class="p">(</span>
+
+<span class="k">class</span> <span class="nc">_Completion</span><span class="p">(</span>
+    <span class="n">base</span><span class="o">.</span><span class="n">Completion</span><span class="p">,</span>
     <span class="n">collections</span><span class="o">.</span><span class="n">namedtuple</span><span class="p">(</span>
-        <span class="s">&#39;_Serialization&#39;</span><span class="p">,</span>
-        <span class="p">[</span><span class="s">&#39;request_serializers&#39;</span><span class="p">,</span>
-         <span class="s">&#39;request_deserializers&#39;</span><span class="p">,</span>
-         <span class="s">&#39;response_serializers&#39;</span><span class="p">,</span>
-         <span class="s">&#39;response_deserializers&#39;</span><span class="p">])):</span>
-  <span class="sd">&quot;&quot;&quot;An aggregation of serialization behaviors for an RPC service.</span>
-
-<span class="sd">  Attributes:</span>
-<span class="sd">    request_serializers: A dict from method name to request object serializer</span>
-<span class="sd">      behavior.</span>
-<span class="sd">    request_deserializers: A dict from method name to request object</span>
-<span class="sd">      deserializer behavior.</span>
-<span class="sd">    response_serializers: A dict from method name to response object serializer</span>
-<span class="sd">      behavior.</span>
-<span class="sd">    response_deserializers: A dict from method name to response object</span>
-<span class="sd">      deserializer behavior.</span>
+        <span class="s">&#39;_Completion&#39;</span><span class="p">,</span> <span class="p">(</span><span class="s">&#39;terminal_metadata&#39;</span><span class="p">,</span> <span class="s">&#39;code&#39;</span><span class="p">,</span> <span class="s">&#39;message&#39;</span><span class="p">,))):</span>
+  <span class="sd">&quot;&quot;&quot;A trivial implementation of base.Completion.&quot;&quot;&quot;</span>
+
+
+<span class="k">class</span> <span class="nc">_Subscription</span><span class="p">(</span>
+    <span class="n">base</span><span class="o">.</span><span class="n">Subscription</span><span class="p">,</span>
+    <span class="n">collections</span><span class="o">.</span><span class="n">namedtuple</span><span class="p">(</span>
+        <span class="s">&#39;_Subscription&#39;</span><span class="p">,</span>
+        <span class="p">(</span><span class="s">&#39;kind&#39;</span><span class="p">,</span> <span class="s">&#39;termination_callback&#39;</span><span class="p">,</span> <span class="s">&#39;allowance&#39;</span><span class="p">,</span> <span class="s">&#39;operator&#39;</span><span class="p">,</span>
+         <span class="s">&#39;protocol_receiver&#39;</span><span class="p">,))):</span>
+  <span class="sd">&quot;&quot;&quot;A trivial implementation of base.Subscription.&quot;&quot;&quot;</span>
+
+<span class="n">_NONE_SUBSCRIPTION</span> <span class="o">=</span> <span class="n">_Subscription</span><span class="p">(</span>
+    <span class="n">base</span><span class="o">.</span><span class="n">Subscription</span><span class="o">.</span><span class="n">Kind</span><span class="o">.</span><span class="n">NONE</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
+
+
+<div class="viewcode-block" id="completion"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.utilities.completion">[docs]</a><span class="k">def</span> <span class="nf">completion</span><span class="p">(</span><span class="n">terminal_metadata</span><span class="p">,</span> <span class="n">code</span><span class="p">,</span> <span class="n">message</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates a base.Completion aggregating the given operation values.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    terminal_metadata: A terminal metadata value for an operaton.</span>
+<span class="sd">    code: A code value for an operation.</span>
+<span class="sd">    message: A message value for an operation.</span>
+
+<span class="sd">  Returns:</span>
+<span class="sd">    A base.Completion aggregating the given operation values.</span>
 <span class="sd">  &quot;&quot;&quot;</span>
+  <span class="k">return</span> <span class="n">_Completion</span><span class="p">(</span><span class="n">terminal_metadata</span><span class="p">,</span> <span class="n">code</span><span class="p">,</span> <span class="n">message</span><span class="p">)</span>
 
 </div>
-<div class="viewcode-block" id="serialization"><a class="viewcode-back" href="../../../../../grpc.framework.face.testing.html#grpc.framework.face.testing.serial.serialization">[docs]</a><span class="k">def</span> <span class="nf">serialization</span><span class="p">(</span><span class="n">methods</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;Creates a Serialization from a sequences of interfaces.Method objects.&quot;&quot;&quot;</span>
-  <span class="n">request_serializers</span> <span class="o">=</span> <span class="p">{}</span>
-  <span class="n">request_deserializers</span> <span class="o">=</span> <span class="p">{}</span>
-  <span class="n">response_serializers</span> <span class="o">=</span> <span class="p">{}</span>
-  <span class="n">response_deserializers</span> <span class="o">=</span> <span class="p">{}</span>
-  <span class="k">for</span> <span class="n">method</span> <span class="ow">in</span> <span class="n">methods</span><span class="p">:</span>
-    <span class="n">name</span> <span class="o">=</span> <span class="n">method</span><span class="o">.</span><span class="n">name</span><span class="p">()</span>
-    <span class="n">request_serializers</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">method</span><span class="o">.</span><span class="n">serialize_request</span>
-    <span class="n">request_deserializers</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">method</span><span class="o">.</span><span class="n">deserialize_request</span>
-    <span class="n">response_serializers</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">method</span><span class="o">.</span><span class="n">serialize_response</span>
-    <span class="n">response_deserializers</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">method</span><span class="o">.</span><span class="n">deserialize_response</span>
-  <span class="k">return</span> <span class="n">Serialization</span><span class="p">(</span>
-      <span class="n">request_serializers</span><span class="p">,</span> <span class="n">request_deserializers</span><span class="p">,</span> <span class="n">response_serializers</span><span class="p">,</span>
-      <span class="n">response_deserializers</span><span class="p">)</span></div>
+<div class="viewcode-block" id="full_subscription"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.base.html#grpc.framework.interfaces.base.utilities.full_subscription">[docs]</a><span class="k">def</span> <span class="nf">full_subscription</span><span class="p">(</span><span class="n">operator</span><span class="p">,</span> <span class="n">protocol_receiver</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates a &quot;full&quot; base.Subscription for the given base.Operator.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    operator: A base.Operator to be used in an operation.</span>
+<span class="sd">    protocol_receiver: A base.ProtocolReceiver to be used in an operation.</span>
+
+<span class="sd">  Returns:</span>
+<span class="sd">    A base.Subscription of kind base.Subscription.Kind.FULL wrapping the given</span>
+<span class="sd">      base.Operator and base.ProtocolReceiver.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="k">return</span> <span class="n">_Subscription</span><span class="p">(</span>
+      <span class="n">base</span><span class="o">.</span><span class="n">Subscription</span><span class="o">.</span><span class="n">Kind</span><span class="o">.</span><span class="n">FULL</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="n">operator</span><span class="p">,</span> <span class="n">protocol_receiver</span><span class="p">)</span></div>
 </pre></div>
 
           </div>
@@ -229,7 +248,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 1188 - 0
python/_modules/grpc/framework/interfaces/face/face.html

@@ -0,0 +1,1188 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>grpc.framework.interfaces.face.face &mdash; grpcio 0.11.0b0 documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../../index.html"/> 
+
+  
+  <script src="_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-nav-search">
+        
+
+        
+          <a href="../../../../../index.html" class="icon icon-home"> grpcio
+        
+
+        
+        </a>
+
+        
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+        
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+        
+          
+          
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../grpc.html">grpc package</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.framework.html">grpc.framework package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#subpackages">Subpackages</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#module-grpc">Module contents</a></li>
+</ul>
+</li>
+</ul>
+
+          
+        
+      </div>
+      &nbsp;
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../../../../../index.html">grpcio</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="../../../../index.html">Module code</a> &raquo;</li>
+      
+    <li>grpc.framework.interfaces.face.face</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document">
+            
+  <h1>Source code for grpc.framework.interfaces.face.face</h1><div class="highlight"><pre>
+<span class="c"># Copyright 2015, Google Inc.</span>
+<span class="c"># All rights reserved.</span>
+<span class="c">#</span>
+<span class="c"># Redistribution and use in source and binary forms, with or without</span>
+<span class="c"># modification, are permitted provided that the following conditions are</span>
+<span class="c"># met:</span>
+<span class="c">#</span>
+<span class="c">#     * Redistributions of source code must retain the above copyright</span>
+<span class="c"># notice, this list of conditions and the following disclaimer.</span>
+<span class="c">#     * Redistributions in binary form must reproduce the above</span>
+<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
+<span class="c"># in the documentation and/or other materials provided with the</span>
+<span class="c"># distribution.</span>
+<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
+<span class="c"># contributors may be used to endorse or promote products derived from</span>
+<span class="c"># this software without specific prior written permission.</span>
+<span class="c">#</span>
+<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
+<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
+<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
+<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
+<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
+<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
+<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
+<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
+<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
+<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
+<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+
+<span class="sd">&quot;&quot;&quot;Interfaces defining the Face layer of RPC Framework.&quot;&quot;&quot;</span>
+
+<span class="kn">import</span> <span class="nn">abc</span>
+<span class="kn">import</span> <span class="nn">collections</span>
+<span class="kn">import</span> <span class="nn">enum</span>
+
+<span class="c"># cardinality, style, abandonment, future, and stream are</span>
+<span class="c"># referenced from specification in this module.</span>
+<span class="kn">from</span> <span class="nn">grpc.framework.common</span> <span class="kn">import</span> <span class="n">cardinality</span>  <span class="c"># pylint: disable=unused-import</span>
+<span class="kn">from</span> <span class="nn">grpc.framework.common</span> <span class="kn">import</span> <span class="n">style</span>  <span class="c"># pylint: disable=unused-import</span>
+<span class="kn">from</span> <span class="nn">grpc.framework.foundation</span> <span class="kn">import</span> <span class="n">abandonment</span>  <span class="c"># pylint: disable=unused-import</span>
+<span class="kn">from</span> <span class="nn">grpc.framework.foundation</span> <span class="kn">import</span> <span class="n">future</span>  <span class="c"># pylint: disable=unused-import</span>
+<span class="kn">from</span> <span class="nn">grpc.framework.foundation</span> <span class="kn">import</span> <span class="n">stream</span>  <span class="c"># pylint: disable=unused-import</span>
+
+
+<div class="viewcode-block" id="NoSuchMethodError"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.NoSuchMethodError">[docs]</a><span class="k">class</span> <span class="nc">NoSuchMethodError</span><span class="p">(</span><span class="ne">Exception</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Raised by customer code to indicate an unrecognized method.</span>
+
+<span class="sd">  Attributes:</span>
+<span class="sd">    group: The group of the unrecognized method.</span>
+<span class="sd">    name: The name of the unrecognized method.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+
+  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Constructor.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      group: The group identifier of the unrecognized RPC name.</span>
+<span class="sd">      method: The method identifier of the unrecognized RPC name.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="nb">super</span><span class="p">(</span><span class="n">NoSuchMethodError</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">()</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">group</span> <span class="o">=</span> <span class="n">group</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">method</span> <span class="o">=</span> <span class="n">method</span>
+
+  <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="k">return</span> <span class="s">&#39;face.NoSuchMethodError(</span><span class="si">%s</span><span class="s">, </span><span class="si">%s</span><span class="s">)&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">group</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">method</span><span class="p">,)</span>
+
+</div>
+<div class="viewcode-block" id="Abortion"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.Abortion">[docs]</a><span class="k">class</span> <span class="nc">Abortion</span><span class="p">(</span>
+    <span class="n">collections</span><span class="o">.</span><span class="n">namedtuple</span><span class="p">(</span>
+        <span class="s">&#39;Abortion&#39;</span><span class="p">,</span>
+        <span class="p">(</span><span class="s">&#39;kind&#39;</span><span class="p">,</span> <span class="s">&#39;initial_metadata&#39;</span><span class="p">,</span> <span class="s">&#39;terminal_metadata&#39;</span><span class="p">,</span> <span class="s">&#39;code&#39;</span><span class="p">,</span> <span class="s">&#39;details&#39;</span><span class="p">,))):</span>
+  <span class="sd">&quot;&quot;&quot;A value describing RPC abortion.</span>
+
+<span class="sd">  Attributes:</span>
+<span class="sd">    kind: A Kind value identifying how the RPC failed.</span>
+<span class="sd">    initial_metadata: The initial metadata from the other side of the RPC or</span>
+<span class="sd">      None if no initial metadata value was received.</span>
+<span class="sd">    terminal_metadata: The terminal metadata from the other side of the RPC or</span>
+<span class="sd">      None if no terminal metadata value was received.</span>
+<span class="sd">    code: The code value from the other side of the RPC or None if no code value</span>
+<span class="sd">      was received.</span>
+<span class="sd">    details: The details value from the other side of the RPC or None if no</span>
+<span class="sd">      details value was received.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+
+  <span class="nd">@enum.unique</span>
+<div class="viewcode-block" id="Abortion.Kind"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.Abortion.Kind">[docs]</a>  <span class="k">class</span> <span class="nc">Kind</span><span class="p">(</span><span class="n">enum</span><span class="o">.</span><span class="n">Enum</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Types of RPC abortion.&quot;&quot;&quot;</span>
+
+    <span class="n">CANCELLED</span> <span class="o">=</span> <span class="s">&#39;cancelled&#39;</span>
+    <span class="n">EXPIRED</span> <span class="o">=</span> <span class="s">&#39;expired&#39;</span>
+    <span class="n">LOCAL_SHUTDOWN</span> <span class="o">=</span> <span class="s">&#39;local shutdown&#39;</span>
+    <span class="n">REMOTE_SHUTDOWN</span> <span class="o">=</span> <span class="s">&#39;remote shutdown&#39;</span>
+    <span class="n">NETWORK_FAILURE</span> <span class="o">=</span> <span class="s">&#39;network failure&#39;</span>
+    <span class="n">LOCAL_FAILURE</span> <span class="o">=</span> <span class="s">&#39;local failure&#39;</span>
+    <span class="n">REMOTE_FAILURE</span> <span class="o">=</span> <span class="s">&#39;remote failure&#39;</span>
+
+</div></div>
+<div class="viewcode-block" id="AbortionError"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.AbortionError">[docs]</a><span class="k">class</span> <span class="nc">AbortionError</span><span class="p">(</span><span class="ne">Exception</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Common super type for exceptions indicating RPC abortion.</span>
+
+<span class="sd">    initial_metadata: The initial metadata from the other side of the RPC or</span>
+<span class="sd">      None if no initial metadata value was received.</span>
+<span class="sd">    terminal_metadata: The terminal metadata from the other side of the RPC or</span>
+<span class="sd">      None if no terminal metadata value was received.</span>
+<span class="sd">    code: The code value from the other side of the RPC or None if no code value</span>
+<span class="sd">      was received.</span>
+<span class="sd">    details: The details value from the other side of the RPC or None if no</span>
+<span class="sd">      details value was received.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
+
+  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">initial_metadata</span><span class="p">,</span> <span class="n">terminal_metadata</span><span class="p">,</span> <span class="n">code</span><span class="p">,</span> <span class="n">details</span><span class="p">):</span>
+    <span class="nb">super</span><span class="p">(</span><span class="n">AbortionError</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">()</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">initial_metadata</span> <span class="o">=</span> <span class="n">initial_metadata</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">terminal_metadata</span> <span class="o">=</span> <span class="n">terminal_metadata</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">code</span> <span class="o">=</span> <span class="n">code</span>
+    <span class="bp">self</span><span class="o">.</span><span class="n">details</span> <span class="o">=</span> <span class="n">details</span>
+
+</div>
+<div class="viewcode-block" id="CancellationError"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.CancellationError">[docs]</a><span class="k">class</span> <span class="nc">CancellationError</span><span class="p">(</span><span class="n">AbortionError</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Indicates that an RPC has been cancelled.&quot;&quot;&quot;</span>
+
+</div>
+<div class="viewcode-block" id="ExpirationError"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.ExpirationError">[docs]</a><span class="k">class</span> <span class="nc">ExpirationError</span><span class="p">(</span><span class="n">AbortionError</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Indicates that an RPC has expired (&quot;timed out&quot;).&quot;&quot;&quot;</span>
+
+</div>
+<div class="viewcode-block" id="LocalShutdownError"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.LocalShutdownError">[docs]</a><span class="k">class</span> <span class="nc">LocalShutdownError</span><span class="p">(</span><span class="n">AbortionError</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Indicates that an RPC has terminated due to local shutdown of RPCs.&quot;&quot;&quot;</span>
+
+</div>
+<div class="viewcode-block" id="RemoteShutdownError"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.RemoteShutdownError">[docs]</a><span class="k">class</span> <span class="nc">RemoteShutdownError</span><span class="p">(</span><span class="n">AbortionError</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Indicates that an RPC has terminated due to remote shutdown of RPCs.&quot;&quot;&quot;</span>
+
+</div>
+<div class="viewcode-block" id="NetworkError"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.NetworkError">[docs]</a><span class="k">class</span> <span class="nc">NetworkError</span><span class="p">(</span><span class="n">AbortionError</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Indicates that some error occurred on the network.&quot;&quot;&quot;</span>
+
+</div>
+<div class="viewcode-block" id="LocalError"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.LocalError">[docs]</a><span class="k">class</span> <span class="nc">LocalError</span><span class="p">(</span><span class="n">AbortionError</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Indicates that an RPC has terminated due to a local defect.&quot;&quot;&quot;</span>
+
+</div>
+<div class="viewcode-block" id="RemoteError"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.RemoteError">[docs]</a><span class="k">class</span> <span class="nc">RemoteError</span><span class="p">(</span><span class="n">AbortionError</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Indicates that an RPC has terminated due to a remote defect.&quot;&quot;&quot;</span>
+
+</div>
+<div class="viewcode-block" id="RpcContext"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.RpcContext">[docs]</a><span class="k">class</span> <span class="nc">RpcContext</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Provides RPC-related information and action.&quot;&quot;&quot;</span>
+  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
+
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="RpcContext.is_active"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.RpcContext.is_active">[docs]</a>  <span class="k">def</span> <span class="nf">is_active</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Describes whether the RPC is active or has terminated.&quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="RpcContext.time_remaining"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.RpcContext.time_remaining">[docs]</a>  <span class="k">def</span> <span class="nf">time_remaining</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Describes the length of allowed time remaining for the RPC.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      A nonnegative float indicating the length of allowed time in seconds</span>
+<span class="sd">      remaining for the RPC to complete before it is considered to have timed</span>
+<span class="sd">      out.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="RpcContext.add_abortion_callback"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.RpcContext.add_abortion_callback">[docs]</a>  <span class="k">def</span> <span class="nf">add_abortion_callback</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">abortion_callback</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Registers a callback to be called if the RPC is aborted.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      abortion_callback: A callable to be called and passed an Abortion value</span>
+<span class="sd">        in the event of RPC abortion.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="RpcContext.cancel"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.RpcContext.cancel">[docs]</a>  <span class="k">def</span> <span class="nf">cancel</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Cancels the RPC.</span>
+
+<span class="sd">    Idempotent and has no effect if the RPC has already terminated.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="RpcContext.protocol_context"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.RpcContext.protocol_context">[docs]</a>  <span class="k">def</span> <span class="nf">protocol_context</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Accesses a custom object specified by an implementation provider.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      A value specified by the provider of a Face interface implementation</span>
+<span class="sd">        affording custom state and behavior.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+
+</div></div>
+<div class="viewcode-block" id="Call"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.Call">[docs]</a><span class="k">class</span> <span class="nc">Call</span><span class="p">(</span><span class="n">RpcContext</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Invocation-side utility object for an RPC.&quot;&quot;&quot;</span>
+  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
+
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="Call.initial_metadata"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.Call.initial_metadata">[docs]</a>  <span class="k">def</span> <span class="nf">initial_metadata</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Accesses the initial metadata from the service-side of the RPC.</span>
+
+<span class="sd">    This method blocks until the value is available or is known not to have been</span>
+<span class="sd">    emitted from the service-side of the RPC.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      The initial metadata object emitted by the service-side of the RPC, or</span>
+<span class="sd">        None if there was no such value.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="Call.terminal_metadata"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.Call.terminal_metadata">[docs]</a>  <span class="k">def</span> <span class="nf">terminal_metadata</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Accesses the terminal metadata from the service-side of the RPC.</span>
+
+<span class="sd">    This method blocks until the value is available or is known not to have been</span>
+<span class="sd">    emitted from the service-side of the RPC.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      The terminal metadata object emitted by the service-side of the RPC, or</span>
+<span class="sd">        None if there was no such value.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="Call.code"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.Call.code">[docs]</a>  <span class="k">def</span> <span class="nf">code</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Accesses the code emitted by the service-side of the RPC.</span>
+
+<span class="sd">    This method blocks until the value is available or is known not to have been</span>
+<span class="sd">    emitted from the service-side of the RPC.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      The code object emitted by the service-side of the RPC, or None if there</span>
+<span class="sd">        was no such value.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="Call.details"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.Call.details">[docs]</a>  <span class="k">def</span> <span class="nf">details</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Accesses the details value emitted by the service-side of the RPC.</span>
+
+<span class="sd">    This method blocks until the value is available or is known not to have been</span>
+<span class="sd">    emitted from the service-side of the RPC.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      The details value emitted by the service-side of the RPC, or None if there</span>
+<span class="sd">        was no such value.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+
+</div></div>
+<div class="viewcode-block" id="ServicerContext"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.ServicerContext">[docs]</a><span class="k">class</span> <span class="nc">ServicerContext</span><span class="p">(</span><span class="n">RpcContext</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;A context object passed to method implementations.&quot;&quot;&quot;</span>
+  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
+
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="ServicerContext.invocation_metadata"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.ServicerContext.invocation_metadata">[docs]</a>  <span class="k">def</span> <span class="nf">invocation_metadata</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Accesses the metadata from the invocation-side of the RPC.</span>
+
+<span class="sd">    This method blocks until the value is available or is known not to have been</span>
+<span class="sd">    emitted from the invocation-side of the RPC.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      The metadata object emitted by the invocation-side of the RPC, or None if</span>
+<span class="sd">        there was no such value.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="ServicerContext.initial_metadata"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.ServicerContext.initial_metadata">[docs]</a>  <span class="k">def</span> <span class="nf">initial_metadata</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">initial_metadata</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Accepts the service-side initial metadata value of the RPC.</span>
+
+<span class="sd">    This method need not be called by method implementations if they have no</span>
+<span class="sd">    service-side initial metadata to transmit.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      initial_metadata: The service-side initial metadata value of the RPC to</span>
+<span class="sd">        be transmitted to the invocation side of the RPC.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="ServicerContext.terminal_metadata"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.ServicerContext.terminal_metadata">[docs]</a>  <span class="k">def</span> <span class="nf">terminal_metadata</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">terminal_metadata</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Accepts the service-side terminal metadata value of the RPC.</span>
+
+<span class="sd">    This method need not be called by method implementations if they have no</span>
+<span class="sd">    service-side terminal metadata to transmit.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      terminal_metadata: The service-side terminal metadata value of the RPC to</span>
+<span class="sd">        be transmitted to the invocation side of the RPC.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="ServicerContext.code"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.ServicerContext.code">[docs]</a>  <span class="k">def</span> <span class="nf">code</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">code</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Accepts the service-side code of the RPC.</span>
+
+<span class="sd">    This method need not be called by method implementations if they have no</span>
+<span class="sd">    code to transmit.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      code: The code of the RPC to be transmitted to the invocation side of the</span>
+<span class="sd">        RPC.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="ServicerContext.details"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.ServicerContext.details">[docs]</a>  <span class="k">def</span> <span class="nf">details</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">details</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Accepts the service-side details of the RPC.</span>
+
+<span class="sd">    This method need not be called by method implementations if they have no</span>
+<span class="sd">    service-side details to transmit.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      details: The service-side details value of the RPC to be transmitted to</span>
+<span class="sd">        the invocation side of the RPC.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+
+</div></div>
+<div class="viewcode-block" id="ResponseReceiver"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.ResponseReceiver">[docs]</a><span class="k">class</span> <span class="nc">ResponseReceiver</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Invocation-side object used to accept the output of an RPC.&quot;&quot;&quot;</span>
+  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
+
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="ResponseReceiver.initial_metadata"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.ResponseReceiver.initial_metadata">[docs]</a>  <span class="k">def</span> <span class="nf">initial_metadata</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">initial_metadata</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Receives the initial metadata from the service-side of the RPC.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      initial_metadata: The initial metadata object emitted from the</span>
+<span class="sd">        service-side of the RPC.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="ResponseReceiver.response"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.ResponseReceiver.response">[docs]</a>  <span class="k">def</span> <span class="nf">response</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Receives a response from the service-side of the RPC.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      response: A response object emitted from the service-side of the RPC.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="ResponseReceiver.complete"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.ResponseReceiver.complete">[docs]</a>  <span class="k">def</span> <span class="nf">complete</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">terminal_metadata</span><span class="p">,</span> <span class="n">code</span><span class="p">,</span> <span class="n">details</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Receives the completion values emitted from the service-side of the RPC.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      terminal_metadata: The terminal metadata object emitted from the</span>
+<span class="sd">        service-side of the RPC.</span>
+<span class="sd">      code: The code object emitted from the service-side of the RPC.</span>
+<span class="sd">      details: The details object emitted from the service-side of the RPC.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+
+</div></div>
+<div class="viewcode-block" id="UnaryUnaryMultiCallable"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.UnaryUnaryMultiCallable">[docs]</a><span class="k">class</span> <span class="nc">UnaryUnaryMultiCallable</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Affords invoking a unary-unary RPC in any call style.&quot;&quot;&quot;</span>
+  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
+
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="UnaryUnaryMultiCallable.__call__"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.UnaryUnaryMultiCallable.__call__">[docs]</a>  <span class="k">def</span> <span class="nf">__call__</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">with_call</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
+      <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Synchronously invokes the underlying RPC.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      request: The request value for the RPC.</span>
+<span class="sd">      timeout: A duration of time in seconds to allow for the RPC.</span>
+<span class="sd">      metadata: A metadata value to be passed to the service-side of</span>
+<span class="sd">        the RPC.</span>
+<span class="sd">      with_call: Whether or not to include return a Call for the RPC in addition</span>
+<span class="sd">        to the reponse.</span>
+<span class="sd">      protocol_options: A value specified by the provider of a Face interface</span>
+<span class="sd">        implementation affording custom state and behavior.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      The response value for the RPC, and a Call for the RPC if with_call was</span>
+<span class="sd">        set to True at invocation.</span>
+
+<span class="sd">    Raises:</span>
+<span class="sd">      AbortionError: Indicating that the RPC was aborted.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="UnaryUnaryMultiCallable.future"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.UnaryUnaryMultiCallable.future">[docs]</a>  <span class="k">def</span> <span class="nf">future</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Asynchronously invokes the underlying RPC.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      request: The request value for the RPC.</span>
+<span class="sd">      timeout: A duration of time in seconds to allow for the RPC.</span>
+<span class="sd">      metadata: A metadata value to be passed to the service-side of</span>
+<span class="sd">        the RPC.</span>
+<span class="sd">      protocol_options: A value specified by the provider of a Face interface</span>
+<span class="sd">        implementation affording custom state and behavior.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      An object that is both a Call for the RPC and a future.Future. In the</span>
+<span class="sd">        event of RPC completion, the return Future&#39;s result value will be the</span>
+<span class="sd">        response value of the RPC. In the event of RPC abortion, the returned</span>
+<span class="sd">        Future&#39;s exception value will be an AbortionError.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="UnaryUnaryMultiCallable.event"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.UnaryUnaryMultiCallable.event">[docs]</a>  <span class="k">def</span> <span class="nf">event</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">receiver</span><span class="p">,</span> <span class="n">abortion_callback</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span>
+      <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Asynchronously invokes the underlying RPC.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      request: The request value for the RPC.</span>
+<span class="sd">      receiver: A ResponseReceiver to be passed the response data of the RPC.</span>
+<span class="sd">      abortion_callback: A callback to be called and passed an Abortion value</span>
+<span class="sd">        in the event of RPC abortion.</span>
+<span class="sd">      timeout: A duration of time in seconds to allow for the RPC.</span>
+<span class="sd">      metadata: A metadata value to be passed to the service-side of</span>
+<span class="sd">        the RPC.</span>
+<span class="sd">      protocol_options: A value specified by the provider of a Face interface</span>
+<span class="sd">        implementation affording custom state and behavior.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      A Call for the RPC.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+
+</div></div>
+<div class="viewcode-block" id="UnaryStreamMultiCallable"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.UnaryStreamMultiCallable">[docs]</a><span class="k">class</span> <span class="nc">UnaryStreamMultiCallable</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Affords invoking a unary-stream RPC in any call style.&quot;&quot;&quot;</span>
+  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
+
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="UnaryStreamMultiCallable.__call__"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.UnaryStreamMultiCallable.__call__">[docs]</a>  <span class="k">def</span> <span class="nf">__call__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Invokes the underlying RPC.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      request: The request value for the RPC.</span>
+<span class="sd">      timeout: A duration of time in seconds to allow for the RPC.</span>
+<span class="sd">      metadata: A metadata value to be passed to the service-side of</span>
+<span class="sd">        the RPC.</span>
+<span class="sd">      protocol_options: A value specified by the provider of a Face interface</span>
+<span class="sd">        implementation affording custom state and behavior.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      An object that is both a Call for the RPC and an iterator of response</span>
+<span class="sd">        values. Drawing response values from the returned iterator may raise</span>
+<span class="sd">        AbortionError indicating abortion of the RPC.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="UnaryStreamMultiCallable.event"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.UnaryStreamMultiCallable.event">[docs]</a>  <span class="k">def</span> <span class="nf">event</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">receiver</span><span class="p">,</span> <span class="n">abortion_callback</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span>
+      <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Asynchronously invokes the underlying RPC.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      request: The request value for the RPC.</span>
+<span class="sd">      receiver: A ResponseReceiver to be passed the response data of the RPC.</span>
+<span class="sd">      abortion_callback: A callback to be called and passed an Abortion value</span>
+<span class="sd">        in the event of RPC abortion.</span>
+<span class="sd">      timeout: A duration of time in seconds to allow for the RPC.</span>
+<span class="sd">      metadata: A metadata value to be passed to the service-side of</span>
+<span class="sd">        the RPC.</span>
+<span class="sd">      protocol_options: A value specified by the provider of a Face interface</span>
+<span class="sd">        implementation affording custom state and behavior.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      A Call object for the RPC.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+
+</div></div>
+<div class="viewcode-block" id="StreamUnaryMultiCallable"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.StreamUnaryMultiCallable">[docs]</a><span class="k">class</span> <span class="nc">StreamUnaryMultiCallable</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Affords invoking a stream-unary RPC in any call style.&quot;&quot;&quot;</span>
+  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
+
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="StreamUnaryMultiCallable.__call__"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.StreamUnaryMultiCallable.__call__">[docs]</a>  <span class="k">def</span> <span class="nf">__call__</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">request_iterator</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+      <span class="n">with_call</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Synchronously invokes the underlying RPC.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      request_iterator: An iterator that yields request values for the RPC.</span>
+<span class="sd">      timeout: A duration of time in seconds to allow for the RPC.</span>
+<span class="sd">      metadata: A metadata value to be passed to the service-side of</span>
+<span class="sd">        the RPC.</span>
+<span class="sd">      with_call: Whether or not to include return a Call for the RPC in addition</span>
+<span class="sd">        to the reponse.</span>
+<span class="sd">      protocol_options: A value specified by the provider of a Face interface</span>
+<span class="sd">        implementation affording custom state and behavior.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      The response value for the RPC, and a Call for the RPC if with_call was</span>
+<span class="sd">        set to True at invocation.</span>
+
+<span class="sd">    Raises:</span>
+<span class="sd">      AbortionError: Indicating that the RPC was aborted.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="StreamUnaryMultiCallable.future"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.StreamUnaryMultiCallable.future">[docs]</a>  <span class="k">def</span> <span class="nf">future</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">request_iterator</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Asynchronously invokes the underlying RPC.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      request_iterator: An iterator that yields request values for the RPC.</span>
+<span class="sd">      timeout: A duration of time in seconds to allow for the RPC.</span>
+<span class="sd">      metadata: A metadata value to be passed to the service-side of</span>
+<span class="sd">        the RPC.</span>
+<span class="sd">      protocol_options: A value specified by the provider of a Face interface</span>
+<span class="sd">        implementation affording custom state and behavior.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      An object that is both a Call for the RPC and a future.Future. In the</span>
+<span class="sd">        event of RPC completion, the return Future&#39;s result value will be the</span>
+<span class="sd">        response value of the RPC. In the event of RPC abortion, the returned</span>
+<span class="sd">        Future&#39;s exception value will be an AbortionError.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="StreamUnaryMultiCallable.event"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.StreamUnaryMultiCallable.event">[docs]</a>  <span class="k">def</span> <span class="nf">event</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">receiver</span><span class="p">,</span> <span class="n">abortion_callback</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+      <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Asynchronously invokes the underlying RPC.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      receiver: A ResponseReceiver to be passed the response data of the RPC.</span>
+<span class="sd">      abortion_callback: A callback to be called and passed an Abortion value</span>
+<span class="sd">        in the event of RPC abortion.</span>
+<span class="sd">      timeout: A duration of time in seconds to allow for the RPC.</span>
+<span class="sd">      metadata: A metadata value to be passed to the service-side of</span>
+<span class="sd">        the RPC.</span>
+<span class="sd">      protocol_options: A value specified by the provider of a Face interface</span>
+<span class="sd">        implementation affording custom state and behavior.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      A single object that is both a Call object for the RPC and a</span>
+<span class="sd">        stream.Consumer to which the request values of the RPC should be passed.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+
+</div></div>
+<div class="viewcode-block" id="StreamStreamMultiCallable"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.StreamStreamMultiCallable">[docs]</a><span class="k">class</span> <span class="nc">StreamStreamMultiCallable</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Affords invoking a stream-stream RPC in any call style.&quot;&quot;&quot;</span>
+  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
+
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="StreamStreamMultiCallable.__call__"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.StreamStreamMultiCallable.__call__">[docs]</a>  <span class="k">def</span> <span class="nf">__call__</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">request_iterator</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Invokes the underlying RPC.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      request_iterator: An iterator that yields request values for the RPC.</span>
+<span class="sd">      timeout: A duration of time in seconds to allow for the RPC.</span>
+<span class="sd">      metadata: A metadata value to be passed to the service-side of</span>
+<span class="sd">        the RPC.</span>
+<span class="sd">      protocol_options: A value specified by the provider of a Face interface</span>
+<span class="sd">        implementation affording custom state and behavior.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      An object that is both a Call for the RPC and an iterator of response</span>
+<span class="sd">        values. Drawing response values from the returned iterator may raise</span>
+<span class="sd">        AbortionError indicating abortion of the RPC.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="StreamStreamMultiCallable.event"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.StreamStreamMultiCallable.event">[docs]</a>  <span class="k">def</span> <span class="nf">event</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">receiver</span><span class="p">,</span> <span class="n">abortion_callback</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+      <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Asynchronously invokes the underlying RPC.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      receiver: A ResponseReceiver to be passed the response data of the RPC.</span>
+<span class="sd">      abortion_callback: A callback to be called and passed an Abortion value</span>
+<span class="sd">        in the event of RPC abortion.</span>
+<span class="sd">      timeout: A duration of time in seconds to allow for the RPC.</span>
+<span class="sd">      metadata: A metadata value to be passed to the service-side of</span>
+<span class="sd">        the RPC.</span>
+<span class="sd">      protocol_options: A value specified by the provider of a Face interface</span>
+<span class="sd">        implementation affording custom state and behavior.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      A single object that is both a Call object for the RPC and a</span>
+<span class="sd">        stream.Consumer to which the request values of the RPC should be passed.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+
+</div></div>
+<div class="viewcode-block" id="MethodImplementation"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.MethodImplementation">[docs]</a><span class="k">class</span> <span class="nc">MethodImplementation</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;A sum type that describes a method implementation.</span>
+
+<span class="sd">  Attributes:</span>
+<span class="sd">    cardinality: A cardinality.Cardinality value.</span>
+<span class="sd">    style: A style.Service value.</span>
+<span class="sd">    unary_unary_inline: The implementation of the method as a callable value</span>
+<span class="sd">      that takes a request value and a ServicerContext object and returns a</span>
+<span class="sd">      response value. Only non-None if cardinality is</span>
+<span class="sd">      cardinality.Cardinality.UNARY_UNARY and style is style.Service.INLINE.</span>
+<span class="sd">    unary_stream_inline: The implementation of the method as a callable value</span>
+<span class="sd">      that takes a request value and a ServicerContext object and returns an</span>
+<span class="sd">      iterator of response values. Only non-None if cardinality is</span>
+<span class="sd">      cardinality.Cardinality.UNARY_STREAM and style is style.Service.INLINE.</span>
+<span class="sd">    stream_unary_inline: The implementation of the method as a callable value</span>
+<span class="sd">      that takes an iterator of request values and a ServicerContext object and</span>
+<span class="sd">      returns a response value. Only non-None if cardinality is</span>
+<span class="sd">      cardinality.Cardinality.STREAM_UNARY and style is style.Service.INLINE.</span>
+<span class="sd">    stream_stream_inline: The implementation of the method as a callable value</span>
+<span class="sd">      that takes an iterator of request values and a ServicerContext object and</span>
+<span class="sd">      returns an iterator of response values. Only non-None if cardinality is</span>
+<span class="sd">      cardinality.Cardinality.STREAM_STREAM and style is style.Service.INLINE.</span>
+<span class="sd">    unary_unary_event: The implementation of the method as a callable value that</span>
+<span class="sd">      takes a request value, a response callback to which to pass the response</span>
+<span class="sd">      value of the RPC, and a ServicerContext. Only non-None if cardinality is</span>
+<span class="sd">      cardinality.Cardinality.UNARY_UNARY and style is style.Service.EVENT.</span>
+<span class="sd">    unary_stream_event: The implementation of the method as a callable value</span>
+<span class="sd">      that takes a request value, a stream.Consumer to which to pass the</span>
+<span class="sd">      response values of the RPC, and a ServicerContext. Only non-None if</span>
+<span class="sd">      cardinality is cardinality.Cardinality.UNARY_STREAM and style is</span>
+<span class="sd">      style.Service.EVENT.</span>
+<span class="sd">    stream_unary_event: The implementation of the method as a callable value</span>
+<span class="sd">      that takes a response callback to which to pass the response value of the</span>
+<span class="sd">      RPC and a ServicerContext and returns a stream.Consumer to which the</span>
+<span class="sd">      request values of the RPC should be passed. Only non-None if cardinality</span>
+<span class="sd">      is cardinality.Cardinality.STREAM_UNARY and style is style.Service.EVENT.</span>
+<span class="sd">    stream_stream_event: The implementation of the method as a callable value</span>
+<span class="sd">      that takes a stream.Consumer to which to pass the response values of the</span>
+<span class="sd">      RPC and a ServicerContext and returns a stream.Consumer to which the</span>
+<span class="sd">      request values of the RPC should be passed. Only non-None if cardinality</span>
+<span class="sd">      is cardinality.Cardinality.STREAM_STREAM and style is</span>
+<span class="sd">      style.Service.EVENT.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
+
+</div>
+<div class="viewcode-block" id="MultiMethodImplementation"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.MultiMethodImplementation">[docs]</a><span class="k">class</span> <span class="nc">MultiMethodImplementation</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;A general type able to service many methods.&quot;&quot;&quot;</span>
+  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
+
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="MultiMethodImplementation.service"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.MultiMethodImplementation.service">[docs]</a>  <span class="k">def</span> <span class="nf">service</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">response_consumer</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Services an RPC.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      group: The group identifier of the RPC.</span>
+<span class="sd">      method: The method identifier of the RPC.</span>
+<span class="sd">      response_consumer: A stream.Consumer to be called to accept the response</span>
+<span class="sd">        values of the RPC.</span>
+<span class="sd">      context: a ServicerContext object.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      A stream.Consumer with which to accept the request values of the RPC. The</span>
+<span class="sd">        consumer returned from this method may or may not be invoked to</span>
+<span class="sd">        completion: in the case of RPC abortion, RPC Framework will simply stop</span>
+<span class="sd">        passing values to this object. Implementations must not assume that this</span>
+<span class="sd">        object will be called to completion of the request stream or even called</span>
+<span class="sd">        at all.</span>
+
+<span class="sd">    Raises:</span>
+<span class="sd">      abandonment.Abandoned: May or may not be raised when the RPC has been</span>
+<span class="sd">        aborted.</span>
+<span class="sd">      NoSuchMethodError: If this MultiMethod does not recognize the given group</span>
+<span class="sd">        and name for the RPC and is not able to service the RPC.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+
+</div></div>
+<div class="viewcode-block" id="GenericStub"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.GenericStub">[docs]</a><span class="k">class</span> <span class="nc">GenericStub</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Affords RPC invocation via generic methods.&quot;&quot;&quot;</span>
+  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
+
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="GenericStub.blocking_unary_unary"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.GenericStub.blocking_unary_unary">[docs]</a>  <span class="k">def</span> <span class="nf">blocking_unary_unary</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+      <span class="n">with_call</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Invokes a unary-request-unary-response method.</span>
+
+<span class="sd">    This method blocks until either returning the response value of the RPC</span>
+<span class="sd">    (in the event of RPC completion) or raising an exception (in the event of</span>
+<span class="sd">    RPC abortion).</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      group: The group identifier of the RPC.</span>
+<span class="sd">      method: The method identifier of the RPC.</span>
+<span class="sd">      request: The request value for the RPC.</span>
+<span class="sd">      timeout: A duration of time in seconds to allow for the RPC.</span>
+<span class="sd">      metadata: A metadata value to be passed to the service-side of the RPC.</span>
+<span class="sd">      with_call: Whether or not to include return a Call for the RPC in addition</span>
+<span class="sd">        to the reponse.</span>
+<span class="sd">      protocol_options: A value specified by the provider of a Face interface</span>
+<span class="sd">        implementation affording custom state and behavior.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      The response value for the RPC, and a Call for the RPC if with_call was</span>
+<span class="sd">        set to True at invocation.</span>
+
+<span class="sd">    Raises:</span>
+<span class="sd">      AbortionError: Indicating that the RPC was aborted.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="GenericStub.future_unary_unary"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.GenericStub.future_unary_unary">[docs]</a>  <span class="k">def</span> <span class="nf">future_unary_unary</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+      <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Invokes a unary-request-unary-response method.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      group: The group identifier of the RPC.</span>
+<span class="sd">      method: The method identifier of the RPC.</span>
+<span class="sd">      request: The request value for the RPC.</span>
+<span class="sd">      timeout: A duration of time in seconds to allow for the RPC.</span>
+<span class="sd">      metadata: A metadata value to be passed to the service-side of the RPC.</span>
+<span class="sd">      protocol_options: A value specified by the provider of a Face interface</span>
+<span class="sd">        implementation affording custom state and behavior.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      An object that is both a Call for the RPC and a future.Future. In the</span>
+<span class="sd">        event of RPC completion, the return Future&#39;s result value will be the</span>
+<span class="sd">        response value of the RPC. In the event of RPC abortion, the returned</span>
+<span class="sd">        Future&#39;s exception value will be an AbortionError.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="GenericStub.inline_unary_stream"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.GenericStub.inline_unary_stream">[docs]</a>  <span class="k">def</span> <span class="nf">inline_unary_stream</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+      <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Invokes a unary-request-stream-response method.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      group: The group identifier of the RPC.</span>
+<span class="sd">      method: The method identifier of the RPC.</span>
+<span class="sd">      request: The request value for the RPC.</span>
+<span class="sd">      timeout: A duration of time in seconds to allow for the RPC.</span>
+<span class="sd">      metadata: A metadata value to be passed to the service-side of the RPC.</span>
+<span class="sd">      protocol_options: A value specified by the provider of a Face interface</span>
+<span class="sd">        implementation affording custom state and behavior.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      An object that is both a Call for the RPC and an iterator of response</span>
+<span class="sd">        values. Drawing response values from the returned iterator may raise</span>
+<span class="sd">        AbortionError indicating abortion of the RPC.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="GenericStub.blocking_stream_unary"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.GenericStub.blocking_stream_unary">[docs]</a>  <span class="k">def</span> <span class="nf">blocking_stream_unary</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">request_iterator</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+      <span class="n">with_call</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Invokes a stream-request-unary-response method.</span>
+
+<span class="sd">    This method blocks until either returning the response value of the RPC</span>
+<span class="sd">    (in the event of RPC completion) or raising an exception (in the event of</span>
+<span class="sd">    RPC abortion).</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      group: The group identifier of the RPC.</span>
+<span class="sd">      method: The method identifier of the RPC.</span>
+<span class="sd">      request_iterator: An iterator that yields request values for the RPC.</span>
+<span class="sd">      timeout: A duration of time in seconds to allow for the RPC.</span>
+<span class="sd">      metadata: A metadata value to be passed to the service-side of the RPC.</span>
+<span class="sd">      with_call: Whether or not to include return a Call for the RPC in addition</span>
+<span class="sd">        to the reponse.</span>
+<span class="sd">      protocol_options: A value specified by the provider of a Face interface</span>
+<span class="sd">        implementation affording custom state and behavior.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      The response value for the RPC, and a Call for the RPC if with_call was</span>
+<span class="sd">        set to True at invocation.</span>
+
+<span class="sd">    Raises:</span>
+<span class="sd">      AbortionError: Indicating that the RPC was aborted.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="GenericStub.future_stream_unary"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.GenericStub.future_stream_unary">[docs]</a>  <span class="k">def</span> <span class="nf">future_stream_unary</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">request_iterator</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+      <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Invokes a stream-request-unary-response method.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      group: The group identifier of the RPC.</span>
+<span class="sd">      method: The method identifier of the RPC.</span>
+<span class="sd">      request_iterator: An iterator that yields request values for the RPC.</span>
+<span class="sd">      timeout: A duration of time in seconds to allow for the RPC.</span>
+<span class="sd">      metadata: A metadata value to be passed to the service-side of the RPC.</span>
+<span class="sd">      protocol_options: A value specified by the provider of a Face interface</span>
+<span class="sd">        implementation affording custom state and behavior.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      An object that is both a Call for the RPC and a future.Future. In the</span>
+<span class="sd">        event of RPC completion, the return Future&#39;s result value will be the</span>
+<span class="sd">        response value of the RPC. In the event of RPC abortion, the returned</span>
+<span class="sd">        Future&#39;s exception value will be an AbortionError.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="GenericStub.inline_stream_stream"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.GenericStub.inline_stream_stream">[docs]</a>  <span class="k">def</span> <span class="nf">inline_stream_stream</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">request_iterator</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+      <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Invokes a stream-request-stream-response method.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      group: The group identifier of the RPC.</span>
+<span class="sd">      method: The method identifier of the RPC.</span>
+<span class="sd">      request_iterator: An iterator that yields request values for the RPC.</span>
+<span class="sd">      timeout: A duration of time in seconds to allow for the RPC.</span>
+<span class="sd">      metadata: A metadata value to be passed to the service-side of the RPC.</span>
+<span class="sd">      protocol_options: A value specified by the provider of a Face interface</span>
+<span class="sd">        implementation affording custom state and behavior.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      An object that is both a Call for the RPC and an iterator of response</span>
+<span class="sd">        values. Drawing response values from the returned iterator may raise</span>
+<span class="sd">        AbortionError indicating abortion of the RPC.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="GenericStub.event_unary_unary"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.GenericStub.event_unary_unary">[docs]</a>  <span class="k">def</span> <span class="nf">event_unary_unary</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">receiver</span><span class="p">,</span> <span class="n">abortion_callback</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span>
+      <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Event-driven invocation of a unary-request-unary-response method.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      group: The group identifier of the RPC.</span>
+<span class="sd">      method: The method identifier of the RPC.</span>
+<span class="sd">      request: The request value for the RPC.</span>
+<span class="sd">      receiver: A ResponseReceiver to be passed the response data of the RPC.</span>
+<span class="sd">      abortion_callback: A callback to be called and passed an Abortion value</span>
+<span class="sd">        in the event of RPC abortion.</span>
+<span class="sd">      timeout: A duration of time in seconds to allow for the RPC.</span>
+<span class="sd">      metadata: A metadata value to be passed to the service-side of the RPC.</span>
+<span class="sd">      protocol_options: A value specified by the provider of a Face interface</span>
+<span class="sd">        implementation affording custom state and behavior.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      A Call for the RPC.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="GenericStub.event_unary_stream"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.GenericStub.event_unary_stream">[docs]</a>  <span class="k">def</span> <span class="nf">event_unary_stream</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">receiver</span><span class="p">,</span> <span class="n">abortion_callback</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span>
+      <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Event-driven invocation of a unary-request-stream-response method.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      group: The group identifier of the RPC.</span>
+<span class="sd">      method: The method identifier of the RPC.</span>
+<span class="sd">      request: The request value for the RPC.</span>
+<span class="sd">      receiver: A ResponseReceiver to be passed the response data of the RPC.</span>
+<span class="sd">      abortion_callback: A callback to be called and passed an Abortion value</span>
+<span class="sd">        in the event of RPC abortion.</span>
+<span class="sd">      timeout: A duration of time in seconds to allow for the RPC.</span>
+<span class="sd">      metadata: A metadata value to be passed to the service-side of the RPC.</span>
+<span class="sd">      protocol_options: A value specified by the provider of a Face interface</span>
+<span class="sd">        implementation affording custom state and behavior.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      A Call for the RPC.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="GenericStub.event_stream_unary"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.GenericStub.event_stream_unary">[docs]</a>  <span class="k">def</span> <span class="nf">event_stream_unary</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">receiver</span><span class="p">,</span> <span class="n">abortion_callback</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span>
+      <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Event-driven invocation of a unary-request-unary-response method.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      group: The group identifier of the RPC.</span>
+<span class="sd">      method: The method identifier of the RPC.</span>
+<span class="sd">      receiver: A ResponseReceiver to be passed the response data of the RPC.</span>
+<span class="sd">      abortion_callback: A callback to be called and passed an Abortion value</span>
+<span class="sd">        in the event of RPC abortion.</span>
+<span class="sd">      timeout: A duration of time in seconds to allow for the RPC.</span>
+<span class="sd">      metadata: A metadata value to be passed to the service-side of the RPC.</span>
+<span class="sd">      protocol_options: A value specified by the provider of a Face interface</span>
+<span class="sd">        implementation affording custom state and behavior.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      A pair of a Call object for the RPC and a stream.Consumer to which the</span>
+<span class="sd">        request values of the RPC should be passed.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="GenericStub.event_stream_stream"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.GenericStub.event_stream_stream">[docs]</a>  <span class="k">def</span> <span class="nf">event_stream_stream</span><span class="p">(</span>
+      <span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">receiver</span><span class="p">,</span> <span class="n">abortion_callback</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span>
+      <span class="n">metadata</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">protocol_options</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Event-driven invocation of a unary-request-stream-response method.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      group: The group identifier of the RPC.</span>
+<span class="sd">      method: The method identifier of the RPC.</span>
+<span class="sd">      receiver: A ResponseReceiver to be passed the response data of the RPC.</span>
+<span class="sd">      abortion_callback: A callback to be called and passed an Abortion value</span>
+<span class="sd">        in the event of RPC abortion.</span>
+<span class="sd">      timeout: A duration of time in seconds to allow for the RPC.</span>
+<span class="sd">      metadata: A metadata value to be passed to the service-side of the RPC.</span>
+<span class="sd">      protocol_options: A value specified by the provider of a Face interface</span>
+<span class="sd">        implementation affording custom state and behavior.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      A pair of a Call object for the RPC and a stream.Consumer to which the</span>
+<span class="sd">        request values of the RPC should be passed.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="GenericStub.unary_unary"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.GenericStub.unary_unary">[docs]</a>  <span class="k">def</span> <span class="nf">unary_unary</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Creates a UnaryUnaryMultiCallable for a unary-unary method.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      group: The group identifier of the RPC.</span>
+<span class="sd">      method: The method identifier of the RPC.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      A UnaryUnaryMultiCallable value for the named unary-unary method.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="GenericStub.unary_stream"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.GenericStub.unary_stream">[docs]</a>  <span class="k">def</span> <span class="nf">unary_stream</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Creates a UnaryStreamMultiCallable for a unary-stream method.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      group: The group identifier of the RPC.</span>
+<span class="sd">      method: The method identifier of the RPC.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      A UnaryStreamMultiCallable value for the name unary-stream method.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="GenericStub.stream_unary"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.GenericStub.stream_unary">[docs]</a>  <span class="k">def</span> <span class="nf">stream_unary</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Creates a StreamUnaryMultiCallable for a stream-unary method.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      group: The group identifier of the RPC.</span>
+<span class="sd">      method: The method identifier of the RPC.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      A StreamUnaryMultiCallable value for the named stream-unary method.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+</div>
+  <span class="nd">@abc.abstractmethod</span>
+<div class="viewcode-block" id="GenericStub.stream_stream"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.GenericStub.stream_stream">[docs]</a>  <span class="k">def</span> <span class="nf">stream_stream</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Creates a StreamStreamMultiCallable for a stream-stream method.</span>
+
+<span class="sd">    Args:</span>
+<span class="sd">      group: The group identifier of the RPC.</span>
+<span class="sd">      method: The method identifier of the RPC.</span>
+
+<span class="sd">    Returns:</span>
+<span class="sd">      A StreamStreamMultiCallable value for the named stream-stream method.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
+
+</div></div>
+<div class="viewcode-block" id="DynamicStub"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.face.DynamicStub">[docs]</a><span class="k">class</span> <span class="nc">DynamicStub</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Affords RPC invocation via attributes corresponding to afforded methods.</span>
+
+<span class="sd">  Instances of this type may be scoped to a single group so that attribute</span>
+<span class="sd">  access is unambiguous.</span>
+
+<span class="sd">  Instances of this type respond to attribute access as follows: if the</span>
+<span class="sd">  requested attribute is the name of a unary-unary method, the value of the</span>
+<span class="sd">  attribute will be a UnaryUnaryMultiCallable with which to invoke an RPC; if</span>
+<span class="sd">  the requested attribute is the name of a unary-stream method, the value of the</span>
+<span class="sd">  attribute will be a UnaryStreamMultiCallable with which to invoke an RPC; if</span>
+<span class="sd">  the requested attribute is the name of a stream-unary method, the value of the</span>
+<span class="sd">  attribute will be a StreamUnaryMultiCallable with which to invoke an RPC; and</span>
+<span class="sd">  if the requested attribute is the name of a stream-stream method, the value of</span>
+<span class="sd">  the attribute will be a StreamStreamMultiCallable with which to invoke an RPC.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span></div>
+</pre></div>
+
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2015, Author.
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../../',
+            VERSION:'0.11.0b0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>

+ 374 - 0
python/_modules/grpc/framework/interfaces/face/utilities.html

@@ -0,0 +1,374 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>grpc.framework.interfaces.face.utilities &mdash; grpcio 0.11.0b0 documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../../index.html"/>
+        <link rel="up" title="Module code" href="../../../../index.html"/> 
+
+  
+  <script src="_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-nav-search">
+        
+
+        
+          <a href="../../../../../index.html" class="icon icon-home"> grpcio
+        
+
+        
+        </a>
+
+        
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+        
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+        
+          
+          
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../grpc.html">grpc package</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.framework.html">grpc.framework package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#subpackages">Subpackages</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#module-grpc">Module contents</a></li>
+</ul>
+</li>
+</ul>
+
+          
+        
+      </div>
+      &nbsp;
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../../../../../index.html">grpcio</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="../../../../index.html">Module code</a> &raquo;</li>
+      
+    <li>grpc.framework.interfaces.face.utilities</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document">
+            
+  <h1>Source code for grpc.framework.interfaces.face.utilities</h1><div class="highlight"><pre>
+<span class="c"># Copyright 2015, Google Inc.</span>
+<span class="c"># All rights reserved.</span>
+<span class="c">#</span>
+<span class="c"># Redistribution and use in source and binary forms, with or without</span>
+<span class="c"># modification, are permitted provided that the following conditions are</span>
+<span class="c"># met:</span>
+<span class="c">#</span>
+<span class="c">#     * Redistributions of source code must retain the above copyright</span>
+<span class="c"># notice, this list of conditions and the following disclaimer.</span>
+<span class="c">#     * Redistributions in binary form must reproduce the above</span>
+<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
+<span class="c"># in the documentation and/or other materials provided with the</span>
+<span class="c"># distribution.</span>
+<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
+<span class="c"># contributors may be used to endorse or promote products derived from</span>
+<span class="c"># this software without specific prior written permission.</span>
+<span class="c">#</span>
+<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
+<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
+<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
+<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
+<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
+<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
+<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
+<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
+<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
+<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
+<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+
+<span class="sd">&quot;&quot;&quot;Utilities for RPC Framework&#39;s Face interface.&quot;&quot;&quot;</span>
+
+<span class="kn">import</span> <span class="nn">collections</span>
+
+<span class="c"># stream is referenced from specification in this module.</span>
+<span class="kn">from</span> <span class="nn">grpc.framework.common</span> <span class="kn">import</span> <span class="n">cardinality</span>
+<span class="kn">from</span> <span class="nn">grpc.framework.common</span> <span class="kn">import</span> <span class="n">style</span>
+<span class="kn">from</span> <span class="nn">grpc.framework.foundation</span> <span class="kn">import</span> <span class="n">stream</span>  <span class="c"># pylint: disable=unused-import</span>
+<span class="kn">from</span> <span class="nn">grpc.framework.interfaces.face</span> <span class="kn">import</span> <span class="n">face</span>
+
+
+<span class="k">class</span> <span class="nc">_MethodImplementation</span><span class="p">(</span>
+    <span class="n">face</span><span class="o">.</span><span class="n">MethodImplementation</span><span class="p">,</span>
+    <span class="n">collections</span><span class="o">.</span><span class="n">namedtuple</span><span class="p">(</span>
+        <span class="s">&#39;_MethodImplementation&#39;</span><span class="p">,</span>
+        <span class="p">[</span><span class="s">&#39;cardinality&#39;</span><span class="p">,</span> <span class="s">&#39;style&#39;</span><span class="p">,</span> <span class="s">&#39;unary_unary_inline&#39;</span><span class="p">,</span> <span class="s">&#39;unary_stream_inline&#39;</span><span class="p">,</span>
+         <span class="s">&#39;stream_unary_inline&#39;</span><span class="p">,</span> <span class="s">&#39;stream_stream_inline&#39;</span><span class="p">,</span> <span class="s">&#39;unary_unary_event&#39;</span><span class="p">,</span>
+         <span class="s">&#39;unary_stream_event&#39;</span><span class="p">,</span> <span class="s">&#39;stream_unary_event&#39;</span><span class="p">,</span> <span class="s">&#39;stream_stream_event&#39;</span><span class="p">,])):</span>
+  <span class="k">pass</span>
+
+
+<div class="viewcode-block" id="unary_unary_inline"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.utilities.unary_unary_inline">[docs]</a><span class="k">def</span> <span class="nf">unary_unary_inline</span><span class="p">(</span><span class="n">behavior</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates an face.MethodImplementation for the given behavior.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    behavior: The implementation of a unary-unary RPC method as a callable value</span>
+<span class="sd">      that takes a request value and an face.ServicerContext object and</span>
+<span class="sd">      returns a response value.</span>
+
+<span class="sd">  Returns:</span>
+<span class="sd">    An face.MethodImplementation derived from the given behavior.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="k">return</span> <span class="n">_MethodImplementation</span><span class="p">(</span>
+      <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">UNARY_UNARY</span><span class="p">,</span> <span class="n">style</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">INLINE</span><span class="p">,</span> <span class="n">behavior</span><span class="p">,</span>
+      <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
+
+</div>
+<div class="viewcode-block" id="unary_stream_inline"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.utilities.unary_stream_inline">[docs]</a><span class="k">def</span> <span class="nf">unary_stream_inline</span><span class="p">(</span><span class="n">behavior</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates an face.MethodImplementation for the given behavior.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    behavior: The implementation of a unary-stream RPC method as a callable</span>
+<span class="sd">      value that takes a request value and an face.ServicerContext object and</span>
+<span class="sd">      returns an iterator of response values.</span>
+
+<span class="sd">  Returns:</span>
+<span class="sd">    An face.MethodImplementation derived from the given behavior.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="k">return</span> <span class="n">_MethodImplementation</span><span class="p">(</span>
+      <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">UNARY_STREAM</span><span class="p">,</span> <span class="n">style</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">INLINE</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span>
+      <span class="n">behavior</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
+
+</div>
+<div class="viewcode-block" id="stream_unary_inline"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.utilities.stream_unary_inline">[docs]</a><span class="k">def</span> <span class="nf">stream_unary_inline</span><span class="p">(</span><span class="n">behavior</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates an face.MethodImplementation for the given behavior.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    behavior: The implementation of a stream-unary RPC method as a callable</span>
+<span class="sd">      value that takes an iterator of request values and an</span>
+<span class="sd">      face.ServicerContext object and returns a response value.</span>
+
+<span class="sd">  Returns:</span>
+<span class="sd">    An face.MethodImplementation derived from the given behavior.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="k">return</span> <span class="n">_MethodImplementation</span><span class="p">(</span>
+      <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">STREAM_UNARY</span><span class="p">,</span> <span class="n">style</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">INLINE</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span>
+      <span class="n">behavior</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
+
+</div>
+<div class="viewcode-block" id="stream_stream_inline"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.utilities.stream_stream_inline">[docs]</a><span class="k">def</span> <span class="nf">stream_stream_inline</span><span class="p">(</span><span class="n">behavior</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates an face.MethodImplementation for the given behavior.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    behavior: The implementation of a stream-stream RPC method as a callable</span>
+<span class="sd">      value that takes an iterator of request values and an</span>
+<span class="sd">      face.ServicerContext object and returns an iterator of response values.</span>
+
+<span class="sd">  Returns:</span>
+<span class="sd">    An face.MethodImplementation derived from the given behavior.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="k">return</span> <span class="n">_MethodImplementation</span><span class="p">(</span>
+      <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">STREAM_STREAM</span><span class="p">,</span> <span class="n">style</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">INLINE</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span>
+      <span class="bp">None</span><span class="p">,</span> <span class="n">behavior</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
+
+</div>
+<div class="viewcode-block" id="unary_unary_event"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.utilities.unary_unary_event">[docs]</a><span class="k">def</span> <span class="nf">unary_unary_event</span><span class="p">(</span><span class="n">behavior</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates an face.MethodImplementation for the given behavior.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    behavior: The implementation of a unary-unary RPC method as a callable</span>
+<span class="sd">      value that takes a request value, a response callback to which to pass</span>
+<span class="sd">      the response value of the RPC, and an face.ServicerContext.</span>
+
+<span class="sd">  Returns:</span>
+<span class="sd">    An face.MethodImplementation derived from the given behavior.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="k">return</span> <span class="n">_MethodImplementation</span><span class="p">(</span>
+      <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">UNARY_UNARY</span><span class="p">,</span> <span class="n">style</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">EVENT</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span>
+      <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="n">behavior</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
+
+</div>
+<div class="viewcode-block" id="unary_stream_event"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.utilities.unary_stream_event">[docs]</a><span class="k">def</span> <span class="nf">unary_stream_event</span><span class="p">(</span><span class="n">behavior</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates an face.MethodImplementation for the given behavior.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    behavior: The implementation of a unary-stream RPC method as a callable</span>
+<span class="sd">      value that takes a request value, a stream.Consumer to which to pass the</span>
+<span class="sd">      the response values of the RPC, and an face.ServicerContext.</span>
+
+<span class="sd">  Returns:</span>
+<span class="sd">    An face.MethodImplementation derived from the given behavior.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="k">return</span> <span class="n">_MethodImplementation</span><span class="p">(</span>
+      <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">UNARY_STREAM</span><span class="p">,</span> <span class="n">style</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">EVENT</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span>
+      <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="n">behavior</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
+
+</div>
+<div class="viewcode-block" id="stream_unary_event"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.utilities.stream_unary_event">[docs]</a><span class="k">def</span> <span class="nf">stream_unary_event</span><span class="p">(</span><span class="n">behavior</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates an face.MethodImplementation for the given behavior.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    behavior: The implementation of a stream-unary RPC method as a callable</span>
+<span class="sd">      value that takes a response callback to which to pass the response value</span>
+<span class="sd">      of the RPC and an face.ServicerContext and returns a stream.Consumer to</span>
+<span class="sd">      which the request values of the RPC should be passed.</span>
+
+<span class="sd">  Returns:</span>
+<span class="sd">    An face.MethodImplementation derived from the given behavior.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="k">return</span> <span class="n">_MethodImplementation</span><span class="p">(</span>
+      <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">STREAM_UNARY</span><span class="p">,</span> <span class="n">style</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">EVENT</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span>
+      <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="n">behavior</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
+
+</div>
+<div class="viewcode-block" id="stream_stream_event"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.face.html#grpc.framework.interfaces.face.utilities.stream_stream_event">[docs]</a><span class="k">def</span> <span class="nf">stream_stream_event</span><span class="p">(</span><span class="n">behavior</span><span class="p">):</span>
+  <span class="sd">&quot;&quot;&quot;Creates an face.MethodImplementation for the given behavior.</span>
+
+<span class="sd">  Args:</span>
+<span class="sd">    behavior: The implementation of a stream-stream RPC method as a callable</span>
+<span class="sd">      value that takes a stream.Consumer to which to pass the response values</span>
+<span class="sd">      of the RPC and an face.ServicerContext and returns a stream.Consumer to</span>
+<span class="sd">      which the request values of the RPC should be passed.</span>
+
+<span class="sd">  Returns:</span>
+<span class="sd">    An face.MethodImplementation derived from the given behavior.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+  <span class="k">return</span> <span class="n">_MethodImplementation</span><span class="p">(</span>
+      <span class="n">cardinality</span><span class="o">.</span><span class="n">Cardinality</span><span class="o">.</span><span class="n">STREAM_STREAM</span><span class="p">,</span> <span class="n">style</span><span class="o">.</span><span class="n">Service</span><span class="o">.</span><span class="n">EVENT</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span>
+      <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="n">behavior</span><span class="p">)</span></div>
+</pre></div>
+
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2015, Author.
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../../../../../',
+            VERSION:'0.11.0b0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+      <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+      <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>

+ 32 - 7
python/_modules/grpc/framework/interfaces/links/links.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.interfaces.links.links &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.interfaces.links.links &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../../index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../../../../../index.html"/>
         <link rel="up" title="Module code" href="../../../../index.html"/> 
 
   
@@ -73,10 +73,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../../../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -164,12 +171,28 @@
 <span class="kn">import</span> <span class="nn">enum</span>
 
 
+<div class="viewcode-block" id="Protocol"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.links.Protocol">[docs]</a><span class="k">class</span> <span class="nc">Protocol</span><span class="p">(</span><span class="n">collections</span><span class="o">.</span><span class="n">namedtuple</span><span class="p">(</span><span class="s">&#39;Protocol&#39;</span><span class="p">,</span> <span class="p">(</span><span class="s">&#39;kind&#39;</span><span class="p">,</span> <span class="s">&#39;value&#39;</span><span class="p">,))):</span>
+  <span class="sd">&quot;&quot;&quot;A sum type for handles to a system that transmits tickets.</span>
+
+<span class="sd">  Attributes:</span>
+<span class="sd">    kind: A Kind value identifying the kind of value being passed.</span>
+<span class="sd">    value: The value being passed between the high-level application and the</span>
+<span class="sd">      system affording ticket transport.</span>
+<span class="sd">  &quot;&quot;&quot;</span>
+
+  <span class="nd">@enum.unique</span>
+<div class="viewcode-block" id="Protocol.Kind"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.links.Protocol.Kind">[docs]</a>  <span class="k">class</span> <span class="nc">Kind</span><span class="p">(</span><span class="n">enum</span><span class="o">.</span><span class="n">Enum</span><span class="p">):</span>
+    <span class="n">CALL_OPTION</span> <span class="o">=</span> <span class="s">&#39;call option&#39;</span>
+    <span class="n">SERVICER_CONTEXT</span> <span class="o">=</span> <span class="s">&#39;servicer context&#39;</span>
+    <span class="n">INVOCATION_CONTEXT</span> <span class="o">=</span> <span class="s">&#39;invocation context&#39;</span>
+
+</div></div>
 <div class="viewcode-block" id="Ticket"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.links.Ticket">[docs]</a><span class="k">class</span> <span class="nc">Ticket</span><span class="p">(</span>
     <span class="n">collections</span><span class="o">.</span><span class="n">namedtuple</span><span class="p">(</span>
         <span class="s">&#39;Ticket&#39;</span><span class="p">,</span>
-        <span class="p">[</span><span class="s">&#39;operation_id&#39;</span><span class="p">,</span> <span class="s">&#39;sequence_number&#39;</span><span class="p">,</span> <span class="s">&#39;group&#39;</span><span class="p">,</span> <span class="s">&#39;method&#39;</span><span class="p">,</span> <span class="s">&#39;subscription&#39;</span><span class="p">,</span>
+        <span class="p">(</span><span class="s">&#39;operation_id&#39;</span><span class="p">,</span> <span class="s">&#39;sequence_number&#39;</span><span class="p">,</span> <span class="s">&#39;group&#39;</span><span class="p">,</span> <span class="s">&#39;method&#39;</span><span class="p">,</span> <span class="s">&#39;subscription&#39;</span><span class="p">,</span>
          <span class="s">&#39;timeout&#39;</span><span class="p">,</span> <span class="s">&#39;allowance&#39;</span><span class="p">,</span> <span class="s">&#39;initial_metadata&#39;</span><span class="p">,</span> <span class="s">&#39;payload&#39;</span><span class="p">,</span>
-         <span class="s">&#39;terminal_metadata&#39;</span><span class="p">,</span> <span class="s">&#39;code&#39;</span><span class="p">,</span> <span class="s">&#39;message&#39;</span><span class="p">,</span> <span class="s">&#39;termination&#39;</span><span class="p">])):</span>
+         <span class="s">&#39;terminal_metadata&#39;</span><span class="p">,</span> <span class="s">&#39;code&#39;</span><span class="p">,</span> <span class="s">&#39;message&#39;</span><span class="p">,</span> <span class="s">&#39;termination&#39;</span><span class="p">,</span> <span class="s">&#39;protocol&#39;</span><span class="p">,))):</span>
   <span class="sd">&quot;&quot;&quot;A sum type for all values sent from a front to a back.</span>
 
 <span class="sd">  Attributes:</span>
@@ -211,6 +234,8 @@
 <span class="sd">    termination: A Termination value describing the end of the operation, or</span>
 <span class="sd">      None if the operation has not yet terminated. If set, no further tickets</span>
 <span class="sd">      may be sent in the same direction.</span>
+<span class="sd">    protocol: A Protocol value or None, with further semantics being a matter</span>
+<span class="sd">      between high-level application and underlying ticket transport.</span>
 <span class="sd">  &quot;&quot;&quot;</span>
 
   <span class="nd">@enum.unique</span>
@@ -228,7 +253,7 @@
     <span class="n">COMPLETION</span> <span class="o">=</span> <span class="s">&#39;completion&#39;</span>
     <span class="n">CANCELLATION</span> <span class="o">=</span> <span class="s">&#39;cancellation&#39;</span>
     <span class="n">EXPIRATION</span> <span class="o">=</span> <span class="s">&#39;expiration&#39;</span>
-    <span class="n">LOCAL_SHUTDOWN</span> <span class="o">=</span> <span class="s">&#39;local shutdown&#39;</span>
+    <span class="n">SHUTDOWN</span> <span class="o">=</span> <span class="s">&#39;shutdown&#39;</span>
     <span class="n">RECEPTION_FAILURE</span> <span class="o">=</span> <span class="s">&#39;reception failure&#39;</span>
     <span class="n">TRANSMISSION_FAILURE</span> <span class="o">=</span> <span class="s">&#39;transmission failure&#39;</span>
     <span class="n">LOCAL_FAILURE</span> <span class="o">=</span> <span class="s">&#39;local failure&#39;</span>
@@ -283,7 +308,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../../../../../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 0 - 522
python/_modules/grpc/framework/interfaces/links/test_cases.html

@@ -1,522 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>grpc.framework.interfaces.links.test_cases &mdash; grpcio 0.10.0a0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../../index.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-nav-search">
-        
-
-        
-          <a href="../../../../../index.html" class="icon icon-home"> grpcio
-        
-
-        
-        </a>
-
-        
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-        
-      </div>
-
-      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-        
-          
-          
-              <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../grpc.html">grpc package</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#subpackages">Subpackages</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.framework.html">grpc.framework package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#subpackages">Subpackages</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#module-grpc">Module contents</a></li>
-</ul>
-</li>
-</ul>
-
-          
-        
-      </div>
-      &nbsp;
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../../index.html">grpcio</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          <div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>grpc.framework.interfaces.links.test_cases</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document">
-            
-  <h1>Source code for grpc.framework.interfaces.links.test_cases</h1><div class="highlight"><pre>
-<span class="c"># Copyright 2015, Google Inc.</span>
-<span class="c"># All rights reserved.</span>
-<span class="c">#</span>
-<span class="c"># Redistribution and use in source and binary forms, with or without</span>
-<span class="c"># modification, are permitted provided that the following conditions are</span>
-<span class="c"># met:</span>
-<span class="c">#</span>
-<span class="c">#     * Redistributions of source code must retain the above copyright</span>
-<span class="c"># notice, this list of conditions and the following disclaimer.</span>
-<span class="c">#     * Redistributions in binary form must reproduce the above</span>
-<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
-<span class="c"># in the documentation and/or other materials provided with the</span>
-<span class="c"># distribution.</span>
-<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
-<span class="c"># contributors may be used to endorse or promote products derived from</span>
-<span class="c"># this software without specific prior written permission.</span>
-<span class="c">#</span>
-<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
-<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
-<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
-<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
-<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
-<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
-<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-
-<span class="sd">&quot;&quot;&quot;Tests of the links interface of RPC Framework.&quot;&quot;&quot;</span>
-
-<span class="c"># unittest is referenced from specification in this module.</span>
-<span class="kn">import</span> <span class="nn">abc</span>
-<span class="kn">import</span> <span class="nn">unittest</span>  <span class="c"># pylint: disable=unused-import</span>
-
-<span class="kn">from</span> <span class="nn">grpc.framework.common</span> <span class="kn">import</span> <span class="n">test_constants</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.interfaces.links</span> <span class="kn">import</span> <span class="n">links</span>
-<span class="kn">from</span> <span class="nn">grpc.framework.interfaces.links</span> <span class="kn">import</span> <span class="n">test_utilities</span>
-
-
-<div class="viewcode-block" id="at_least_n_payloads_received_predicate"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_cases.at_least_n_payloads_received_predicate">[docs]</a><span class="k">def</span> <span class="nf">at_least_n_payloads_received_predicate</span><span class="p">(</span><span class="n">n</span><span class="p">):</span>
-  <span class="k">def</span> <span class="nf">predicate</span><span class="p">(</span><span class="n">ticket_sequence</span><span class="p">):</span>
-    <span class="n">payload_count</span> <span class="o">=</span> <span class="mi">0</span>
-    <span class="k">for</span> <span class="n">ticket</span> <span class="ow">in</span> <span class="n">ticket_sequence</span><span class="p">:</span>
-      <span class="k">if</span> <span class="n">ticket</span><span class="o">.</span><span class="n">payload</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
-        <span class="n">payload_count</span> <span class="o">+=</span> <span class="mi">1</span>
-        <span class="k">if</span> <span class="n">n</span> <span class="o">&lt;=</span> <span class="n">payload_count</span><span class="p">:</span>
-          <span class="k">return</span> <span class="bp">True</span>
-    <span class="k">else</span><span class="p">:</span>
-      <span class="k">return</span> <span class="bp">False</span>
-  <span class="k">return</span> <span class="n">predicate</span>
-
-</div>
-<div class="viewcode-block" id="terminated"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_cases.terminated">[docs]</a><span class="k">def</span> <span class="nf">terminated</span><span class="p">(</span><span class="n">ticket_sequence</span><span class="p">):</span>
-  <span class="k">return</span> <span class="n">ticket_sequence</span> <span class="ow">and</span> <span class="n">ticket_sequence</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">termination</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span>
-</div>
-<span class="n">_TRANSMISSION_GROUP</span> <span class="o">=</span> <span class="s">&#39;test.Group&#39;</span>
-<span class="n">_TRANSMISSION_METHOD</span> <span class="o">=</span> <span class="s">&#39;TestMethod&#39;</span>
-
-
-<div class="viewcode-block" id="TransmissionTest"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_cases.TransmissionTest">[docs]</a><span class="k">class</span> <span class="nc">TransmissionTest</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;Tests ticket transmission between two connected links.</span>
-
-<span class="sd">  This class must be mixed into a unittest.TestCase that implements the abstract</span>
-<span class="sd">  methods it provides.</span>
-<span class="sd">  &quot;&quot;&quot;</span>
-  <span class="n">__metaclass__</span> <span class="o">=</span> <span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span>
-
-  <span class="c"># This is a unittest.TestCase mix-in.</span>
-  <span class="c"># pylint: disable=invalid-name</span>
-
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="TransmissionTest.create_transmitting_links"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_cases.TransmissionTest.create_transmitting_links">[docs]</a>  <span class="k">def</span> <span class="nf">create_transmitting_links</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Creates two connected links for use in this test.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      Two links.Links, the first of which will be used on the invocation side</span>
-<span class="sd">        of RPCs and the second of which will be used on the service side of</span>
-<span class="sd">        RPCs.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="TransmissionTest.destroy_transmitting_links"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_cases.TransmissionTest.destroy_transmitting_links">[docs]</a>  <span class="k">def</span> <span class="nf">destroy_transmitting_links</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">invocation_side_link</span><span class="p">,</span> <span class="n">service_side_link</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Destroys the two connected links created for this test.</span>
-
-
-<span class="sd">    Args:</span>
-<span class="sd">      invocation_side_link: The link used on the invocation side of RPCs in</span>
-<span class="sd">        this test.</span>
-<span class="sd">      service_side_link: The link used on the service side of RPCs in this</span>
-<span class="sd">        test.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="TransmissionTest.create_invocation_initial_metadata"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_cases.TransmissionTest.create_invocation_initial_metadata">[docs]</a>  <span class="k">def</span> <span class="nf">create_invocation_initial_metadata</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Creates a value for use as invocation-side initial metadata.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      A metadata value appropriate for use as invocation-side initial metadata</span>
-<span class="sd">        or None if invocation-side initial metadata transmission is not</span>
-<span class="sd">        supported by the links under test.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="TransmissionTest.create_invocation_terminal_metadata"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_cases.TransmissionTest.create_invocation_terminal_metadata">[docs]</a>  <span class="k">def</span> <span class="nf">create_invocation_terminal_metadata</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Creates a value for use as invocation-side terminal metadata.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      A metadata value appropriate for use as invocation-side terminal</span>
-<span class="sd">        metadata or None if invocation-side terminal metadata transmission is</span>
-<span class="sd">        not supported by the links under test.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="TransmissionTest.create_service_initial_metadata"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_cases.TransmissionTest.create_service_initial_metadata">[docs]</a>  <span class="k">def</span> <span class="nf">create_service_initial_metadata</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Creates a value for use as service-side initial metadata.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      A metadata value appropriate for use as service-side initial metadata or</span>
-<span class="sd">        None if service-side initial metadata transmission is not supported by</span>
-<span class="sd">        the links under test.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="TransmissionTest.create_service_terminal_metadata"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_cases.TransmissionTest.create_service_terminal_metadata">[docs]</a>  <span class="k">def</span> <span class="nf">create_service_terminal_metadata</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Creates a value for use as service-side terminal metadata.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      A metadata value appropriate for use as service-side terminal metadata or</span>
-<span class="sd">        None if service-side terminal metadata transmission is not supported by</span>
-<span class="sd">        the links under test.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="TransmissionTest.create_invocation_completion"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_cases.TransmissionTest.create_invocation_completion">[docs]</a>  <span class="k">def</span> <span class="nf">create_invocation_completion</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Creates values for use as invocation-side code and message.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      An invocation-side code value and an invocation-side message value.</span>
-<span class="sd">        Either or both may be None if invocation-side code and/or</span>
-<span class="sd">        invocation-side message transmission is not supported by the links</span>
-<span class="sd">        under test.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="TransmissionTest.create_service_completion"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_cases.TransmissionTest.create_service_completion">[docs]</a>  <span class="k">def</span> <span class="nf">create_service_completion</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Creates values for use as service-side code and message.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      A service-side code value and a service-side message value. Either or</span>
-<span class="sd">        both may be None if service-side code and/or service-side message</span>
-<span class="sd">        transmission is not supported by the links under test.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-  <span class="nd">@abc.abstractmethod</span>
-<div class="viewcode-block" id="TransmissionTest.assertMetadataTransmitted"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_cases.TransmissionTest.assertMetadataTransmitted">[docs]</a>  <span class="k">def</span> <span class="nf">assertMetadataTransmitted</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">original_metadata</span><span class="p">,</span> <span class="n">transmitted_metadata</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Asserts that transmitted_metadata contains original_metadata.</span>
-
-<span class="sd">    Args:</span>
-<span class="sd">      original_metadata: A metadata object used in this test.</span>
-<span class="sd">      transmitted_metadata: A metadata object obtained after transmission</span>
-<span class="sd">        through the system under test.</span>
-
-<span class="sd">    Raises:</span>
-<span class="sd">      AssertionError: if the transmitted_metadata object does not contain</span>
-<span class="sd">        original_metadata.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span>
-</div>
-<div class="viewcode-block" id="TransmissionTest.group_and_method"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_cases.TransmissionTest.group_and_method">[docs]</a>  <span class="k">def</span> <span class="nf">group_and_method</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Returns the group and method used in this test case.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      A pair of the group and method used in this test case.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">return</span> <span class="n">_TRANSMISSION_GROUP</span><span class="p">,</span> <span class="n">_TRANSMISSION_METHOD</span>
-</div>
-<div class="viewcode-block" id="TransmissionTest.serialize_request"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_cases.TransmissionTest.serialize_request">[docs]</a>  <span class="k">def</span> <span class="nf">serialize_request</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Serializes a request value used in this test case.</span>
-
-<span class="sd">    Args:</span>
-<span class="sd">      request: A request value created by this test case.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      A bytestring that is the serialization of the given request.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">return</span> <span class="n">request</span>
-</div>
-<div class="viewcode-block" id="TransmissionTest.deserialize_request"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_cases.TransmissionTest.deserialize_request">[docs]</a>  <span class="k">def</span> <span class="nf">deserialize_request</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">serialized_request</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Deserializes a request value used in this test case.</span>
-
-<span class="sd">    Args:</span>
-<span class="sd">      serialized_request: A bytestring that is the serialization of some request</span>
-<span class="sd">        used in this test case.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      The request value encoded by the given bytestring.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">return</span> <span class="n">serialized_request</span>
-</div>
-<div class="viewcode-block" id="TransmissionTest.serialize_response"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_cases.TransmissionTest.serialize_response">[docs]</a>  <span class="k">def</span> <span class="nf">serialize_response</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Serializes a response value used in this test case.</span>
-
-<span class="sd">    Args:</span>
-<span class="sd">      response: A response value created by this test case.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      A bytestring that is the serialization of the given response.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">return</span> <span class="n">response</span>
-</div>
-<div class="viewcode-block" id="TransmissionTest.deserialize_response"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_cases.TransmissionTest.deserialize_response">[docs]</a>  <span class="k">def</span> <span class="nf">deserialize_response</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">serialized_response</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Deserializes a response value used in this test case.</span>
-
-<span class="sd">    Args:</span>
-<span class="sd">      serialized_response: A bytestring that is the serialization of some</span>
-<span class="sd">        response used in this test case.</span>
-
-<span class="sd">    Returns:</span>
-<span class="sd">      The response value encoded by the given bytestring.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">return</span> <span class="n">serialized_response</span>
-</div>
-  <span class="k">def</span> <span class="nf">_assert_is_valid_metadata_payload_sequence</span><span class="p">(</span>
-      <span class="bp">self</span><span class="p">,</span> <span class="n">ticket_sequence</span><span class="p">,</span> <span class="n">payloads</span><span class="p">,</span> <span class="n">initial_metadata</span><span class="p">,</span> <span class="n">terminal_metadata</span><span class="p">):</span>
-    <span class="n">initial_metadata_seen</span> <span class="o">=</span> <span class="bp">False</span>
-    <span class="n">seen_payloads</span> <span class="o">=</span> <span class="p">[]</span>
-    <span class="n">terminal_metadata_seen</span> <span class="o">=</span> <span class="bp">False</span>
-
-    <span class="k">for</span> <span class="n">ticket</span> <span class="ow">in</span> <span class="n">ticket_sequence</span><span class="p">:</span>
-      <span class="k">if</span> <span class="n">ticket</span><span class="o">.</span><span class="n">initial_metadata</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span><span class="n">initial_metadata_seen</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span><span class="n">seen_payloads</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span><span class="n">terminal_metadata_seen</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertMetadataTransmitted</span><span class="p">(</span><span class="n">initial_metadata</span><span class="p">,</span> <span class="n">ticket</span><span class="o">.</span><span class="n">initial_metadata</span><span class="p">)</span>
-        <span class="n">initial_metadata_seen</span> <span class="o">=</span> <span class="bp">True</span>
-
-      <span class="k">if</span> <span class="n">ticket</span><span class="o">.</span><span class="n">payload</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span><span class="n">terminal_metadata_seen</span><span class="p">)</span>
-        <span class="n">seen_payloads</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ticket</span><span class="o">.</span><span class="n">payload</span><span class="p">)</span>
-
-      <span class="k">if</span> <span class="n">ticket</span><span class="o">.</span><span class="n">terminal_metadata</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span><span class="n">terminal_metadata_seen</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertMetadataTransmitted</span><span class="p">(</span><span class="n">terminal_metadata</span><span class="p">,</span> <span class="n">ticket</span><span class="o">.</span><span class="n">terminal_metadata</span><span class="p">)</span>
-        <span class="n">terminal_metadata_seen</span> <span class="o">=</span> <span class="bp">True</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertSequenceEqual</span><span class="p">(</span><span class="n">payloads</span><span class="p">,</span> <span class="n">seen_payloads</span><span class="p">)</span>
-
-  <span class="k">def</span> <span class="nf">_assert_is_valid_invocation_sequence</span><span class="p">(</span>
-      <span class="bp">self</span><span class="p">,</span> <span class="n">ticket_sequence</span><span class="p">,</span> <span class="n">group</span><span class="p">,</span> <span class="n">method</span><span class="p">,</span> <span class="n">payloads</span><span class="p">,</span> <span class="n">initial_metadata</span><span class="p">,</span>
-      <span class="n">terminal_metadata</span><span class="p">,</span> <span class="n">termination</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertLess</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">ticket_sequence</span><span class="p">))</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">group</span><span class="p">,</span> <span class="n">ticket_sequence</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">group</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">method</span><span class="p">,</span> <span class="n">ticket_sequence</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">method</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_assert_is_valid_metadata_payload_sequence</span><span class="p">(</span>
-        <span class="n">ticket_sequence</span><span class="p">,</span> <span class="n">payloads</span><span class="p">,</span> <span class="n">initial_metadata</span><span class="p">,</span> <span class="n">terminal_metadata</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertIs</span><span class="p">(</span><span class="n">termination</span><span class="p">,</span> <span class="n">ticket_sequence</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">termination</span><span class="p">)</span>
-
-  <span class="k">def</span> <span class="nf">_assert_is_valid_service_sequence</span><span class="p">(</span>
-      <span class="bp">self</span><span class="p">,</span> <span class="n">ticket_sequence</span><span class="p">,</span> <span class="n">payloads</span><span class="p">,</span> <span class="n">initial_metadata</span><span class="p">,</span> <span class="n">terminal_metadata</span><span class="p">,</span>
-      <span class="n">code</span><span class="p">,</span> <span class="n">message</span><span class="p">,</span> <span class="n">termination</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertLess</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">ticket_sequence</span><span class="p">))</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_assert_is_valid_metadata_payload_sequence</span><span class="p">(</span>
-        <span class="n">ticket_sequence</span><span class="p">,</span> <span class="n">payloads</span><span class="p">,</span> <span class="n">initial_metadata</span><span class="p">,</span> <span class="n">terminal_metadata</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">code</span><span class="p">,</span> <span class="n">ticket_sequence</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">code</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">message</span><span class="p">,</span> <span class="n">ticket_sequence</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">message</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">assertIs</span><span class="p">(</span><span class="n">termination</span><span class="p">,</span> <span class="n">ticket_sequence</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">termination</span><span class="p">)</span>
-
-<div class="viewcode-block" id="TransmissionTest.setUp"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_cases.TransmissionTest.setUp">[docs]</a>  <span class="k">def</span> <span class="nf">setUp</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_invocation_link</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_service_link</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">create_transmitting_links</span><span class="p">()</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_invocation_mate</span> <span class="o">=</span> <span class="n">test_utilities</span><span class="o">.</span><span class="n">RecordingLink</span><span class="p">()</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_service_mate</span> <span class="o">=</span> <span class="n">test_utilities</span><span class="o">.</span><span class="n">RecordingLink</span><span class="p">()</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_invocation_link</span><span class="o">.</span><span class="n">join_link</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_invocation_mate</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_service_link</span><span class="o">.</span><span class="n">join_link</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_service_mate</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="TransmissionTest.tearDown"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_cases.TransmissionTest.tearDown">[docs]</a>  <span class="k">def</span> <span class="nf">tearDown</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">destroy_transmitting_links</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_invocation_link</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_service_link</span><span class="p">)</span>
-</div>
-<div class="viewcode-block" id="TransmissionTest.testSimplestRoundTrip"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_cases.TransmissionTest.testSimplestRoundTrip">[docs]</a>  <span class="k">def</span> <span class="nf">testSimplestRoundTrip</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Tests transmission of one ticket in each direction.&quot;&quot;&quot;</span>
-    <span class="n">invocation_operation_id</span> <span class="o">=</span> <span class="nb">object</span><span class="p">()</span>
-    <span class="n">invocation_payload</span> <span class="o">=</span> <span class="n">b</span><span class="s">&#39;</span><span class="se">\x07</span><span class="s">&#39;</span> <span class="o">*</span> <span class="mi">1023</span>
-    <span class="n">timeout</span> <span class="o">=</span> <span class="n">test_constants</span><span class="o">.</span><span class="n">LONG_TIMEOUT</span>
-    <span class="n">invocation_initial_metadata</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">create_invocation_initial_metadata</span><span class="p">()</span>
-    <span class="n">invocation_terminal_metadata</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">create_invocation_terminal_metadata</span><span class="p">()</span>
-    <span class="n">invocation_code</span><span class="p">,</span> <span class="n">invocation_message</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">create_invocation_completion</span><span class="p">()</span>
-    <span class="n">service_payload</span> <span class="o">=</span> <span class="n">b</span><span class="s">&#39;</span><span class="se">\x08</span><span class="s">&#39;</span> <span class="o">*</span> <span class="mi">1025</span>
-    <span class="n">service_initial_metadata</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">create_service_initial_metadata</span><span class="p">()</span>
-    <span class="n">service_terminal_metadata</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">create_service_terminal_metadata</span><span class="p">()</span>
-    <span class="n">service_code</span><span class="p">,</span> <span class="n">service_message</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">create_service_completion</span><span class="p">()</span>
-
-    <span class="n">original_invocation_ticket</span> <span class="o">=</span> <span class="n">links</span><span class="o">.</span><span class="n">Ticket</span><span class="p">(</span>
-        <span class="n">invocation_operation_id</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">_TRANSMISSION_GROUP</span><span class="p">,</span> <span class="n">_TRANSMISSION_METHOD</span><span class="p">,</span>
-        <span class="n">links</span><span class="o">.</span><span class="n">Ticket</span><span class="o">.</span><span class="n">Subscription</span><span class="o">.</span><span class="n">FULL</span><span class="p">,</span> <span class="n">timeout</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">invocation_initial_metadata</span><span class="p">,</span>
-        <span class="n">invocation_payload</span><span class="p">,</span> <span class="n">invocation_terminal_metadata</span><span class="p">,</span> <span class="n">invocation_code</span><span class="p">,</span>
-        <span class="n">invocation_message</span><span class="p">,</span> <span class="n">links</span><span class="o">.</span><span class="n">Ticket</span><span class="o">.</span><span class="n">Termination</span><span class="o">.</span><span class="n">COMPLETION</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_invocation_link</span><span class="o">.</span><span class="n">accept_ticket</span><span class="p">(</span><span class="n">original_invocation_ticket</span><span class="p">)</span>
-
-    <span class="c"># TODO(nathaniel): This shouldn&#39;t be necessary. Detecting the end of the</span>
-    <span class="c"># invocation-side ticket sequence shouldn&#39;t require granting allowance for</span>
-    <span class="c"># another payload.</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_service_mate</span><span class="o">.</span><span class="n">block_until_tickets_satisfy</span><span class="p">(</span>
-        <span class="n">at_least_n_payloads_received_predicate</span><span class="p">(</span><span class="mi">1</span><span class="p">))</span>
-    <span class="n">service_operation_id</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_service_mate</span><span class="o">.</span><span class="n">tickets</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">operation_id</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_service_link</span><span class="o">.</span><span class="n">accept_ticket</span><span class="p">(</span>
-        <span class="n">links</span><span class="o">.</span><span class="n">Ticket</span><span class="p">(</span>
-            <span class="n">service_operation_id</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="n">links</span><span class="o">.</span><span class="n">Ticket</span><span class="o">.</span><span class="n">Subscription</span><span class="o">.</span><span class="n">FULL</span><span class="p">,</span>
-            <span class="bp">None</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">))</span>
-
-    <span class="bp">self</span><span class="o">.</span><span class="n">_service_mate</span><span class="o">.</span><span class="n">block_until_tickets_satisfy</span><span class="p">(</span><span class="n">terminated</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_assert_is_valid_invocation_sequence</span><span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_service_mate</span><span class="o">.</span><span class="n">tickets</span><span class="p">(),</span> <span class="n">_TRANSMISSION_GROUP</span><span class="p">,</span> <span class="n">_TRANSMISSION_METHOD</span><span class="p">,</span>
-        <span class="p">(</span><span class="n">invocation_payload</span><span class="p">,),</span> <span class="n">invocation_initial_metadata</span><span class="p">,</span>
-        <span class="n">invocation_terminal_metadata</span><span class="p">,</span> <span class="n">links</span><span class="o">.</span><span class="n">Ticket</span><span class="o">.</span><span class="n">Termination</span><span class="o">.</span><span class="n">COMPLETION</span><span class="p">)</span>
-
-    <span class="n">original_service_ticket</span> <span class="o">=</span> <span class="n">links</span><span class="o">.</span><span class="n">Ticket</span><span class="p">(</span>
-        <span class="n">service_operation_id</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="n">links</span><span class="o">.</span><span class="n">Ticket</span><span class="o">.</span><span class="n">Subscription</span><span class="o">.</span><span class="n">FULL</span><span class="p">,</span>
-        <span class="n">timeout</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">service_initial_metadata</span><span class="p">,</span> <span class="n">service_payload</span><span class="p">,</span>
-        <span class="n">service_terminal_metadata</span><span class="p">,</span> <span class="n">service_code</span><span class="p">,</span> <span class="n">service_message</span><span class="p">,</span>
-        <span class="n">links</span><span class="o">.</span><span class="n">Ticket</span><span class="o">.</span><span class="n">Termination</span><span class="o">.</span><span class="n">COMPLETION</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_service_link</span><span class="o">.</span><span class="n">accept_ticket</span><span class="p">(</span><span class="n">original_service_ticket</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_invocation_mate</span><span class="o">.</span><span class="n">block_until_tickets_satisfy</span><span class="p">(</span><span class="n">terminated</span><span class="p">)</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_assert_is_valid_service_sequence</span><span class="p">(</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_invocation_mate</span><span class="o">.</span><span class="n">tickets</span><span class="p">(),</span> <span class="p">(</span><span class="n">service_payload</span><span class="p">,),</span>
-        <span class="n">service_initial_metadata</span><span class="p">,</span> <span class="n">service_terminal_metadata</span><span class="p">,</span> <span class="n">service_code</span><span class="p">,</span>
-        <span class="n">service_message</span><span class="p">,</span> <span class="n">links</span><span class="o">.</span><span class="n">Ticket</span><span class="o">.</span><span class="n">Termination</span><span class="o">.</span><span class="n">COMPLETION</span><span class="p">)</span></div></div>
-</pre></div>
-
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2015, Author.
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../../',
-            VERSION:'0.10.0a0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>

+ 0 - 255
python/_modules/grpc/framework/interfaces/links/test_utilities.html

@@ -1,255 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>grpc.framework.interfaces.links.test_utilities &mdash; grpcio 0.10.0a0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../../../../../index.html"/>
-        <link rel="up" title="Module code" href="../../../../index.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-nav-search">
-        
-
-        
-          <a href="../../../../../index.html" class="icon icon-home"> grpcio
-        
-
-        
-        </a>
-
-        
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-        
-      </div>
-
-      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-        
-          
-          
-              <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../grpc.html">grpc package</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#subpackages">Subpackages</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#submodules">Submodules</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="../../../../../grpc.framework.html">grpc.framework package</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#subpackages">Subpackages</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../../../../../grpc.framework.html#module-grpc.framework">Module contents</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="../../../../../grpc.html#module-grpc">Module contents</a></li>
-</ul>
-</li>
-</ul>
-
-          
-        
-      </div>
-      &nbsp;
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../../../../index.html">grpcio</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          <div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../../../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../../../../index.html">Module code</a> &raquo;</li>
-      
-    <li>grpc.framework.interfaces.links.test_utilities</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document">
-            
-  <h1>Source code for grpc.framework.interfaces.links.test_utilities</h1><div class="highlight"><pre>
-<span class="c"># Copyright 2015, Google Inc.</span>
-<span class="c"># All rights reserved.</span>
-<span class="c">#</span>
-<span class="c"># Redistribution and use in source and binary forms, with or without</span>
-<span class="c"># modification, are permitted provided that the following conditions are</span>
-<span class="c"># met:</span>
-<span class="c">#</span>
-<span class="c">#     * Redistributions of source code must retain the above copyright</span>
-<span class="c"># notice, this list of conditions and the following disclaimer.</span>
-<span class="c">#     * Redistributions in binary form must reproduce the above</span>
-<span class="c"># copyright notice, this list of conditions and the following disclaimer</span>
-<span class="c"># in the documentation and/or other materials provided with the</span>
-<span class="c"># distribution.</span>
-<span class="c">#     * Neither the name of Google Inc. nor the names of its</span>
-<span class="c"># contributors may be used to endorse or promote products derived from</span>
-<span class="c"># this software without specific prior written permission.</span>
-<span class="c">#</span>
-<span class="c"># THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-<span class="c"># &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-<span class="c"># A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
-<span class="c"># OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
-<span class="c"># SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
-<span class="c"># LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
-<span class="c"># DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
-<span class="c"># THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
-<span class="c"># (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
-<span class="c"># OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
-
-<span class="sd">&quot;&quot;&quot;State and behavior appropriate for use in tests.&quot;&quot;&quot;</span>
-
-<span class="kn">import</span> <span class="nn">threading</span>
-
-<span class="kn">from</span> <span class="nn">grpc.framework.interfaces.links</span> <span class="kn">import</span> <span class="n">links</span>
-
-
-<div class="viewcode-block" id="RecordingLink"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_utilities.RecordingLink">[docs]</a><span class="k">class</span> <span class="nc">RecordingLink</span><span class="p">(</span><span class="n">links</span><span class="o">.</span><span class="n">Link</span><span class="p">):</span>
-  <span class="sd">&quot;&quot;&quot;A Link that records every ticket passed to it.&quot;&quot;&quot;</span>
-
-  <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span> <span class="o">=</span> <span class="n">threading</span><span class="o">.</span><span class="n">Condition</span><span class="p">()</span>
-    <span class="bp">self</span><span class="o">.</span><span class="n">_tickets</span> <span class="o">=</span> <span class="p">[]</span>
-
-<div class="viewcode-block" id="RecordingLink.accept_ticket"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_utilities.RecordingLink.accept_ticket">[docs]</a>  <span class="k">def</span> <span class="nf">accept_ticket</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ticket</span><span class="p">):</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_tickets</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ticket</span><span class="p">)</span>
-      <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="o">.</span><span class="n">notify_all</span><span class="p">()</span>
-</div>
-<div class="viewcode-block" id="RecordingLink.join_link"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_utilities.RecordingLink.join_link">[docs]</a>  <span class="k">def</span> <span class="nf">join_link</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">link</span><span class="p">):</span>
-    <span class="k">pass</span>
-</div>
-<div class="viewcode-block" id="RecordingLink.block_until_tickets_satisfy"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_utilities.RecordingLink.block_until_tickets_satisfy">[docs]</a>  <span class="k">def</span> <span class="nf">block_until_tickets_satisfy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">predicate</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Blocks until the received tickets satisfy the given predicate.</span>
-
-<span class="sd">    Args:</span>
-<span class="sd">      predicate: A callable that takes a sequence of tickets and returns a</span>
-<span class="sd">        boolean value.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="k">while</span> <span class="ow">not</span> <span class="n">predicate</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_tickets</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="o">.</span><span class="n">wait</span><span class="p">()</span>
-</div>
-<div class="viewcode-block" id="RecordingLink.tickets"><a class="viewcode-back" href="../../../../../grpc.framework.interfaces.links.html#grpc.framework.interfaces.links.test_utilities.RecordingLink.tickets">[docs]</a>  <span class="k">def</span> <span class="nf">tickets</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;Returns a copy of the list of all tickets received by this Link.&quot;&quot;&quot;</span>
-    <span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">_condition</span><span class="p">:</span>
-      <span class="k">return</span> <span class="nb">tuple</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_tickets</span><span class="p">)</span></div></div>
-</pre></div>
-
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2015, Author.
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../../../../',
-            VERSION:'0.10.0a0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>

+ 21 - 29
python/_modules/index.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Overview: module code &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>Overview: module code &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="../index.html"/> 
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="../index.html"/> 
 
   
   <script src="_static/js/modernizr.min.js"></script>
@@ -72,10 +72,17 @@
               <ul>
 <li class="toctree-l1"><a class="reference internal" href="../grpc.html">grpc package</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../grpc.html#subpackages">Subpackages</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="../grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="../grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="../grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="../grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -125,42 +132,26 @@
           <div role="main" class="document">
             
   <h1>All modules for which code is available</h1>
-<ul><li><a href="grpc/early_adopter/implementations.html">grpc.early_adopter.implementations</a></li>
-<li><a href="grpc/early_adopter/implementations_test.html">grpc.early_adopter.implementations_test</a></li>
+<ul><li><a href="grpc/beta/implementations.html">grpc.beta.implementations</a></li>
+<li><a href="grpc/beta/interfaces.html">grpc.beta.interfaces</a></li>
+<li><a href="grpc/beta/utilities.html">grpc.beta.utilities</a></li>
+<li><a href="grpc/early_adopter/implementations.html">grpc.early_adopter.implementations</a></li>
 <li><a href="grpc/framework/alpha/exceptions.html">grpc.framework.alpha.exceptions</a></li>
 <li><a href="grpc/framework/alpha/interfaces.html">grpc.framework.alpha.interfaces</a></li>
 <li><a href="grpc/framework/alpha/utilities.html">grpc.framework.alpha.utilities</a></li>
 <li><a href="grpc/framework/base/exceptions.html">grpc.framework.base.exceptions</a></li>
 <li><a href="grpc/framework/base/implementations.html">grpc.framework.base.implementations</a></li>
-<li><a href="grpc/framework/base/implementations_test.html">grpc.framework.base.implementations_test</a></li>
 <li><a href="grpc/framework/base/in_memory.html">grpc.framework.base.in_memory</a></li>
 <li><a href="grpc/framework/base/interfaces.html">grpc.framework.base.interfaces</a></li>
-<li><a href="grpc/framework/base/interfaces_test_case.html">grpc.framework.base.interfaces_test_case</a></li>
 <li><a href="grpc/framework/base/util.html">grpc.framework.base.util</a></li>
 <li><a href="grpc/framework/common/cardinality.html">grpc.framework.common.cardinality</a></li>
 <li><a href="grpc/framework/common/style.html">grpc.framework.common.style</a></li>
-<li><a href="grpc/framework/common/test_control.html">grpc.framework.common.test_control</a></li>
-<li><a href="grpc/framework/common/test_coverage.html">grpc.framework.common.test_coverage</a></li>
-<li><a href="grpc/framework/face/blocking_invocation_inline_service_test.html">grpc.framework.face.blocking_invocation_inline_service_test</a></li>
+<li><a href="grpc/framework/core/implementations.html">grpc.framework.core.implementations</a></li>
+<li><a href="grpc/framework/crust/implementations.html">grpc.framework.crust.implementations</a></li>
 <li><a href="grpc/framework/face/demonstration.html">grpc.framework.face.demonstration</a></li>
-<li><a href="grpc/framework/face/event_invocation_synchronous_event_service_test.html">grpc.framework.face.event_invocation_synchronous_event_service_test</a></li>
 <li><a href="grpc/framework/face/exceptions.html">grpc.framework.face.exceptions</a></li>
-<li><a href="grpc/framework/face/future_invocation_asynchronous_event_service_test.html">grpc.framework.face.future_invocation_asynchronous_event_service_test</a></li>
 <li><a href="grpc/framework/face/implementations.html">grpc.framework.face.implementations</a></li>
 <li><a href="grpc/framework/face/interfaces.html">grpc.framework.face.interfaces</a></li>
-<li><a href="grpc/framework/face/testing/base_util.html">grpc.framework.face.testing.base_util</a></li>
-<li><a href="grpc/framework/face/testing/blocking_invocation_inline_service_test_case.html">grpc.framework.face.testing.blocking_invocation_inline_service_test_case</a></li>
-<li><a href="grpc/framework/face/testing/callback.html">grpc.framework.face.testing.callback</a></li>
-<li><a href="grpc/framework/face/testing/control.html">grpc.framework.face.testing.control</a></li>
-<li><a href="grpc/framework/face/testing/coverage.html">grpc.framework.face.testing.coverage</a></li>
-<li><a href="grpc/framework/face/testing/digest.html">grpc.framework.face.testing.digest</a></li>
-<li><a href="grpc/framework/face/testing/event_invocation_synchronous_event_service_test_case.html">grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case</a></li>
-<li><a href="grpc/framework/face/testing/future_invocation_asynchronous_event_service_test_case.html">grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case</a></li>
-<li><a href="grpc/framework/face/testing/interfaces.html">grpc.framework.face.testing.interfaces</a></li>
-<li><a href="grpc/framework/face/testing/serial.html">grpc.framework.face.testing.serial</a></li>
-<li><a href="grpc/framework/face/testing/service.html">grpc.framework.face.testing.service</a></li>
-<li><a href="grpc/framework/face/testing/stock_service.html">grpc.framework.face.testing.stock_service</a></li>
-<li><a href="grpc/framework/face/testing/test_case.html">grpc.framework.face.testing.test_case</a></li>
 <li><a href="grpc/framework/face/utilities.html">grpc.framework.face.utilities</a></li>
 <li><a href="grpc/framework/foundation/abandonment.html">grpc.framework.foundation.abandonment</a></li>
 <li><a href="grpc/framework/foundation/activated.html">grpc.framework.foundation.activated</a></li>
@@ -170,11 +161,12 @@
 <li><a href="grpc/framework/foundation/logging_pool.html">grpc.framework.foundation.logging_pool</a></li>
 <li><a href="grpc/framework/foundation/relay.html">grpc.framework.foundation.relay</a></li>
 <li><a href="grpc/framework/foundation/stream.html">grpc.framework.foundation.stream</a></li>
-<li><a href="grpc/framework/foundation/stream_testing.html">grpc.framework.foundation.stream_testing</a></li>
 <li><a href="grpc/framework/foundation/stream_util.html">grpc.framework.foundation.stream_util</a></li>
+<li><a href="grpc/framework/interfaces/base/base.html">grpc.framework.interfaces.base.base</a></li>
+<li><a href="grpc/framework/interfaces/base/utilities.html">grpc.framework.interfaces.base.utilities</a></li>
+<li><a href="grpc/framework/interfaces/face/face.html">grpc.framework.interfaces.face.face</a></li>
+<li><a href="grpc/framework/interfaces/face/utilities.html">grpc.framework.interfaces.face.utilities</a></li>
 <li><a href="grpc/framework/interfaces/links/links.html">grpc.framework.interfaces.links.links</a></li>
-<li><a href="grpc/framework/interfaces/links/test_cases.html">grpc.framework.interfaces.links.test_cases</a></li>
-<li><a href="grpc/framework/interfaces/links/test_utilities.html">grpc.framework.interfaces.links.test_utilities</a></li>
 </ul>
 
           </div>
@@ -206,7 +198,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 38 - 0
python/_sources/grpc.beta.txt

@@ -0,0 +1,38 @@
+grpc.beta package
+=================
+
+Submodules
+----------
+
+grpc.beta.implementations module
+--------------------------------
+
+.. automodule:: grpc.beta.implementations
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+grpc.beta.interfaces module
+---------------------------
+
+.. automodule:: grpc.beta.interfaces
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+grpc.beta.utilities module
+--------------------------
+
+.. automodule:: grpc.beta.utilities
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+
+Module contents
+---------------
+
+.. automodule:: grpc.beta
+    :members:
+    :undoc-members:
+    :show-inheritance:

+ 0 - 8
python/_sources/grpc.early_adopter.txt

@@ -12,14 +12,6 @@ grpc.early_adopter.implementations module
     :undoc-members:
     :show-inheritance:
 
-grpc.early_adopter.implementations_test module
-----------------------------------------------
-
-.. automodule:: grpc.early_adopter.implementations_test
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
 
 Module contents
 ---------------

+ 0 - 16
python/_sources/grpc.framework.base.txt

@@ -20,14 +20,6 @@ grpc.framework.base.implementations module
     :undoc-members:
     :show-inheritance:
 
-grpc.framework.base.implementations_test module
------------------------------------------------
-
-.. automodule:: grpc.framework.base.implementations_test
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
 grpc.framework.base.in_memory module
 ------------------------------------
 
@@ -44,14 +36,6 @@ grpc.framework.base.interfaces module
     :undoc-members:
     :show-inheritance:
 
-grpc.framework.base.interfaces_test_case module
------------------------------------------------
-
-.. automodule:: grpc.framework.base.interfaces_test_case
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
 grpc.framework.base.null module
 -------------------------------
 

+ 0 - 24
python/_sources/grpc.framework.common.txt

@@ -20,30 +20,6 @@ grpc.framework.common.style module
     :undoc-members:
     :show-inheritance:
 
-grpc.framework.common.test_constants module
--------------------------------------------
-
-.. automodule:: grpc.framework.common.test_constants
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
-grpc.framework.common.test_control module
------------------------------------------
-
-.. automodule:: grpc.framework.common.test_control
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
-grpc.framework.common.test_coverage module
-------------------------------------------
-
-.. automodule:: grpc.framework.common.test_coverage
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
 
 Module contents
 ---------------

+ 22 - 0
python/_sources/grpc.framework.core.txt

@@ -0,0 +1,22 @@
+grpc.framework.core package
+===========================
+
+Submodules
+----------
+
+grpc.framework.core.implementations module
+------------------------------------------
+
+.. automodule:: grpc.framework.core.implementations
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+
+Module contents
+---------------
+
+.. automodule:: grpc.framework.core
+    :members:
+    :undoc-members:
+    :show-inheritance:

+ 22 - 0
python/_sources/grpc.framework.crust.txt

@@ -0,0 +1,22 @@
+grpc.framework.crust package
+============================
+
+Submodules
+----------
+
+grpc.framework.crust.implementations module
+-------------------------------------------
+
+.. automodule:: grpc.framework.crust.implementations
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+
+Module contents
+---------------
+
+.. automodule:: grpc.framework.crust
+    :members:
+    :undoc-members:
+    :show-inheritance:

+ 0 - 118
python/_sources/grpc.framework.face.testing.txt

@@ -1,118 +0,0 @@
-grpc.framework.face.testing package
-===================================
-
-Submodules
-----------
-
-grpc.framework.face.testing.base_util module
---------------------------------------------
-
-.. automodule:: grpc.framework.face.testing.base_util
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
-grpc.framework.face.testing.blocking_invocation_inline_service_test_case module
--------------------------------------------------------------------------------
-
-.. automodule:: grpc.framework.face.testing.blocking_invocation_inline_service_test_case
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
-grpc.framework.face.testing.callback module
--------------------------------------------
-
-.. automodule:: grpc.framework.face.testing.callback
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
-grpc.framework.face.testing.control module
-------------------------------------------
-
-.. automodule:: grpc.framework.face.testing.control
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
-grpc.framework.face.testing.coverage module
--------------------------------------------
-
-.. automodule:: grpc.framework.face.testing.coverage
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
-grpc.framework.face.testing.digest module
------------------------------------------
-
-.. automodule:: grpc.framework.face.testing.digest
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
-grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case module
----------------------------------------------------------------------------------------
-
-.. automodule:: grpc.framework.face.testing.event_invocation_synchronous_event_service_test_case
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
-grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case module
------------------------------------------------------------------------------------------
-
-.. automodule:: grpc.framework.face.testing.future_invocation_asynchronous_event_service_test_case
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
-grpc.framework.face.testing.interfaces module
----------------------------------------------
-
-.. automodule:: grpc.framework.face.testing.interfaces
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
-grpc.framework.face.testing.serial module
------------------------------------------
-
-.. automodule:: grpc.framework.face.testing.serial
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
-grpc.framework.face.testing.service module
-------------------------------------------
-
-.. automodule:: grpc.framework.face.testing.service
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
-grpc.framework.face.testing.stock_service module
-------------------------------------------------
-
-.. automodule:: grpc.framework.face.testing.stock_service
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
-grpc.framework.face.testing.test_case module
---------------------------------------------
-
-.. automodule:: grpc.framework.face.testing.test_case
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
-
-Module contents
----------------
-
-.. automodule:: grpc.framework.face.testing
-    :members:
-    :undoc-members:
-    :show-inheritance:

+ 0 - 31
python/_sources/grpc.framework.face.txt

@@ -1,24 +1,9 @@
 grpc.framework.face package
 ===========================
 
-Subpackages
------------
-
-.. toctree::
-
-    grpc.framework.face.testing
-
 Submodules
 ----------
 
-grpc.framework.face.blocking_invocation_inline_service_test module
-------------------------------------------------------------------
-
-.. automodule:: grpc.framework.face.blocking_invocation_inline_service_test
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
 grpc.framework.face.demonstration module
 ----------------------------------------
 
@@ -27,14 +12,6 @@ grpc.framework.face.demonstration module
     :undoc-members:
     :show-inheritance:
 
-grpc.framework.face.event_invocation_synchronous_event_service_test module
---------------------------------------------------------------------------
-
-.. automodule:: grpc.framework.face.event_invocation_synchronous_event_service_test
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
 grpc.framework.face.exceptions module
 -------------------------------------
 
@@ -43,14 +20,6 @@ grpc.framework.face.exceptions module
     :undoc-members:
     :show-inheritance:
 
-grpc.framework.face.future_invocation_asynchronous_event_service_test module
-----------------------------------------------------------------------------
-
-.. automodule:: grpc.framework.face.future_invocation_asynchronous_event_service_test
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
 grpc.framework.face.implementations module
 ------------------------------------------
 

+ 0 - 8
python/_sources/grpc.framework.foundation.txt

@@ -68,14 +68,6 @@ grpc.framework.foundation.stream module
     :undoc-members:
     :show-inheritance:
 
-grpc.framework.foundation.stream_testing module
------------------------------------------------
-
-.. automodule:: grpc.framework.foundation.stream_testing
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
 grpc.framework.foundation.stream_util module
 --------------------------------------------
 

+ 30 - 0
python/_sources/grpc.framework.interfaces.base.txt

@@ -0,0 +1,30 @@
+grpc.framework.interfaces.base package
+======================================
+
+Submodules
+----------
+
+grpc.framework.interfaces.base.base module
+------------------------------------------
+
+.. automodule:: grpc.framework.interfaces.base.base
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+grpc.framework.interfaces.base.utilities module
+-----------------------------------------------
+
+.. automodule:: grpc.framework.interfaces.base.utilities
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+
+Module contents
+---------------
+
+.. automodule:: grpc.framework.interfaces.base
+    :members:
+    :undoc-members:
+    :show-inheritance:

+ 30 - 0
python/_sources/grpc.framework.interfaces.face.txt

@@ -0,0 +1,30 @@
+grpc.framework.interfaces.face package
+======================================
+
+Submodules
+----------
+
+grpc.framework.interfaces.face.face module
+------------------------------------------
+
+.. automodule:: grpc.framework.interfaces.face.face
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+grpc.framework.interfaces.face.utilities module
+-----------------------------------------------
+
+.. automodule:: grpc.framework.interfaces.face.utilities
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+
+Module contents
+---------------
+
+.. automodule:: grpc.framework.interfaces.face
+    :members:
+    :undoc-members:
+    :show-inheritance:

+ 0 - 16
python/_sources/grpc.framework.interfaces.links.txt

@@ -12,22 +12,6 @@ grpc.framework.interfaces.links.links module
     :undoc-members:
     :show-inheritance:
 
-grpc.framework.interfaces.links.test_cases module
--------------------------------------------------
-
-.. automodule:: grpc.framework.interfaces.links.test_cases
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
-grpc.framework.interfaces.links.test_utilities module
------------------------------------------------------
-
-.. automodule:: grpc.framework.interfaces.links.test_utilities
-    :members:
-    :undoc-members:
-    :show-inheritance:
-
 grpc.framework.interfaces.links.utilities module
 ------------------------------------------------
 

+ 2 - 0
python/_sources/grpc.framework.interfaces.txt

@@ -6,6 +6,8 @@ Subpackages
 
 .. toctree::
 
+    grpc.framework.interfaces.base
+    grpc.framework.interfaces.face
     grpc.framework.interfaces.links
 
 Module contents

+ 2 - 0
python/_sources/grpc.framework.txt

@@ -9,6 +9,8 @@ Subpackages
     grpc.framework.alpha
     grpc.framework.base
     grpc.framework.common
+    grpc.framework.core
+    grpc.framework.crust
     grpc.framework.face
     grpc.framework.foundation
     grpc.framework.interfaces

+ 1 - 0
python/_sources/grpc.txt

@@ -6,6 +6,7 @@ Subpackages
 
 .. toctree::
 
+    grpc.beta
     grpc.early_adopter
     grpc.framework
 

+ 1 - 1
python/_sources/index.txt

@@ -1,5 +1,5 @@
 .. grpcio documentation master file, created by
-   sphinx-quickstart on Fri Jul 24 15:10:16 2015.
+   sphinx-quickstart on Thu Sep 10 08:56:51 2015.
    You can adapt this file completely to your liking, but it should at least
    contain the root `toctree` directive.
 

Dosya farkı çok büyük olduğundan ihmal edildi
+ 294 - 307
python/genindex.html


+ 779 - 0
python/grpc.beta.html

@@ -0,0 +1,779 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>grpc.beta package &mdash; grpcio 0.11.0b0 documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="index.html"/>
+        <link rel="up" title="grpc package" href="grpc.html"/>
+        <link rel="next" title="grpc.early_adopter package" href="grpc.early_adopter.html"/>
+        <link rel="prev" title="grpc package" href="grpc.html"/> 
+
+  
+  <script src="_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-nav-search">
+        
+
+        
+          <a href="index.html" class="icon icon-home"> grpcio
+        
+
+        
+        </a>
+
+        
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+        
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+        
+          
+          
+              <ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="grpc.html">grpc package</a><ul class="current">
+<li class="toctree-l2 current"><a class="reference internal" href="grpc.html#subpackages">Subpackages</a><ul class="current">
+<li class="toctree-l3 current"><a class="current reference internal" href="">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="grpc.early_adopter.html">grpc.early_adopter package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="grpc.early_adopter.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="grpc.framework.html">grpc.framework package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="grpc.framework.html#subpackages">Subpackages</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.framework.html#module-grpc.framework">Module contents</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="grpc.html#module-grpc">Module contents</a></li>
+</ul>
+</li>
+</ul>
+
+          
+        
+      </div>
+      &nbsp;
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="index.html">grpcio</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="grpc.html">grpc package</a> &raquo;</li>
+      
+    <li>grpc.beta package</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+            <a href="_sources/grpc.beta.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document">
+            
+  <div class="section" id="grpc-beta-package">
+<h1>grpc.beta package<a class="headerlink" href="#grpc-beta-package" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="submodules">
+<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this headline">¶</a></h2>
+</div>
+<div class="section" id="module-grpc.beta.implementations">
+<span id="grpc-beta-implementations-module"></span><h2>grpc.beta.implementations module<a class="headerlink" href="#module-grpc.beta.implementations" title="Permalink to this headline">¶</a></h2>
+<p>Entry points into the Beta API of gRPC Python.</p>
+<dl class="class">
+<dt id="grpc.beta.implementations.Channel">
+<em class="property">class </em><code class="descclassname">grpc.beta.implementations.</code><code class="descname">Channel</code><span class="sig-paren">(</span><em>low_channel</em>, <em>intermediary_low_channel</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/implementations.html#Channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.implementations.Channel" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">object</span></code></p>
+<p>A channel to a remote host through which RPCs may be conducted.</p>
+<p>Only the &#8220;subscribe&#8221; and &#8220;unsubscribe&#8221; methods are supported for application
+use. This class&#8217; instance constructor and all other attributes are
+unsupported.</p>
+<dl class="method">
+<dt id="grpc.beta.implementations.Channel.subscribe">
+<code class="descname">subscribe</code><span class="sig-paren">(</span><em>callback</em>, <em>try_to_connect=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/implementations.html#Channel.subscribe"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.implementations.Channel.subscribe" title="Permalink to this definition">¶</a></dt>
+<dd><p>Subscribes to this Channel&#8217;s connectivity.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>callback</strong> &#8211; A callable to be invoked and passed an
+interfaces.ChannelConnectivity identifying this Channel&#8217;s connectivity.
+The callable will be invoked immediately upon subscription and again for
+every change to this Channel&#8217;s connectivity thereafter until it is
+unsubscribed.</li>
+<li><strong>try_to_connect</strong> &#8211; A boolean indicating whether or not this Channel should
+attempt to connect if it is not already connected and ready to conduct
+RPCs.</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="grpc.beta.implementations.Channel.unsubscribe">
+<code class="descname">unsubscribe</code><span class="sig-paren">(</span><em>callback</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/implementations.html#Channel.unsubscribe"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.implementations.Channel.unsubscribe" title="Permalink to this definition">¶</a></dt>
+<dd><p>Unsubscribes a callback from this Channel&#8217;s connectivity.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>callback</strong> &#8211; A callable previously registered with this Channel from having
+been passed to its &#8220;subscribe&#8221; method.</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="grpc.beta.implementations.ClientCredentials">
+<em class="property">class </em><code class="descclassname">grpc.beta.implementations.</code><code class="descname">ClientCredentials</code><span class="sig-paren">(</span><em>low_credentials</em>, <em>intermediary_low_credentials</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/implementations.html#ClientCredentials"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.implementations.ClientCredentials" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">object</span></code></p>
+<p>A value encapsulating the data required to create a secure Channel.</p>
+<p>This class and its instances have no supported interface - it exists to define
+the type of its instances and its instances exist to be passed to other
+functions.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="grpc.beta.implementations.ServerCredentials">
+<em class="property">class </em><code class="descclassname">grpc.beta.implementations.</code><code class="descname">ServerCredentials</code><span class="sig-paren">(</span><em>low_credentials</em>, <em>intermediary_low_credentials</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/implementations.html#ServerCredentials"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.implementations.ServerCredentials" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">object</span></code></p>
+<p>A value encapsulating the data required to open a secure port on a Server.</p>
+<p>This class and its instances have no supported interface - it exists to define
+the type of its instances and its instances exist to be passed to other
+functions.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="grpc.beta.implementations.ServerOptions">
+<em class="property">class </em><code class="descclassname">grpc.beta.implementations.</code><code class="descname">ServerOptions</code><span class="sig-paren">(</span><em>multi_method_implementation</em>, <em>request_deserializers</em>, <em>response_serializers</em>, <em>thread_pool</em>, <em>thread_pool_size</em>, <em>default_timeout</em>, <em>maximum_timeout</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/implementations.html#ServerOptions"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.implementations.ServerOptions" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">object</span></code></p>
+<p>A value encapsulating the various options for creation of a Server.</p>
+<p>This class and its instances have no supported interface - it exists to define
+the type of its instances and its instances exist to be passed to other
+functions.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="grpc.beta.implementations.StubOptions">
+<em class="property">class </em><code class="descclassname">grpc.beta.implementations.</code><code class="descname">StubOptions</code><span class="sig-paren">(</span><em>host</em>, <em>request_serializers</em>, <em>response_deserializers</em>, <em>metadata_transformer</em>, <em>thread_pool</em>, <em>thread_pool_size</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/implementations.html#StubOptions"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.implementations.StubOptions" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">object</span></code></p>
+<p>A value encapsulating the various options for creation of a Stub.</p>
+<p>This class and its instances have no supported interface - it exists to define
+the type of its instances and its instances exist to be passed to other
+functions.</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="grpc.beta.implementations.dynamic_stub">
+<code class="descclassname">grpc.beta.implementations.</code><code class="descname">dynamic_stub</code><span class="sig-paren">(</span><em>channel</em>, <em>service</em>, <em>cardinalities</em>, <em>options=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/implementations.html#dynamic_stub"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.implementations.dynamic_stub" title="Permalink to this definition">¶</a></dt>
+<dd><p>Creates a face.DynamicStub with which RPCs can be invoked.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
+<li><strong>channel</strong> &#8211; A Channel for the returned face.DynamicStub to use.</li>
+<li><strong>service</strong> &#8211; The package-qualified full name of the service.</li>
+<li><strong>cardinalities</strong> &#8211; A dictionary from RPC method name to cardinality.Cardinality
+value identifying the cardinality of the RPC method.</li>
+<li><strong>options</strong> &#8211; An optional StubOptions value further customizing the functionality
+of the returned face.DynamicStub.</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A face.DynamicStub with which RPCs can be invoked.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="grpc.beta.implementations.generic_stub">
+<code class="descclassname">grpc.beta.implementations.</code><code class="descname">generic_stub</code><span class="sig-paren">(</span><em>channel</em>, <em>options=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/implementations.html#generic_stub"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.implementations.generic_stub" title="Permalink to this definition">¶</a></dt>
+<dd><p>Creates a face.GenericStub on which RPCs can be made.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
+<li><strong>channel</strong> &#8211; A Channel for use by the created stub.</li>
+<li><strong>options</strong> &#8211; A StubOptions customizing the created stub.</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A face.GenericStub on which RPCs can be made.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="grpc.beta.implementations.insecure_channel">
+<code class="descclassname">grpc.beta.implementations.</code><code class="descname">insecure_channel</code><span class="sig-paren">(</span><em>host</em>, <em>port</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/implementations.html#insecure_channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.implementations.insecure_channel" title="Permalink to this definition">¶</a></dt>
+<dd><p>Creates an insecure Channel to a remote host.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
+<li><strong>host</strong> &#8211; The name of the remote host to which to connect.</li>
+<li><strong>port</strong> &#8211; The port of the remote host to which to connect.</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A Channel to the remote host through which RPCs may be conducted.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="grpc.beta.implementations.secure_channel">
+<code class="descclassname">grpc.beta.implementations.</code><code class="descname">secure_channel</code><span class="sig-paren">(</span><em>host</em>, <em>port</em>, <em>client_credentials</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/implementations.html#secure_channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.implementations.secure_channel" title="Permalink to this definition">¶</a></dt>
+<dd><p>Creates a secure Channel to a remote host.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
+<li><strong>host</strong> &#8211; The name of the remote host to which to connect.</li>
+<li><strong>port</strong> &#8211; The port of the remote host to which to connect.</li>
+<li><strong>client_credentials</strong> &#8211; A ClientCredentials.</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A secure Channel to the remote host through which RPCs may be conducted.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="grpc.beta.implementations.server">
+<code class="descclassname">grpc.beta.implementations.</code><code class="descname">server</code><span class="sig-paren">(</span><em>service_implementations</em>, <em>options=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/implementations.html#server"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.implementations.server" title="Permalink to this definition">¶</a></dt>
+<dd><p>Creates an interfaces.Server with which RPCs can be serviced.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
+<li><strong>service_implementations</strong> &#8211; A dictionary from service name-method name pair to
+face.MethodImplementation.</li>
+<li><strong>options</strong> &#8211; An optional ServerOptions value further customizing the
+functionality of the returned Server.</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">An interfaces.Server with which RPCs can be serviced.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="grpc.beta.implementations.server_options">
+<code class="descclassname">grpc.beta.implementations.</code><code class="descname">server_options</code><span class="sig-paren">(</span><em>multi_method_implementation=None</em>, <em>request_deserializers=None</em>, <em>response_serializers=None</em>, <em>thread_pool=None</em>, <em>thread_pool_size=None</em>, <em>default_timeout=None</em>, <em>maximum_timeout=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/implementations.html#server_options"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.implementations.server_options" title="Permalink to this definition">¶</a></dt>
+<dd><p>Creates a ServerOptions value to be passed at server creation.</p>
+<p>All parameters are optional and should always be passed by keyword.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
+<li><strong>multi_method_implementation</strong> &#8211; A face.MultiMethodImplementation to be called
+to service an RPC if the server has no specific method implementation for
+the name of the RPC for which service was requested.</li>
+<li><strong>request_deserializers</strong> &#8211; A dictionary from service name-method name pair to
+request deserialization behavior.</li>
+<li><strong>response_serializers</strong> &#8211; A dictionary from service name-method name pair to
+response serialization behavior.</li>
+<li><strong>thread_pool</strong> &#8211; A thread pool to use in stubs.</li>
+<li><strong>thread_pool_size</strong> &#8211; The size of thread pool to create for use in stubs;
+ignored if thread_pool has been passed.</li>
+<li><strong>default_timeout</strong> &#8211; A duration in seconds to allow for RPC service when
+servicing RPCs that did not include a timeout value when invoked.</li>
+<li><strong>maximum_timeout</strong> &#8211; A duration in seconds to allow for RPC service when
+servicing RPCs no matter what timeout value was passed when the RPC was
+invoked.</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A StubOptions value created from the passed parameters.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="grpc.beta.implementations.ssl_client_credentials">
+<code class="descclassname">grpc.beta.implementations.</code><code class="descname">ssl_client_credentials</code><span class="sig-paren">(</span><em>root_certificates</em>, <em>private_key</em>, <em>certificate_chain</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/implementations.html#ssl_client_credentials"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.implementations.ssl_client_credentials" title="Permalink to this definition">¶</a></dt>
+<dd><p>Creates a ClientCredentials for use with an SSL-enabled Channel.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
+<li><strong>root_certificates</strong> &#8211; The PEM-encoded root certificates or None to ask for
+them to be retrieved from a default location.</li>
+<li><strong>private_key</strong> &#8211; The PEM-encoded private key to use or None if no private key
+should be used.</li>
+<li><strong>certificate_chain</strong> &#8211; The PEM-encoded certificate chain to use or None if no
+certificate chain should be used.</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A ClientCredentials for use with an SSL-enabled Channel.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="grpc.beta.implementations.ssl_server_credentials">
+<code class="descclassname">grpc.beta.implementations.</code><code class="descname">ssl_server_credentials</code><span class="sig-paren">(</span><em>private_key_certificate_chain_pairs</em>, <em>root_certificates=None</em>, <em>require_client_auth=False</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/implementations.html#ssl_server_credentials"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.implementations.ssl_server_credentials" title="Permalink to this definition">¶</a></dt>
+<dd><p>Creates a ServerCredentials for use with an SSL-enabled Server.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
+<li><strong>private_key_certificate_chain_pairs</strong> &#8211; A nonempty sequence each element of
+which is a pair the first element of which is a PEM-encoded private key
+and the second element of which is the corresponding PEM-encoded
+certificate chain.</li>
+<li><strong>root_certificates</strong> &#8211; PEM-encoded client root certificates to be used for
+verifying authenticated clients. If omitted, require_client_auth must also
+be omitted or be False.</li>
+<li><strong>require_client_auth</strong> &#8211; A boolean indicating whether or not to require clients
+to be authenticated. May only be True if root_certificates is not None.</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A ServerCredentials for use with an SSL-enabled Server.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="grpc.beta.implementations.stub_options">
+<code class="descclassname">grpc.beta.implementations.</code><code class="descname">stub_options</code><span class="sig-paren">(</span><em>host=None</em>, <em>request_serializers=None</em>, <em>response_deserializers=None</em>, <em>metadata_transformer=None</em>, <em>thread_pool=None</em>, <em>thread_pool_size=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/implementations.html#stub_options"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.implementations.stub_options" title="Permalink to this definition">¶</a></dt>
+<dd><p>Creates a StubOptions value to be passed at stub creation.</p>
+<p>All parameters are optional and should always be passed by keyword.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
+<li><strong>host</strong> &#8211; A host string to set on RPC calls.</li>
+<li><strong>request_serializers</strong> &#8211; A dictionary from service name-method name pair to
+request serialization behavior.</li>
+<li><strong>response_deserializers</strong> &#8211; A dictionary from service name-method name pair to
+response deserialization behavior.</li>
+<li><strong>metadata_transformer</strong> &#8211; A callable that given a metadata object produces
+another metadata object to be used in the underlying communication on the
+wire.</li>
+<li><strong>thread_pool</strong> &#8211; A thread pool to use in stubs.</li>
+<li><strong>thread_pool_size</strong> &#8211; The size of thread pool to create for use in stubs;
+ignored if thread_pool has been passed.</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A StubOptions value created from the passed parameters.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+</div>
+<div class="section" id="module-grpc.beta.interfaces">
+<span id="grpc-beta-interfaces-module"></span><h2>grpc.beta.interfaces module<a class="headerlink" href="#module-grpc.beta.interfaces" title="Permalink to this headline">¶</a></h2>
+<p>Constants and interfaces of the Beta API of gRPC Python.</p>
+<dl class="class">
+<dt id="grpc.beta.interfaces.ChannelConnectivity">
+<em class="property">class </em><code class="descclassname">grpc.beta.interfaces.</code><code class="descname">ChannelConnectivity</code><a class="reference internal" href="_modules/grpc/beta/interfaces.html#ChannelConnectivity"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.interfaces.ChannelConnectivity" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">enum.Enum</span></code></p>
+<p>Mirrors grpc_connectivity_state in the gRPC Core.</p>
+<dl class="attribute">
+<dt id="grpc.beta.interfaces.ChannelConnectivity.IDLE">
+<code class="descname">IDLE</code><a class="headerlink" href="#grpc.beta.interfaces.ChannelConnectivity.IDLE" title="Permalink to this definition">¶</a></dt>
+<dd><p>The channel is idle.</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="grpc.beta.interfaces.ChannelConnectivity.CONNECTING">
+<code class="descname">CONNECTING</code><a class="headerlink" href="#grpc.beta.interfaces.ChannelConnectivity.CONNECTING" title="Permalink to this definition">¶</a></dt>
+<dd><p>The channel is connecting.</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="grpc.beta.interfaces.ChannelConnectivity.READY">
+<code class="descname">READY</code><a class="headerlink" href="#grpc.beta.interfaces.ChannelConnectivity.READY" title="Permalink to this definition">¶</a></dt>
+<dd><p>The channel is ready to conduct RPCs.</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="grpc.beta.interfaces.ChannelConnectivity.TRANSIENT_FAILURE">
+<code class="descname">TRANSIENT_FAILURE</code><a class="headerlink" href="#grpc.beta.interfaces.ChannelConnectivity.TRANSIENT_FAILURE" title="Permalink to this definition">¶</a></dt>
+<dd><p>The channel has seen a failure from which it expects to
+recover.</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="grpc.beta.interfaces.ChannelConnectivity.FATAL_FAILURE">
+<code class="descname">FATAL_FAILURE</code><a class="headerlink" href="#grpc.beta.interfaces.ChannelConnectivity.FATAL_FAILURE" title="Permalink to this definition">¶</a></dt>
+<dd><p>The channel has seen a failure from which it cannot recover.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="grpc.beta.interfaces.GRPCCallOptions">
+<em class="property">class </em><code class="descclassname">grpc.beta.interfaces.</code><code class="descname">GRPCCallOptions</code><span class="sig-paren">(</span><em>disable_compression</em>, <em>subcall_of</em>, <em>credentials</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/interfaces.html#GRPCCallOptions"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.interfaces.GRPCCallOptions" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">object</span></code></p>
+<p>A value encapsulating gRPC-specific options passed on RPC invocation.</p>
+<p>This class and its instances have no supported interface - it exists to
+define the type of its instances and its instances exist to be passed to
+other functions.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="grpc.beta.interfaces.GRPCInvocationContext">
+<em class="property">class </em><code class="descclassname">grpc.beta.interfaces.</code><code class="descname">GRPCInvocationContext</code><a class="reference internal" href="_modules/grpc/beta/interfaces.html#GRPCInvocationContext"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.interfaces.GRPCInvocationContext" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">object</span></code></p>
+<p>Exposes gRPC-specific options and behaviors to code invoking RPCs.</p>
+<dl class="method">
+<dt id="grpc.beta.interfaces.GRPCInvocationContext.disable_next_request_compression">
+<code class="descname">disable_next_request_compression</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/interfaces.html#GRPCInvocationContext.disable_next_request_compression"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.interfaces.GRPCInvocationContext.disable_next_request_compression" title="Permalink to this definition">¶</a></dt>
+<dd><p>Disables compression of the next request passed by the application.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="grpc.beta.interfaces.GRPCServicerContext">
+<em class="property">class </em><code class="descclassname">grpc.beta.interfaces.</code><code class="descname">GRPCServicerContext</code><a class="reference internal" href="_modules/grpc/beta/interfaces.html#GRPCServicerContext"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.interfaces.GRPCServicerContext" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">object</span></code></p>
+<p>Exposes gRPC-specific options and behaviors to code servicing RPCs.</p>
+<dl class="method">
+<dt id="grpc.beta.interfaces.GRPCServicerContext.disable_next_response_compression">
+<code class="descname">disable_next_response_compression</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/interfaces.html#GRPCServicerContext.disable_next_response_compression"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.interfaces.GRPCServicerContext.disable_next_response_compression" title="Permalink to this definition">¶</a></dt>
+<dd><p>Disables compression of the next response passed by the application.</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="grpc.beta.interfaces.GRPCServicerContext.peer">
+<code class="descname">peer</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/interfaces.html#GRPCServicerContext.peer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.interfaces.GRPCServicerContext.peer" title="Permalink to this definition">¶</a></dt>
+<dd><p>Identifies the peer that invoked the RPC being serviced.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">A string identifying the peer that invoked the RPC being serviced.</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="grpc.beta.interfaces.Server">
+<em class="property">class </em><code class="descclassname">grpc.beta.interfaces.</code><code class="descname">Server</code><a class="reference internal" href="_modules/grpc/beta/interfaces.html#Server"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.interfaces.Server" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">object</span></code></p>
+<p>Services RPCs.</p>
+<dl class="method">
+<dt id="grpc.beta.interfaces.Server.add_insecure_port">
+<code class="descname">add_insecure_port</code><span class="sig-paren">(</span><em>address</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/interfaces.html#Server.add_insecure_port"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.interfaces.Server.add_insecure_port" title="Permalink to this definition">¶</a></dt>
+<dd><p>Reserves a port for insecure RPC service once this Server becomes active.</p>
+<p>This method may only be called before calling this Server&#8217;s start method is
+called.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>address</strong> &#8211; The address for which to open a port.</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">An integer port on which RPCs will be serviced after this link has been
+started. This is typically the same number as the port number contained
+in the passed address, but will likely be different if the port number
+contained in the passed address was zero.</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="grpc.beta.interfaces.Server.add_secure_port">
+<code class="descname">add_secure_port</code><span class="sig-paren">(</span><em>address</em>, <em>server_credentials</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/interfaces.html#Server.add_secure_port"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.interfaces.Server.add_secure_port" title="Permalink to this definition">¶</a></dt>
+<dd><p>Reserves a port for secure RPC service after this Server becomes active.</p>
+<p>This method may only be called before calling this Server&#8217;s start method is
+called.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
+<li><strong>address</strong> &#8211; The address for which to open a port.</li>
+<li><strong>server_credentials</strong> &#8211; A ServerCredentials.</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">An integer port on which RPCs will be serviced after this link has been
+started. This is typically the same number as the port number contained
+in the passed address, but will likely be different if the port number
+contained in the passed address was zero.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="grpc.beta.interfaces.Server.start">
+<code class="descname">start</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/interfaces.html#Server.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.interfaces.Server.start" title="Permalink to this definition">¶</a></dt>
+<dd><p>Starts this Server&#8217;s service of RPCs.</p>
+<p>This method may only be called while the server is not serving RPCs (i.e. it
+is not idempotent).</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="grpc.beta.interfaces.Server.stop">
+<code class="descname">stop</code><span class="sig-paren">(</span><em>grace</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/interfaces.html#Server.stop"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.interfaces.Server.stop" title="Permalink to this definition">¶</a></dt>
+<dd><p>Stops this Server&#8217;s service of RPCs.</p>
+<p>All calls to this method immediately stop service of new RPCs. When existing
+RPCs are aborted is controlled by the grace period parameter passed to this
+method.</p>
+<p>This method may be called at any time and is idempotent. Passing a smaller
+grace value than has been passed in a previous call will have the effect of
+stopping the Server sooner. Passing a larger grace value than has been
+passed in a previous call will not have the effect of stopping the sooner
+later.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>grace</strong> &#8211; A duration of time in seconds to allow existing RPCs to complete
+before being aborted by this Server&#8217;s stopping. May be zero for
+immediate abortion of all in-progress RPCs.</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">A threading.Event that will be set when this Server has completely
+stopped. The returned event may not be set until after the full grace
+period (if some ongoing RPC continues for the full length of the period)
+of it may be set much sooner (such as if this Server had no RPCs underway
+at the time it was stopped or if all RPCs that it had underway completed
+very early in the grace period).</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="grpc.beta.interfaces.StatusCode">
+<em class="property">class </em><code class="descclassname">grpc.beta.interfaces.</code><code class="descname">StatusCode</code><a class="reference internal" href="_modules/grpc/beta/interfaces.html#StatusCode"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.interfaces.StatusCode" title="Permalink to this definition">¶</a></dt>
+<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">enum.Enum</span></code></p>
+<p>Mirrors grpc_status_code in the C core.</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="grpc.beta.interfaces.grpc_call_options">
+<code class="descclassname">grpc.beta.interfaces.</code><code class="descname">grpc_call_options</code><span class="sig-paren">(</span><em>disable_compression=False</em>, <em>credentials=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/interfaces.html#grpc_call_options"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.interfaces.grpc_call_options" title="Permalink to this definition">¶</a></dt>
+<dd><p>Creates a GRPCCallOptions value to be passed at RPC invocation.</p>
+<p>All parameters are optional and should always be passed by keyword.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>disable_compression</strong> &#8211; A boolean indicating whether or not compression should
+be disabled for the request object of the RPC. Only valid for
+request-unary RPCs.</li>
+<li><strong>credentials</strong> &#8211; A ClientCredentials object to use for the invoked RPC.</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+</div>
+<div class="section" id="module-grpc.beta.utilities">
+<span id="grpc-beta-utilities-module"></span><h2>grpc.beta.utilities module<a class="headerlink" href="#module-grpc.beta.utilities" title="Permalink to this headline">¶</a></h2>
+<p>Utilities for the gRPC Python Beta API.</p>
+<dl class="function">
+<dt id="grpc.beta.utilities.channel_ready_future">
+<code class="descclassname">grpc.beta.utilities.</code><code class="descname">channel_ready_future</code><span class="sig-paren">(</span><em>channel</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/beta/utilities.html#channel_ready_future"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.beta.utilities.channel_ready_future" title="Permalink to this definition">¶</a></dt>
+<dd><p>Creates a future.Future tracking when an implementations.Channel is ready.</p>
+<p>Cancelling the returned future.Future does not tell the given
+implementations.Channel to abandon attempts it may have been making to
+connect; cancelling merely deactivates the return future.Future&#8217;s
+subscription to the given implementations.Channel&#8217;s connectivity.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>channel</strong> &#8211; An implementations.Channel.</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">A future.Future that matures when the given Channel has connectivity
+interfaces.ChannelConnectivity.READY.</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+</div>
+<div class="section" id="module-grpc.beta">
+<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-grpc.beta" title="Permalink to this headline">¶</a></h2>
+</div>
+</div>
+
+
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="grpc.early_adopter.html" class="btn btn-neutral float-right" title="grpc.early_adopter package" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="grpc.html" class="btn btn-neutral" title="grpc package" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2015, Author.
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'./',
+            VERSION:'0.11.0b0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="_static/jquery.js"></script>
+      <script type="text/javascript" src="_static/underscore.js"></script>
+      <script type="text/javascript" src="_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>

+ 19 - 53
python/grpc.early_adopter.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.early_adopter package &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.early_adopter package &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,10 +30,10 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="index.html"/>
         <link rel="up" title="grpc package" href="grpc.html"/>
         <link rel="next" title="grpc.framework package" href="grpc.framework.html"/>
-        <link rel="prev" title="grpc package" href="grpc.html"/> 
+        <link rel="prev" title="grpc.beta package" href="grpc.beta.html"/> 
 
   
   <script src="_static/js/modernizr.min.js"></script>
@@ -75,10 +75,17 @@
               <ul class="current">
 <li class="toctree-l1 current"><a class="reference internal" href="grpc.html">grpc package</a><ul class="current">
 <li class="toctree-l2 current"><a class="reference internal" href="grpc.html#subpackages">Subpackages</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3 current"><a class="current reference internal" href="">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -141,7 +148,7 @@
 <p>Entry points into GRPC.</p>
 <dl class="function">
 <dt id="grpc.early_adopter.implementations.server">
-<code class="descclassname">grpc.early_adopter.implementations.</code><code class="descname">server</code><span class="sig-paren">(</span><em>service_name</em>, <em>methods</em>, <em>port</em>, <em>private_key=None</em>, <em>certificate_chain=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/early_adopter/implementations.html#server"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.early_adopter.implementations.server" title="Permalink to this definition">¶</a></dt>
+<code class="descclassname">grpc.early_adopter.implementations.</code><code class="descname">server</code><span class="sig-paren">(</span><em>service_name</em>, <em>methods</em>, <em>port</em>, <em>private_key=None</em>, <em>certificate_chain=None</em>, <em>thread_pool_size=8</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/early_adopter/implementations.html#server"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.early_adopter.implementations.server" title="Permalink to this definition">¶</a></dt>
 <dd><p>Constructs an interfaces.Server.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
@@ -158,6 +165,8 @@ automatically selected.</li>
 <li><strong>private_key</strong> &#8211; A pem-encoded private key, or None for an insecure server.</li>
 <li><strong>certificate_chain</strong> &#8211; A pem-encoded certificate chain, or None for an insecure
 server.</li>
+<li><strong>thread_pool_size</strong> &#8211; The maximum number of threads to allow in the backing
+thread pool.</li>
 </ul>
 </td>
 </tr>
@@ -170,7 +179,7 @@ server.</li>
 
 <dl class="function">
 <dt id="grpc.early_adopter.implementations.stub">
-<code class="descclassname">grpc.early_adopter.implementations.</code><code class="descname">stub</code><span class="sig-paren">(</span><em>service_name</em>, <em>methods</em>, <em>host</em>, <em>port</em>, <em>metadata_transformer=None</em>, <em>secure=False</em>, <em>root_certificates=None</em>, <em>private_key=None</em>, <em>certificate_chain=None</em>, <em>server_host_override=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/early_adopter/implementations.html#stub"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.early_adopter.implementations.stub" title="Permalink to this definition">¶</a></dt>
+<code class="descclassname">grpc.early_adopter.implementations.</code><code class="descname">stub</code><span class="sig-paren">(</span><em>service_name</em>, <em>methods</em>, <em>host</em>, <em>port</em>, <em>metadata_transformer=None</em>, <em>secure=False</em>, <em>root_certificates=None</em>, <em>private_key=None</em>, <em>certificate_chain=None</em>, <em>server_host_override=None</em>, <em>thread_pool_size=8</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/early_adopter/implementations.html#stub"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.early_adopter.implementations.stub" title="Permalink to this definition">¶</a></dt>
 <dd><p>Constructs an interfaces.Stub.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
@@ -196,6 +205,8 @@ should be used.</li>
 certificate chain should be used.</li>
 <li><strong>server_host_override</strong> &#8211; (For testing only) the target name used for SSL
 host name checking.</li>
+<li><strong>thread_pool_size</strong> &#8211; The maximum number of threads to allow in the backing
+thread pool.</li>
 </ul>
 </td>
 </tr>
@@ -206,51 +217,6 @@ host name checking.</li>
 </table>
 </dd></dl>
 
-</div>
-<div class="section" id="module-grpc.early_adopter.implementations_test">
-<span id="grpc-early-adopter-implementations-test-module"></span><h2>grpc.early_adopter.implementations_test module<a class="headerlink" href="#module-grpc.early_adopter.implementations_test" title="Permalink to this headline">¶</a></h2>
-<p>Test of the GRPC-backed ForeLink and RearLink.</p>
-<dl class="class">
-<dt id="grpc.early_adopter.implementations_test.EarlyAdopterImplementationsTest">
-<em class="property">class </em><code class="descclassname">grpc.early_adopter.implementations_test.</code><code class="descname">EarlyAdopterImplementationsTest</code><span class="sig-paren">(</span><em>methodName='runTest'</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/early_adopter/implementations_test.html#EarlyAdopterImplementationsTest"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.early_adopter.implementations_test.EarlyAdopterImplementationsTest" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">unittest.case.TestCase</span></code></p>
-<dl class="method">
-<dt id="grpc.early_adopter.implementations_test.EarlyAdopterImplementationsTest.setUp">
-<code class="descname">setUp</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/early_adopter/implementations_test.html#EarlyAdopterImplementationsTest.setUp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.early_adopter.implementations_test.EarlyAdopterImplementationsTest.setUp" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.early_adopter.implementations_test.EarlyAdopterImplementationsTest.tearDown">
-<code class="descname">tearDown</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/early_adopter/implementations_test.html#EarlyAdopterImplementationsTest.tearDown"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.early_adopter.implementations_test.EarlyAdopterImplementationsTest.tearDown" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.early_adopter.implementations_test.EarlyAdopterImplementationsTest.testStreamStream">
-<code class="descname">testStreamStream</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/early_adopter/implementations_test.html#EarlyAdopterImplementationsTest.testStreamStream"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.early_adopter.implementations_test.EarlyAdopterImplementationsTest.testStreamStream" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.early_adopter.implementations_test.EarlyAdopterImplementationsTest.testStreamUnary">
-<code class="descname">testStreamUnary</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/early_adopter/implementations_test.html#EarlyAdopterImplementationsTest.testStreamUnary"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.early_adopter.implementations_test.EarlyAdopterImplementationsTest.testStreamUnary" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.early_adopter.implementations_test.EarlyAdopterImplementationsTest.testUnaryStream">
-<code class="descname">testUnaryStream</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/early_adopter/implementations_test.html#EarlyAdopterImplementationsTest.testUnaryStream"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.early_adopter.implementations_test.EarlyAdopterImplementationsTest.testUnaryStream" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.early_adopter.implementations_test.EarlyAdopterImplementationsTest.testUnaryUnary">
-<code class="descname">testUnaryUnary</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/early_adopter/implementations_test.html#EarlyAdopterImplementationsTest.testUnaryUnary"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.early_adopter.implementations_test.EarlyAdopterImplementationsTest.testUnaryUnary" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.early_adopter.implementations_test.EarlyAdopterImplementationsTest.testUpAndDown">
-<code class="descname">testUpAndDown</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/early_adopter/implementations_test.html#EarlyAdopterImplementationsTest.testUpAndDown"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.early_adopter.implementations_test.EarlyAdopterImplementationsTest.testUpAndDown" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-</dd></dl>
-
 </div>
 <div class="section" id="module-grpc.early_adopter">
 <span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-grpc.early_adopter" title="Permalink to this headline">¶</a></h2>
@@ -266,7 +232,7 @@ host name checking.</li>
         <a href="grpc.framework.html" class="btn btn-neutral float-right" title="grpc.framework package" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
-        <a href="grpc.html" class="btn btn-neutral" title="grpc package" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+        <a href="grpc.beta.html" class="btn btn-neutral" title="grpc.beta package" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
       
     </div>
   
@@ -296,7 +262,7 @@ host name checking.</li>
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'./',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 11 - 4
python/grpc.framework.alpha.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.alpha package &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.alpha package &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="index.html"/>
         <link rel="up" title="grpc.framework package" href="grpc.framework.html"/>
         <link rel="next" title="grpc.framework.base package" href="grpc.framework.base.html"/>
         <link rel="prev" title="grpc.framework package" href="grpc.framework.html"/> 
@@ -75,10 +75,17 @@
               <ul class="current">
 <li class="toctree-l1 current"><a class="reference internal" href="grpc.html">grpc package</a><ul class="current">
 <li class="toctree-l2 current"><a class="reference internal" href="grpc.html#subpackages">Subpackages</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -878,7 +885,7 @@ method.</p>
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'./',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 11 - 117
python/grpc.framework.base.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.base package &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.base package &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="index.html"/>
         <link rel="up" title="grpc.framework package" href="grpc.framework.html"/>
         <link rel="next" title="grpc.framework.common package" href="grpc.framework.common.html"/>
         <link rel="prev" title="grpc.framework.alpha package" href="grpc.framework.alpha.html"/> 
@@ -75,10 +75,17 @@
               <ul class="current">
 <li class="toctree-l1 current"><a class="reference internal" href="grpc.html">grpc package</a><ul class="current">
 <li class="toctree-l2 current"><a class="reference internal" href="grpc.html#subpackages">Subpackages</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -207,26 +214,6 @@ for utility tasks.</li>
 </table>
 </dd></dl>
 
-</div>
-<div class="section" id="module-grpc.framework.base.implementations_test">
-<span id="grpc-framework-base-implementations-test-module"></span><h2>grpc.framework.base.implementations_test module<a class="headerlink" href="#module-grpc.framework.base.implementations_test" title="Permalink to this headline">¶</a></h2>
-<p>Tests for grpc.framework.base.implementations.</p>
-<dl class="class">
-<dt id="grpc.framework.base.implementations_test.ImplementationsTest">
-<em class="property">class </em><code class="descclassname">grpc.framework.base.implementations_test.</code><code class="descname">ImplementationsTest</code><span class="sig-paren">(</span><em>methodName='runTest'</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/base/implementations_test.html#ImplementationsTest"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.base.implementations_test.ImplementationsTest" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#grpc.framework.base.interfaces_test_case.FrontAndBackTest" title="grpc.framework.base.interfaces_test_case.FrontAndBackTest"><code class="xref py py-class docutils literal"><span class="pre">grpc.framework.base.interfaces_test_case.FrontAndBackTest</span></code></a>, <code class="xref py py-class docutils literal"><span class="pre">unittest.case.TestCase</span></code></p>
-<dl class="method">
-<dt id="grpc.framework.base.implementations_test.ImplementationsTest.setUp">
-<code class="descname">setUp</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/base/implementations_test.html#ImplementationsTest.setUp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.base.implementations_test.ImplementationsTest.setUp" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.base.implementations_test.ImplementationsTest.tearDown">
-<code class="descname">tearDown</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/base/implementations_test.html#ImplementationsTest.tearDown"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.base.implementations_test.ImplementationsTest.tearDown" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-</dd></dl>
-
 </div>
 <div class="section" id="module-grpc.framework.base.in_memory">
 <span id="grpc-framework-base-in-memory-module"></span><h2>grpc.framework.base.in_memory module<a class="headerlink" href="#module-grpc.framework.base.in_memory" title="Permalink to this headline">¶</a></h2>
@@ -726,99 +713,6 @@ longer is any reason to service the operation.</li>
 
 </dd></dl>
 
-</div>
-<div class="section" id="module-grpc.framework.base.interfaces_test_case">
-<span id="grpc-framework-base-interfaces-test-case-module"></span><h2>grpc.framework.base.interfaces_test_case module<a class="headerlink" href="#module-grpc.framework.base.interfaces_test_case" title="Permalink to this headline">¶</a></h2>
-<p>Abstract tests against the interfaces of the base layer of RPC Framework.</p>
-<dl class="class">
-<dt id="grpc.framework.base.interfaces_test_case.AsynchronousEcho">
-<em class="property">class </em><code class="descclassname">grpc.framework.base.interfaces_test_case.</code><code class="descname">AsynchronousEcho</code><span class="sig-paren">(</span><em>output_consumer</em>, <em>pool</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/base/interfaces_test_case.html#AsynchronousEcho"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.base.interfaces_test_case.AsynchronousEcho" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="grpc.framework.foundation.html#grpc.framework.foundation.stream.Consumer" title="grpc.framework.foundation.stream.Consumer"><code class="xref py py-class docutils literal"><span class="pre">grpc.framework.foundation.stream.Consumer</span></code></a></p>
-<p>A stream.Consumer that echoes its input to another stream.Consumer.</p>
-<dl class="method">
-<dt id="grpc.framework.base.interfaces_test_case.AsynchronousEcho.consume">
-<code class="descname">consume</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/base/interfaces_test_case.html#AsynchronousEcho.consume"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.base.interfaces_test_case.AsynchronousEcho.consume" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.base.interfaces_test_case.AsynchronousEcho.consume_and_terminate">
-<code class="descname">consume_and_terminate</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/base/interfaces_test_case.html#AsynchronousEcho.consume_and_terminate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.base.interfaces_test_case.AsynchronousEcho.consume_and_terminate" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.base.interfaces_test_case.AsynchronousEcho.terminate">
-<code class="descname">terminate</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/base/interfaces_test_case.html#AsynchronousEcho.terminate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.base.interfaces_test_case.AsynchronousEcho.terminate" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="grpc.framework.base.interfaces_test_case.EasyServicedIngestor">
-<em class="property">class </em><code class="descclassname">grpc.framework.base.interfaces_test_case.</code><code class="descname">EasyServicedIngestor</code><span class="sig-paren">(</span><em>consumer</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/base/interfaces_test_case.html#EasyServicedIngestor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.base.interfaces_test_case.EasyServicedIngestor" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#grpc.framework.base.interfaces.ServicedIngestor" title="grpc.framework.base.interfaces.ServicedIngestor"><code class="xref py py-class docutils literal"><span class="pre">grpc.framework.base.interfaces.ServicedIngestor</span></code></a></p>
-<p>A trivial implementation of interfaces.ServicedIngestor.</p>
-<dl class="method">
-<dt id="grpc.framework.base.interfaces_test_case.EasyServicedIngestor.consumer">
-<code class="descname">consumer</code><span class="sig-paren">(</span><em>operation_context</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/base/interfaces_test_case.html#EasyServicedIngestor.consumer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.base.interfaces_test_case.EasyServicedIngestor.consumer" title="Permalink to this definition">¶</a></dt>
-<dd><p>See interfaces.ServicedIngestor.consumer for specification.</p>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="grpc.framework.base.interfaces_test_case.FrontAndBackTest">
-<em class="property">class </em><code class="descclassname">grpc.framework.base.interfaces_test_case.</code><code class="descname">FrontAndBackTest</code><a class="reference internal" href="_modules/grpc/framework/base/interfaces_test_case.html#FrontAndBackTest"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.base.interfaces_test_case.FrontAndBackTest" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">object</span></code></p>
-<p>A test suite usable against any joined Front and Back.</p>
-<dl class="method">
-<dt id="grpc.framework.base.interfaces_test_case.FrontAndBackTest.testBidirectionalStreamingEcho">
-<code class="descname">testBidirectionalStreamingEcho</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/base/interfaces_test_case.html#FrontAndBackTest.testBidirectionalStreamingEcho"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.base.interfaces_test_case.FrontAndBackTest.testBidirectionalStreamingEcho" title="Permalink to this definition">¶</a></dt>
-<dd><p>Tests sending multiple tickets each way.</p>
-</dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.base.interfaces_test_case.FrontAndBackTest.testCancellation">
-<code class="descname">testCancellation</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/base/interfaces_test_case.html#FrontAndBackTest.testCancellation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.base.interfaces_test_case.FrontAndBackTest.testCancellation" title="Permalink to this definition">¶</a></dt>
-<dd><p>Tests cancelling a long-lived operation.</p>
-</dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.base.interfaces_test_case.FrontAndBackTest.testEntireEcho">
-<code class="descname">testEntireEcho</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/base/interfaces_test_case.html#FrontAndBackTest.testEntireEcho"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.base.interfaces_test_case.FrontAndBackTest.testEntireEcho" title="Permalink to this definition">¶</a></dt>
-<dd><p>Tests a very simple one-ticket-each-way round-trip.</p>
-</dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.base.interfaces_test_case.FrontAndBackTest.testExpiration">
-<code class="descname">testExpiration</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/base/interfaces_test_case.html#FrontAndBackTest.testExpiration"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.base.interfaces_test_case.FrontAndBackTest.testExpiration" title="Permalink to this definition">¶</a></dt>
-<dd><p>Tests that operations time out.</p>
-</dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.base.interfaces_test_case.FrontAndBackTest.testSimplestCall">
-<code class="descname">testSimplestCall</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/base/interfaces_test_case.html#FrontAndBackTest.testSimplestCall"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.base.interfaces_test_case.FrontAndBackTest.testSimplestCall" title="Permalink to this definition">¶</a></dt>
-<dd><p>Tests the absolute simplest call - a one-ticket fire-and-forget.</p>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="grpc.framework.base.interfaces_test_case.TestServicer">
-<em class="property">class </em><code class="descclassname">grpc.framework.base.interfaces_test_case.</code><code class="descname">TestServicer</code><span class="sig-paren">(</span><em>pool</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/base/interfaces_test_case.html#TestServicer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.base.interfaces_test_case.TestServicer" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#grpc.framework.base.interfaces.Servicer" title="grpc.framework.base.interfaces.Servicer"><code class="xref py py-class docutils literal"><span class="pre">grpc.framework.base.interfaces.Servicer</span></code></a></p>
-<p>An interfaces.Servicer with instrumented for testing.</p>
-<dl class="method">
-<dt id="grpc.framework.base.interfaces_test_case.TestServicer.release">
-<code class="descname">release</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/base/interfaces_test_case.html#TestServicer.release"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.base.interfaces_test_case.TestServicer.release" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.base.interfaces_test_case.TestServicer.service">
-<code class="descname">service</code><span class="sig-paren">(</span><em>name</em>, <em>context</em>, <em>output_consumer</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/base/interfaces_test_case.html#TestServicer.service"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.base.interfaces_test_case.TestServicer.service" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-</dd></dl>
-
 </div>
 <div class="section" id="module-grpc.framework.base.null">
 <span id="grpc-framework-base-null-module"></span><h2>grpc.framework.base.null module<a class="headerlink" href="#module-grpc.framework.base.null" title="Permalink to this headline">¶</a></h2>
@@ -936,7 +830,7 @@ the operation.</td>
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'./',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 13 - 161
python/grpc.framework.common.html

@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>grpc.framework.common package &mdash; grpcio 0.10.0a0 documentation</title>
+  <title>grpc.framework.common package &mdash; grpcio 0.11.0b0 documentation</title>
   
 
   
@@ -30,9 +30,9 @@
   
 
   
-    <link rel="top" title="grpcio 0.10.0a0 documentation" href="index.html"/>
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="index.html"/>
         <link rel="up" title="grpc.framework package" href="grpc.framework.html"/>
-        <link rel="next" title="grpc.framework.face package" href="grpc.framework.face.html"/>
+        <link rel="next" title="grpc.framework.core package" href="grpc.framework.core.html"/>
         <link rel="prev" title="grpc.framework.base package" href="grpc.framework.base.html"/> 
 
   
@@ -75,10 +75,17 @@
               <ul class="current">
 <li class="toctree-l1 current"><a class="reference internal" href="grpc.html">grpc package</a><ul class="current">
 <li class="toctree-l2 current"><a class="reference internal" href="grpc.html#subpackages">Subpackages</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
 <li class="toctree-l3"><a class="reference internal" href="grpc.early_adopter.html">grpc.early_adopter package</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="grpc.early_adopter.html#submodules">Submodules</a></li>
 <li class="toctree-l4"><a class="reference internal" href="grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
-<li class="toctree-l4"><a class="reference internal" href="grpc.early_adopter.html#module-grpc.early_adopter.implementations_test">grpc.early_adopter.implementations_test module</a></li>
 <li class="toctree-l4"><a class="reference internal" href="grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
 </ul>
 </li>
@@ -159,161 +166,6 @@
 <p>Describes the control flow style of RPC method implementation.</p>
 </dd></dl>
 
-</div>
-<div class="section" id="module-grpc.framework.common.test_constants">
-<span id="grpc-framework-common-test-constants-module"></span><h2>grpc.framework.common.test_constants module<a class="headerlink" href="#module-grpc.framework.common.test_constants" title="Permalink to this headline">¶</a></h2>
-<p>Constants shared among tests throughout RPC Framework.</p>
-</div>
-<div class="section" id="module-grpc.framework.common.test_control">
-<span id="grpc-framework-common-test-control-module"></span><h2>grpc.framework.common.test_control module<a class="headerlink" href="#module-grpc.framework.common.test_control" title="Permalink to this headline">¶</a></h2>
-<p>Code for instructing systems under test to block or fail.</p>
-<dl class="class">
-<dt id="grpc.framework.common.test_control.Control">
-<em class="property">class </em><code class="descclassname">grpc.framework.common.test_control.</code><code class="descname">Control</code><a class="reference internal" href="_modules/grpc/framework/common/test_control.html#Control"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_control.Control" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">object</span></code></p>
-<p>An object that accepts program control from a system under test.</p>
-<p>Systems under test passed a Control should call its control() method
-frequently during execution. The control() method may block, raise an
-exception, or do nothing, all according to the enclosing test&#8217;s desire for
-the system under test to simulate hanging, failing, or functioning.</p>
-<dl class="method">
-<dt id="grpc.framework.common.test_control.Control.control">
-<code class="descname">control</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/common/test_control.html#Control.control"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_control.Control.control" title="Permalink to this definition">¶</a></dt>
-<dd><p>Potentially does anything.</p>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="grpc.framework.common.test_control.PauseFailControl">
-<em class="property">class </em><code class="descclassname">grpc.framework.common.test_control.</code><code class="descname">PauseFailControl</code><a class="reference internal" href="_modules/grpc/framework/common/test_control.html#PauseFailControl"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_control.PauseFailControl" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#grpc.framework.common.test_control.Control" title="grpc.framework.common.test_control.Control"><code class="xref py py-class docutils literal"><span class="pre">grpc.framework.common.test_control.Control</span></code></a></p>
-<p>A Control that can be used to pause or fail code under control.</p>
-<dl class="method">
-<dt id="grpc.framework.common.test_control.PauseFailControl.control">
-<code class="descname">control</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/common/test_control.html#PauseFailControl.control"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_control.PauseFailControl.control" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.common.test_control.PauseFailControl.fail">
-<code class="descname">fail</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwds</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/common/test_control.html#PauseFailControl.fail"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_control.PauseFailControl.fail" title="Permalink to this definition">¶</a></dt>
-<dd><p>Fails code under control while controlling code is in context.</p>
-</dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.common.test_control.PauseFailControl.pause">
-<code class="descname">pause</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwds</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/common/test_control.html#PauseFailControl.pause"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_control.PauseFailControl.pause" title="Permalink to this definition">¶</a></dt>
-<dd><p>Pauses code under control while controlling code is in context.</p>
-</dd></dl>
-
-</dd></dl>
-
-</div>
-<div class="section" id="module-grpc.framework.common.test_coverage">
-<span id="grpc-framework-common-test-coverage-module"></span><h2>grpc.framework.common.test_coverage module<a class="headerlink" href="#module-grpc.framework.common.test_coverage" title="Permalink to this headline">¶</a></h2>
-<p>Governs coverage for tests of RPCs throughout RPC Framework.</p>
-<dl class="class">
-<dt id="grpc.framework.common.test_coverage.Coverage">
-<em class="property">class </em><code class="descclassname">grpc.framework.common.test_coverage.</code><code class="descname">Coverage</code><a class="reference internal" href="_modules/grpc/framework/common/test_coverage.html#Coverage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_coverage.Coverage" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">object</span></code></p>
-<p>Specification of test coverage.</p>
-<dl class="method">
-<dt id="grpc.framework.common.test_coverage.Coverage.testCancelledStreamRequestStreamResponse">
-<code class="descname">testCancelledStreamRequestStreamResponse</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/common/test_coverage.html#Coverage.testCancelledStreamRequestStreamResponse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_coverage.Coverage.testCancelledStreamRequestStreamResponse" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.common.test_coverage.Coverage.testCancelledStreamRequestUnaryResponse">
-<code class="descname">testCancelledStreamRequestUnaryResponse</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/common/test_coverage.html#Coverage.testCancelledStreamRequestUnaryResponse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_coverage.Coverage.testCancelledStreamRequestUnaryResponse" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.common.test_coverage.Coverage.testCancelledUnaryRequestStreamResponse">
-<code class="descname">testCancelledUnaryRequestStreamResponse</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/common/test_coverage.html#Coverage.testCancelledUnaryRequestStreamResponse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_coverage.Coverage.testCancelledUnaryRequestStreamResponse" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.common.test_coverage.Coverage.testCancelledUnaryRequestUnaryResponse">
-<code class="descname">testCancelledUnaryRequestUnaryResponse</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/common/test_coverage.html#Coverage.testCancelledUnaryRequestUnaryResponse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_coverage.Coverage.testCancelledUnaryRequestUnaryResponse" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.common.test_coverage.Coverage.testExpiredStreamRequestStreamResponse">
-<code class="descname">testExpiredStreamRequestStreamResponse</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/common/test_coverage.html#Coverage.testExpiredStreamRequestStreamResponse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_coverage.Coverage.testExpiredStreamRequestStreamResponse" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.common.test_coverage.Coverage.testExpiredStreamRequestUnaryResponse">
-<code class="descname">testExpiredStreamRequestUnaryResponse</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/common/test_coverage.html#Coverage.testExpiredStreamRequestUnaryResponse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_coverage.Coverage.testExpiredStreamRequestUnaryResponse" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.common.test_coverage.Coverage.testExpiredUnaryRequestStreamResponse">
-<code class="descname">testExpiredUnaryRequestStreamResponse</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/common/test_coverage.html#Coverage.testExpiredUnaryRequestStreamResponse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_coverage.Coverage.testExpiredUnaryRequestStreamResponse" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.common.test_coverage.Coverage.testExpiredUnaryRequestUnaryResponse">
-<code class="descname">testExpiredUnaryRequestUnaryResponse</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/common/test_coverage.html#Coverage.testExpiredUnaryRequestUnaryResponse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_coverage.Coverage.testExpiredUnaryRequestUnaryResponse" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.common.test_coverage.Coverage.testFailedStreamRequestStreamResponse">
-<code class="descname">testFailedStreamRequestStreamResponse</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/common/test_coverage.html#Coverage.testFailedStreamRequestStreamResponse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_coverage.Coverage.testFailedStreamRequestStreamResponse" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.common.test_coverage.Coverage.testFailedStreamRequestUnaryResponse">
-<code class="descname">testFailedStreamRequestUnaryResponse</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/common/test_coverage.html#Coverage.testFailedStreamRequestUnaryResponse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_coverage.Coverage.testFailedStreamRequestUnaryResponse" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.common.test_coverage.Coverage.testFailedUnaryRequestStreamResponse">
-<code class="descname">testFailedUnaryRequestStreamResponse</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/common/test_coverage.html#Coverage.testFailedUnaryRequestStreamResponse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_coverage.Coverage.testFailedUnaryRequestStreamResponse" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.common.test_coverage.Coverage.testFailedUnaryRequestUnaryResponse">
-<code class="descname">testFailedUnaryRequestUnaryResponse</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/common/test_coverage.html#Coverage.testFailedUnaryRequestUnaryResponse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_coverage.Coverage.testFailedUnaryRequestUnaryResponse" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.common.test_coverage.Coverage.testParallelInvocations">
-<code class="descname">testParallelInvocations</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/common/test_coverage.html#Coverage.testParallelInvocations"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_coverage.Coverage.testParallelInvocations" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.common.test_coverage.Coverage.testSequentialInvocations">
-<code class="descname">testSequentialInvocations</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/common/test_coverage.html#Coverage.testSequentialInvocations"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_coverage.Coverage.testSequentialInvocations" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.common.test_coverage.Coverage.testSuccessfulStreamRequestStreamResponse">
-<code class="descname">testSuccessfulStreamRequestStreamResponse</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/common/test_coverage.html#Coverage.testSuccessfulStreamRequestStreamResponse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_coverage.Coverage.testSuccessfulStreamRequestStreamResponse" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.common.test_coverage.Coverage.testSuccessfulStreamRequestUnaryResponse">
-<code class="descname">testSuccessfulStreamRequestUnaryResponse</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/common/test_coverage.html#Coverage.testSuccessfulStreamRequestUnaryResponse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_coverage.Coverage.testSuccessfulStreamRequestUnaryResponse" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.common.test_coverage.Coverage.testSuccessfulUnaryRequestStreamResponse">
-<code class="descname">testSuccessfulUnaryRequestStreamResponse</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/common/test_coverage.html#Coverage.testSuccessfulUnaryRequestStreamResponse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_coverage.Coverage.testSuccessfulUnaryRequestStreamResponse" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.common.test_coverage.Coverage.testSuccessfulUnaryRequestUnaryResponse">
-<code class="descname">testSuccessfulUnaryRequestUnaryResponse</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/common/test_coverage.html#Coverage.testSuccessfulUnaryRequestUnaryResponse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_coverage.Coverage.testSuccessfulUnaryRequestUnaryResponse" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="method">
-<dt id="grpc.framework.common.test_coverage.Coverage.testWaitingForSomeButNotAllParallelInvocations">
-<code class="descname">testWaitingForSomeButNotAllParallelInvocations</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/common/test_coverage.html#Coverage.testWaitingForSomeButNotAllParallelInvocations"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.common.test_coverage.Coverage.testWaitingForSomeButNotAllParallelInvocations" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-</dd></dl>
-
 </div>
 <div class="section" id="module-grpc.framework.common">
 <span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-grpc.framework.common" title="Permalink to this headline">¶</a></h2>
@@ -326,7 +178,7 @@ the system under test to simulate hanging, failing, or functioning.</p>
   
     <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
       
-        <a href="grpc.framework.face.html" class="btn btn-neutral float-right" title="grpc.framework.face package" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
+        <a href="grpc.framework.core.html" class="btn btn-neutral float-right" title="grpc.framework.core package" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
         <a href="grpc.framework.base.html" class="btn btn-neutral" title="grpc.framework.base package" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
@@ -359,7 +211,7 @@ the system under test to simulate hanging, failing, or functioning.</p>
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'./',
-            VERSION:'0.10.0a0',
+            VERSION:'0.11.0b0',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true

+ 263 - 0
python/grpc.framework.core.html

@@ -0,0 +1,263 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>grpc.framework.core package &mdash; grpcio 0.11.0b0 documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="grpcio 0.11.0b0 documentation" href="index.html"/>
+        <link rel="up" title="grpc.framework package" href="grpc.framework.html"/>
+        <link rel="next" title="grpc.framework.crust package" href="grpc.framework.crust.html"/>
+        <link rel="prev" title="grpc.framework.common package" href="grpc.framework.common.html"/> 
+
+  
+  <script src="_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-nav-search">
+        
+
+        
+          <a href="index.html" class="icon icon-home"> grpcio
+        
+
+        
+        </a>
+
+        
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+        
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+        
+          
+          
+              <ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="grpc.html">grpc package</a><ul class="current">
+<li class="toctree-l2 current"><a class="reference internal" href="grpc.html#subpackages">Subpackages</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="grpc.beta.html">grpc.beta package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#module-grpc.beta.implementations">grpc.beta.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#module-grpc.beta.interfaces">grpc.beta.interfaces module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#module-grpc.beta.utilities">grpc.beta.utilities module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.beta.html#module-grpc.beta">Module contents</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="grpc.early_adopter.html">grpc.early_adopter package</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="grpc.early_adopter.html#submodules">Submodules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.early_adopter.html#module-grpc.early_adopter.implementations">grpc.early_adopter.implementations module</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.early_adopter.html#module-grpc.early_adopter">Module contents</a></li>
+</ul>
+</li>
+<li class="toctree-l3 current"><a class="reference internal" href="grpc.framework.html">grpc.framework package</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="grpc.framework.html#subpackages">Subpackages</a></li>
+<li class="toctree-l4"><a class="reference internal" href="grpc.framework.html#module-grpc.framework">Module contents</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="grpc.html#module-grpc">Module contents</a></li>
+</ul>
+</li>
+</ul>
+
+          
+        
+      </div>
+      &nbsp;
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="index.html">grpcio</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="index.html">Docs</a> &raquo;</li>
+      
+          <li><a href="grpc.html">grpc package</a> &raquo;</li>
+      
+          <li><a href="grpc.framework.html">grpc.framework package</a> &raquo;</li>
+      
+    <li>grpc.framework.core package</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+            <a href="_sources/grpc.framework.core.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document">
+            
+  <div class="section" id="grpc-framework-core-package">
+<h1>grpc.framework.core package<a class="headerlink" href="#grpc-framework-core-package" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="submodules">
+<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this headline">¶</a></h2>
+</div>
+<div class="section" id="module-grpc.framework.core.implementations">
+<span id="grpc-framework-core-implementations-module"></span><h2>grpc.framework.core.implementations module<a class="headerlink" href="#module-grpc.framework.core.implementations" title="Permalink to this headline">¶</a></h2>
+<p>Entry points into the ticket-exchange-based base layer implementation.</p>
+<dl class="function">
+<dt id="grpc.framework.core.implementations.invocation_end_link">
+<code class="descclassname">grpc.framework.core.implementations.</code><code class="descname">invocation_end_link</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/core/implementations.html#invocation_end_link"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.core.implementations.invocation_end_link" title="Permalink to this definition">¶</a></dt>
+<dd><p>Creates a base.End-links.Link suitable for operation invocation.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">An object that is both a base.End and a links.Link, that supports operation
+invocation, and that translates operation invocation into ticket exchange.</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="grpc.framework.core.implementations.service_end_link">
+<code class="descclassname">grpc.framework.core.implementations.</code><code class="descname">service_end_link</code><span class="sig-paren">(</span><em>servicer</em>, <em>default_timeout</em>, <em>maximum_timeout</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/framework/core/implementations.html#service_end_link"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.framework.core.implementations.service_end_link" title="Permalink to this definition">¶</a></dt>
+<dd><p>Creates a base.End-links.Link suitable for operation service.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
+<li><strong>servicer</strong> &#8211; A base.Servicer for servicing operations.</li>
+<li><strong>default_timeout</strong> &#8211; A length of time in seconds to be used as the default
+time alloted for a single operation.</li>
+<li><strong>maximum_timeout</strong> &#8211; A length of time in seconds to be used as the maximum
+time alloted for a single operation.</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">An object that is both a base.End and a links.Link and that services
+operations that arrive at it through ticket exchange.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+</div>
+<div class="section" id="module-grpc.framework.core">
+<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-grpc.framework.core" title="Permalink to this headline">¶</a></h2>
+</div>
+</div>
+
+
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="grpc.framework.crust.html" class="btn btn-neutral float-right" title="grpc.framework.crust package" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="grpc.framework.common.html" class="btn btn-neutral" title="grpc.framework.common package" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2015, Author.
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'./',
+            VERSION:'0.11.0b0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="_static/jquery.js"></script>
+      <script type="text/javascript" src="_static/underscore.js"></script>
+      <script type="text/javascript" src="_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor