Bladeren bron

Auto-update Python documentation

Lidi Zheng 5 jaren geleden
bovenliggende
commit
2b15ff9581
42 gewijzigde bestanden met toevoegingen van 839 en 591 verwijderingen
  1. 1 1
      python/.buildinfo
  2. BIN
      python/.doctrees/environment.pickle
  3. BIN
      python/.doctrees/glossary.doctree
  4. BIN
      python/.doctrees/grpc.doctree
  5. BIN
      python/.doctrees/grpc_asyncio.doctree
  6. BIN
      python/.doctrees/grpc_channelz.doctree
  7. BIN
      python/.doctrees/grpc_health_checking.doctree
  8. BIN
      python/.doctrees/grpc_reflection.doctree
  9. BIN
      python/.doctrees/grpc_status.doctree
  10. BIN
      python/.doctrees/grpc_testing.doctree
  11. BIN
      python/.doctrees/index.doctree
  12. 30 22
      python/_modules/grpc.html
  13. 16 3
      python/_modules/grpc/experimental/aio/_base_call.html
  14. 20 17
      python/_modules/grpc/experimental/aio/_base_channel.html
  15. 3 3
      python/_modules/grpc/experimental/aio/_base_server.html
  16. 51 29
      python/_modules/grpc/experimental/aio/_call.html
  17. 31 11
      python/_modules/grpc/experimental/aio/_channel.html
  18. 44 9
      python/_modules/grpc/experimental/aio/_interceptor.html
  19. 18 4
      python/_modules/grpc/experimental/aio/_server.html
  20. 3 3
      python/_modules/grpc_channelz/v1/channelz.html
  21. 4 4
      python/_modules/grpc_health/v1/health.html
  22. 3 3
      python/_modules/grpc_reflection/v1alpha/reflection.html
  23. 3 3
      python/_modules/grpc_status/rpc_status.html
  24. 3 3
      python/_modules/grpc_testing.html
  25. 3 3
      python/_modules/index.html
  26. 13 0
      python/_sources/glossary.rst.txt
  27. 2 1
      python/_static/documentation_options.js
  28. 4 1
      python/_static/searchtools.js
  29. 78 15
      python/genindex.html
  30. 14 3
      python/glossary.html
  31. 169 157
      python/grpc.html
  32. 172 140
      python/grpc_asyncio.html
  33. 20 20
      python/grpc_channelz.html
  34. 12 12
      python/grpc_health_checking.html
  35. 9 9
      python/grpc_reflection.html
  36. 7 7
      python/grpc_status.html
  37. 94 94
      python/grpc_testing.html
  38. 4 4
      python/index.html
  39. BIN
      python/objects.inv
  40. 3 3
      python/py-modindex.html
  41. 5 7
      python/search.html
  42. 0 0
      python/searchindex.js

+ 1 - 1
python/.buildinfo

@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # 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.
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 7f14247b2a6f0e9766cfe5db4d34deb3
+config: c236cd549ae8244821e66275976488a1
 tags: 645f666f9bcd5a90fca523b33c5a78b7
 tags: 645f666f9bcd5a90fca523b33c5a78b7

BIN
python/.doctrees/environment.pickle


BIN
python/.doctrees/glossary.doctree


BIN
python/.doctrees/grpc.doctree


BIN
python/.doctrees/grpc_asyncio.doctree


BIN
python/.doctrees/grpc_channelz.doctree


BIN
python/.doctrees/grpc_health_checking.doctree


BIN
python/.doctrees/grpc_reflection.doctree


BIN
python/.doctrees/grpc_status.doctree


BIN
python/.doctrees/grpc_testing.doctree


BIN
python/.doctrees/index.doctree


+ 30 - 22
python/_modules/grpc.html

@@ -1,10 +1,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>grpc &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>grpc &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
     <script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
     <script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
@@ -29,7 +29,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 
@@ -715,7 +715,7 @@
 <div class="viewcode-block" id="AuthMetadataPlugin.__call__"><a class="viewcode-back" href="../grpc.html#grpc.AuthMetadataPlugin.__call__">[docs]</a>    <span class="k">def</span> <span class="fm">__call__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">callback</span><span class="p">):</span>
 <div class="viewcode-block" id="AuthMetadataPlugin.__call__"><a class="viewcode-back" href="../grpc.html#grpc.AuthMetadataPlugin.__call__">[docs]</a>    <span class="k">def</span> <span class="fm">__call__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">callback</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;Implements authentication by passing metadata to a callback.</span>
         <span class="sd">&quot;&quot;&quot;Implements authentication by passing metadata to a callback.</span>
 
 
-<span class="sd">        Implementations of this method must not block.</span>
+<span class="sd">        This method will be invoked asynchronously in a separate thread.</span>
 
 
 <span class="sd">        Args:</span>
 <span class="sd">        Args:</span>
 <span class="sd">          context: An AuthMetadataContext providing information on the RPC that</span>
 <span class="sd">          context: An AuthMetadataContext providing information on the RPC that</span>
@@ -1081,9 +1081,9 @@
 
 
 <span class="sd">        Args:</span>
 <span class="sd">        Args:</span>
 <span class="sd">          method: The name of the RPC method.</span>
 <span class="sd">          method: The name of the RPC method.</span>
-<span class="sd">          request_serializer: Optional behaviour for serializing the request</span>
+<span class="sd">          request_serializer: Optional :term:`serializer` for serializing the request</span>
 <span class="sd">            message. Request goes unserialized in case None is passed.</span>
 <span class="sd">            message. Request goes unserialized in case None is passed.</span>
-<span class="sd">          response_deserializer: Optional behaviour for deserializing the</span>
+<span class="sd">          response_deserializer: Optional :term:`deserializer` for deserializing the</span>
 <span class="sd">            response message. Response goes undeserialized in case None</span>
 <span class="sd">            response message. Response goes undeserialized in case None</span>
 <span class="sd">            is passed.</span>
 <span class="sd">            is passed.</span>
 
 
@@ -1101,9 +1101,9 @@
 
 
 <span class="sd">        Args:</span>
 <span class="sd">        Args:</span>
 <span class="sd">          method: The name of the RPC method.</span>
 <span class="sd">          method: The name of the RPC method.</span>
-<span class="sd">          request_serializer: Optional behaviour for serializing the request</span>
+<span class="sd">          request_serializer: Optional :term:`serializer` for serializing the request</span>
 <span class="sd">            message. Request goes unserialized in case None is passed.</span>
 <span class="sd">            message. Request goes unserialized in case None is passed.</span>
-<span class="sd">          response_deserializer: Optional behaviour for deserializing the</span>
+<span class="sd">          response_deserializer: Optional :term:`deserializer` for deserializing the</span>
 <span class="sd">            response message. Response goes undeserialized in case None is</span>
 <span class="sd">            response message. Response goes undeserialized in case None is</span>
 <span class="sd">            passed.</span>
 <span class="sd">            passed.</span>
 
 
@@ -1121,9 +1121,9 @@
 
 
 <span class="sd">        Args:</span>
 <span class="sd">        Args:</span>
 <span class="sd">          method: The name of the RPC method.</span>
 <span class="sd">          method: The name of the RPC method.</span>
-<span class="sd">          request_serializer: Optional behaviour for serializing the request</span>
+<span class="sd">          request_serializer: Optional :term:`serializer` for serializing the request</span>
 <span class="sd">            message. Request goes unserialized in case None is passed.</span>
 <span class="sd">            message. Request goes unserialized in case None is passed.</span>
-<span class="sd">          response_deserializer: Optional behaviour for deserializing the</span>
+<span class="sd">          response_deserializer: Optional :term:`deserializer` for deserializing the</span>
 <span class="sd">            response message. Response goes undeserialized in case None is</span>
 <span class="sd">            response message. Response goes undeserialized in case None is</span>
 <span class="sd">            passed.</span>
 <span class="sd">            passed.</span>
 
 
@@ -1141,9 +1141,9 @@
 
 
 <span class="sd">        Args:</span>
 <span class="sd">        Args:</span>
 <span class="sd">          method: The name of the RPC method.</span>
 <span class="sd">          method: The name of the RPC method.</span>
-<span class="sd">          request_serializer: Optional behaviour for serializing the request</span>
+<span class="sd">          request_serializer: Optional :term:`serializer` for serializing the request</span>
 <span class="sd">            message. Request goes unserialized in case None is passed.</span>
 <span class="sd">            message. Request goes unserialized in case None is passed.</span>
-<span class="sd">          response_deserializer: Optional behaviour for deserializing the</span>
+<span class="sd">          response_deserializer: Optional :term:`deserializer` for deserializing the</span>
 <span class="sd">            response message. Response goes undeserialized in case None</span>
 <span class="sd">            response message. Response goes undeserialized in case None</span>
 <span class="sd">            is passed.</span>
 <span class="sd">            is passed.</span>
 
 
@@ -1161,6 +1161,14 @@
 
 
 <span class="sd">        This method is idempotent.</span>
 <span class="sd">        This method is idempotent.</span>
 <span class="sd">        &quot;&quot;&quot;</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="Channel.__enter__"><a class="viewcode-back" href="../grpc.html#grpc.Channel.__enter__">[docs]</a>    <span class="k">def</span> <span class="fm">__enter__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Enters the runtime context related to the channel object.&quot;&quot;&quot;</span>
+        <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span></div>
+
+<div class="viewcode-block" id="Channel.__exit__"><a class="viewcode-back" href="../grpc.html#grpc.Channel.__exit__">[docs]</a>    <span class="k">def</span> <span class="fm">__exit__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">exc_type</span><span class="p">,</span> <span class="n">exc_val</span><span class="p">,</span> <span class="n">exc_tb</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Exits the runtime context related to the channel object.&quot;&quot;&quot;</span>
         <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span></div></div>
         <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">()</span></div></div>
 
 
 
 
@@ -1350,11 +1358,11 @@
 <span class="sd">        or any arbitrary number of request messages.</span>
 <span class="sd">        or any arbitrary number of request messages.</span>
 <span class="sd">      response_streaming: Whether the RPC supports exactly one response message</span>
 <span class="sd">      response_streaming: Whether the RPC supports exactly one response message</span>
 <span class="sd">        or any arbitrary number of response messages.</span>
 <span class="sd">        or any arbitrary number of response messages.</span>
-<span class="sd">      request_deserializer: A callable behavior that accepts a byte string and</span>
+<span class="sd">      request_deserializer: A callable :term:`deserializer` that accepts a byte string and</span>
 <span class="sd">        returns an object suitable to be passed to this object&#39;s business</span>
 <span class="sd">        returns an object suitable to be passed to this object&#39;s business</span>
 <span class="sd">        logic, or None to indicate that this object&#39;s business logic should be</span>
 <span class="sd">        logic, or None to indicate that this object&#39;s business logic should be</span>
 <span class="sd">        passed the raw request bytes.</span>
 <span class="sd">        passed the raw request bytes.</span>
-<span class="sd">      response_serializer: A callable behavior that accepts an object produced</span>
+<span class="sd">      response_serializer: A callable :term:`serializer` that accepts an object produced</span>
 <span class="sd">        by this object&#39;s business logic and returns a byte string, or None to</span>
 <span class="sd">        by this object&#39;s business logic and returns a byte string, or None to</span>
 <span class="sd">        indicate that the byte strings produced by this object&#39;s business logic</span>
 <span class="sd">        indicate that the byte strings produced by this object&#39;s business logic</span>
 <span class="sd">        should be transmitted on the wire as they are.</span>
 <span class="sd">        should be transmitted on the wire as they are.</span>
@@ -1575,8 +1583,8 @@
 <span class="sd">    Args:</span>
 <span class="sd">    Args:</span>
 <span class="sd">      behavior: The implementation of an RPC that accepts one request</span>
 <span class="sd">      behavior: The implementation of an RPC that accepts one request</span>
 <span class="sd">        and returns one response.</span>
 <span class="sd">        and returns one response.</span>
-<span class="sd">      request_deserializer: An optional behavior for request deserialization.</span>
-<span class="sd">      response_serializer: An optional behavior for response serialization.</span>
+<span class="sd">      request_deserializer: An optional :term:`deserializer` for request deserialization.</span>
+<span class="sd">      response_serializer: An optional :term:`serializer` for response serialization.</span>
 
 
 <span class="sd">    Returns:</span>
 <span class="sd">    Returns:</span>
 <span class="sd">      An RpcMethodHandler object that is typically used by grpc.Server.</span>
 <span class="sd">      An RpcMethodHandler object that is typically used by grpc.Server.</span>
@@ -1595,8 +1603,8 @@
 <span class="sd">    Args:</span>
 <span class="sd">    Args:</span>
 <span class="sd">      behavior: The implementation of an RPC that accepts one request</span>
 <span class="sd">      behavior: The implementation of an RPC that accepts one request</span>
 <span class="sd">        and returns an iterator of response values.</span>
 <span class="sd">        and returns an iterator of response values.</span>
-<span class="sd">      request_deserializer: An optional behavior for request deserialization.</span>
-<span class="sd">      response_serializer: An optional behavior for response serialization.</span>
+<span class="sd">      request_deserializer: An optional :term:`deserializer` for request deserialization.</span>
+<span class="sd">      response_serializer: An optional :term:`serializer` for response serialization.</span>
 
 
 <span class="sd">    Returns:</span>
 <span class="sd">    Returns:</span>
 <span class="sd">      An RpcMethodHandler object that is typically used by grpc.Server.</span>
 <span class="sd">      An RpcMethodHandler object that is typically used by grpc.Server.</span>
@@ -1615,8 +1623,8 @@
 <span class="sd">    Args:</span>
 <span class="sd">    Args:</span>
 <span class="sd">      behavior: The implementation of an RPC that accepts an iterator of</span>
 <span class="sd">      behavior: The implementation of an RPC that accepts an iterator of</span>
 <span class="sd">        request values and returns a single response value.</span>
 <span class="sd">        request values and returns a single response value.</span>
-<span class="sd">      request_deserializer: An optional behavior for request deserialization.</span>
-<span class="sd">      response_serializer: An optional behavior for response serialization.</span>
+<span class="sd">      request_deserializer: An optional :term:`deserializer` for request deserialization.</span>
+<span class="sd">      response_serializer: An optional :term:`serializer` for response serialization.</span>
 
 
 <span class="sd">    Returns:</span>
 <span class="sd">    Returns:</span>
 <span class="sd">      An RpcMethodHandler object that is typically used by grpc.Server.</span>
 <span class="sd">      An RpcMethodHandler object that is typically used by grpc.Server.</span>
@@ -1635,8 +1643,8 @@
 <span class="sd">    Args:</span>
 <span class="sd">    Args:</span>
 <span class="sd">      behavior: The implementation of an RPC that accepts an iterator of</span>
 <span class="sd">      behavior: The implementation of an RPC that accepts an iterator of</span>
 <span class="sd">        request values and returns an iterator of response values.</span>
 <span class="sd">        request values and returns an iterator of response values.</span>
-<span class="sd">      request_deserializer: An optional behavior for request deserialization.</span>
-<span class="sd">      response_serializer: An optional behavior for response serialization.</span>
+<span class="sd">      request_deserializer: An optional :term:`deserializer` for request deserialization.</span>
+<span class="sd">      response_serializer: An optional :term:`serializer` for response serialization.</span>
 
 
 <span class="sd">    Returns:</span>
 <span class="sd">    Returns:</span>
 <span class="sd">      An RpcMethodHandler object that is typically used by grpc.Server.</span>
 <span class="sd">      An RpcMethodHandler object that is typically used by grpc.Server.</span>

+ 16 - 3
python/_modules/grpc/experimental/aio/_base_call.html

@@ -1,10 +1,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>grpc.experimental.aio._base_call &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>grpc.experimental.aio._base_call &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="../../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
     <script id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
     <script id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
@@ -29,7 +29,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 
@@ -204,6 +204,19 @@
 
 
 <span class="sd">        Returns:</span>
 <span class="sd">        Returns:</span>
 <span class="sd">          The details string of the RPC.</span>
 <span class="sd">          The details string of the RPC.</span>
+<span class="sd">        &quot;&quot;&quot;</span></div>
+
+<div class="viewcode-block" id="Call.wait_for_connection"><a class="viewcode-back" href="../../../../grpc_asyncio.html#grpc.experimental.aio.Call.wait_for_connection">[docs]</a>    <span class="nd">@abstractmethod</span>
+    <span class="k">async</span> <span class="k">def</span> <span class="nf">wait_for_connection</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+        <span class="sd">&quot;&quot;&quot;Waits until connected to peer and raises aio.AioRpcError if failed.</span>
+
+<span class="sd">        This is an EXPERIMENTAL method.</span>
+
+<span class="sd">        This method ensures the RPC has been successfully connected. Otherwise,</span>
+<span class="sd">        an AioRpcError will be raised to explain the reason of the connection</span>
+<span class="sd">        failure.</span>
+
+<span class="sd">        This method is recommended for building retry mechanisms.</span>
 <span class="sd">        &quot;&quot;&quot;</span></div></div>
 <span class="sd">        &quot;&quot;&quot;</span></div></div>
 
 
 
 

+ 20 - 17
python/_modules/grpc/experimental/aio/_base_channel.html

@@ -1,10 +1,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>grpc.experimental.aio._base_channel &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>grpc.experimental.aio._base_channel &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="../../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
     <script id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
     <script id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
@@ -29,7 +29,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 
@@ -103,12 +103,13 @@
 <span class="sd">&quot;&quot;&quot;Abstract base classes for Channel objects and Multicallable objects.&quot;&quot;&quot;</span>
 <span class="sd">&quot;&quot;&quot;Abstract base classes for Channel objects and Multicallable objects.&quot;&quot;&quot;</span>
 
 
 <span class="kn">import</span> <span class="nn">abc</span>
 <span class="kn">import</span> <span class="nn">abc</span>
-<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Any</span><span class="p">,</span> <span class="n">AsyncIterable</span><span class="p">,</span> <span class="n">Optional</span>
+<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Any</span><span class="p">,</span> <span class="n">Optional</span>
 
 
 <span class="kn">import</span> <span class="nn">grpc</span>
 <span class="kn">import</span> <span class="nn">grpc</span>
 
 
 <span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">_base_call</span>
 <span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">_base_call</span>
-<span class="kn">from</span> <span class="nn">._typing</span> <span class="kn">import</span> <span class="n">DeserializingFunction</span><span class="p">,</span> <span class="n">MetadataType</span><span class="p">,</span> <span class="n">SerializingFunction</span>
+<span class="kn">from</span> <span class="nn">._typing</span> <span class="kn">import</span> <span class="p">(</span><span class="n">DeserializingFunction</span><span class="p">,</span> <span class="n">MetadataType</span><span class="p">,</span> <span class="n">RequestIterableType</span><span class="p">,</span>
+                      <span class="n">SerializingFunction</span><span class="p">)</span>
 
 
 <span class="n">_IMMUTABLE_EMPTY_TUPLE</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">()</span>
 <span class="n">_IMMUTABLE_EMPTY_TUPLE</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">()</span>
 
 
@@ -194,7 +195,7 @@
 
 
 <div class="viewcode-block" id="StreamUnaryMultiCallable.__call__"><a class="viewcode-back" href="../../../../grpc_asyncio.html#grpc.experimental.aio.StreamUnaryMultiCallable.__call__">[docs]</a>    <span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
 <div class="viewcode-block" id="StreamUnaryMultiCallable.__call__"><a class="viewcode-back" href="../../../../grpc_asyncio.html#grpc.experimental.aio.StreamUnaryMultiCallable.__call__">[docs]</a>    <span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
     <span class="k">def</span> <span class="fm">__call__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
     <span class="k">def</span> <span class="fm">__call__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
-                 <span class="n">request_async_iterator</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">AsyncIterable</span><span class="p">[</span><span class="n">Any</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+                 <span class="n">request_iterator</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">RequestIterableType</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
                  <span class="n">timeout</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
                  <span class="n">timeout</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
                  <span class="n">metadata</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">MetadataType</span><span class="p">]</span> <span class="o">=</span> <span class="n">_IMMUTABLE_EMPTY_TUPLE</span><span class="p">,</span>
                  <span class="n">metadata</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">MetadataType</span><span class="p">]</span> <span class="o">=</span> <span class="n">_IMMUTABLE_EMPTY_TUPLE</span><span class="p">,</span>
                  <span class="n">credentials</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">grpc</span><span class="o">.</span><span class="n">CallCredentials</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
                  <span class="n">credentials</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">grpc</span><span class="o">.</span><span class="n">CallCredentials</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
@@ -204,7 +205,8 @@
         <span class="sd">&quot;&quot;&quot;Asynchronously invokes the underlying RPC.</span>
         <span class="sd">&quot;&quot;&quot;Asynchronously invokes the underlying RPC.</span>
 
 
 <span class="sd">        Args:</span>
 <span class="sd">        Args:</span>
-<span class="sd">          request: The request value for the RPC.</span>
+<span class="sd">          request_iterator: An optional async iterable or iterable of request</span>
+<span class="sd">            messages for the RPC.</span>
 <span class="sd">          timeout: An optional duration of time in seconds to allow</span>
 <span class="sd">          timeout: An optional duration of time in seconds to allow</span>
 <span class="sd">            for the RPC.</span>
 <span class="sd">            for the RPC.</span>
 <span class="sd">          metadata: Optional :term:`metadata` to be transmitted to the</span>
 <span class="sd">          metadata: Optional :term:`metadata` to be transmitted to the</span>
@@ -231,7 +233,7 @@
 
 
 <div class="viewcode-block" id="StreamStreamMultiCallable.__call__"><a class="viewcode-back" href="../../../../grpc_asyncio.html#grpc.experimental.aio.StreamStreamMultiCallable.__call__">[docs]</a>    <span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
 <div class="viewcode-block" id="StreamStreamMultiCallable.__call__"><a class="viewcode-back" href="../../../../grpc_asyncio.html#grpc.experimental.aio.StreamStreamMultiCallable.__call__">[docs]</a>    <span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
     <span class="k">def</span> <span class="fm">__call__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
     <span class="k">def</span> <span class="fm">__call__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
-                 <span class="n">request_async_iterator</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">AsyncIterable</span><span class="p">[</span><span class="n">Any</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+                 <span class="n">request_iterator</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">RequestIterableType</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
                  <span class="n">timeout</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
                  <span class="n">timeout</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
                  <span class="n">metadata</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">MetadataType</span><span class="p">]</span> <span class="o">=</span> <span class="n">_IMMUTABLE_EMPTY_TUPLE</span><span class="p">,</span>
                  <span class="n">metadata</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">MetadataType</span><span class="p">]</span> <span class="o">=</span> <span class="n">_IMMUTABLE_EMPTY_TUPLE</span><span class="p">,</span>
                  <span class="n">credentials</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">grpc</span><span class="o">.</span><span class="n">CallCredentials</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
                  <span class="n">credentials</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">grpc</span><span class="o">.</span><span class="n">CallCredentials</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
@@ -241,7 +243,8 @@
         <span class="sd">&quot;&quot;&quot;Asynchronously invokes the underlying RPC.</span>
         <span class="sd">&quot;&quot;&quot;Asynchronously invokes the underlying RPC.</span>
 
 
 <span class="sd">        Args:</span>
 <span class="sd">        Args:</span>
-<span class="sd">          request: The request value for the RPC.</span>
+<span class="sd">          request_iterator: An optional async iterable or iterable of request</span>
+<span class="sd">            messages for the RPC.</span>
 <span class="sd">          timeout: An optional duration of time in seconds to allow</span>
 <span class="sd">          timeout: An optional duration of time in seconds to allow</span>
 <span class="sd">            for the RPC.</span>
 <span class="sd">            for the RPC.</span>
 <span class="sd">          metadata: Optional :term:`metadata` to be transmitted to the</span>
 <span class="sd">          metadata: Optional :term:`metadata` to be transmitted to the</span>
@@ -360,9 +363,9 @@
 
 
 <span class="sd">        Args:</span>
 <span class="sd">        Args:</span>
 <span class="sd">          method: The name of the RPC method.</span>
 <span class="sd">          method: The name of the RPC method.</span>
-<span class="sd">          request_serializer: Optional behaviour for serializing the request</span>
+<span class="sd">          request_serializer: Optional :term:`serializer` for serializing the request</span>
 <span class="sd">            message. Request goes unserialized in case None is passed.</span>
 <span class="sd">            message. Request goes unserialized in case None is passed.</span>
-<span class="sd">          response_deserializer: Optional behaviour for deserializing the</span>
+<span class="sd">          response_deserializer: Optional :term:`deserializer` for deserializing the</span>
 <span class="sd">            response message. Response goes undeserialized in case None</span>
 <span class="sd">            response message. Response goes undeserialized in case None</span>
 <span class="sd">            is passed.</span>
 <span class="sd">            is passed.</span>
 
 
@@ -381,9 +384,9 @@
 
 
 <span class="sd">        Args:</span>
 <span class="sd">        Args:</span>
 <span class="sd">          method: The name of the RPC method.</span>
 <span class="sd">          method: The name of the RPC method.</span>
-<span class="sd">          request_serializer: Optional behaviour for serializing the request</span>
+<span class="sd">          request_serializer: Optional :term:`serializer` for serializing the request</span>
 <span class="sd">            message. Request goes unserialized in case None is passed.</span>
 <span class="sd">            message. Request goes unserialized in case None is passed.</span>
-<span class="sd">          response_deserializer: Optional behaviour for deserializing the</span>
+<span class="sd">          response_deserializer: Optional :term:`deserializer` for deserializing the</span>
 <span class="sd">            response message. Response goes undeserialized in case None</span>
 <span class="sd">            response message. Response goes undeserialized in case None</span>
 <span class="sd">            is passed.</span>
 <span class="sd">            is passed.</span>
 
 
@@ -402,9 +405,9 @@
 
 
 <span class="sd">        Args:</span>
 <span class="sd">        Args:</span>
 <span class="sd">          method: The name of the RPC method.</span>
 <span class="sd">          method: The name of the RPC method.</span>
-<span class="sd">          request_serializer: Optional behaviour for serializing the request</span>
+<span class="sd">          request_serializer: Optional :term:`serializer` for serializing the request</span>
 <span class="sd">            message. Request goes unserialized in case None is passed.</span>
 <span class="sd">            message. Request goes unserialized in case None is passed.</span>
-<span class="sd">          response_deserializer: Optional behaviour for deserializing the</span>
+<span class="sd">          response_deserializer: Optional :term:`deserializer` for deserializing the</span>
 <span class="sd">            response message. Response goes undeserialized in case None</span>
 <span class="sd">            response message. Response goes undeserialized in case None</span>
 <span class="sd">            is passed.</span>
 <span class="sd">            is passed.</span>
 
 
@@ -423,9 +426,9 @@
 
 
 <span class="sd">        Args:</span>
 <span class="sd">        Args:</span>
 <span class="sd">          method: The name of the RPC method.</span>
 <span class="sd">          method: The name of the RPC method.</span>
-<span class="sd">          request_serializer: Optional behaviour for serializing the request</span>
+<span class="sd">          request_serializer: Optional :term:`serializer` for serializing the request</span>
 <span class="sd">            message. Request goes unserialized in case None is passed.</span>
 <span class="sd">            message. Request goes unserialized in case None is passed.</span>
-<span class="sd">          response_deserializer: Optional behaviour for deserializing the</span>
+<span class="sd">          response_deserializer: Optional :term:`deserializer` for deserializing the</span>
 <span class="sd">            response message. Response goes undeserialized in case None</span>
 <span class="sd">            response message. Response goes undeserialized in case None</span>
 <span class="sd">            is passed.</span>
 <span class="sd">            is passed.</span>
 
 

+ 3 - 3
python/_modules/grpc/experimental/aio/_base_server.html

@@ -1,10 +1,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>grpc.experimental.aio._base_server &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>grpc.experimental.aio._base_server &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="../../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
     <script id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
     <script id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
@@ -29,7 +29,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 

+ 51 - 29
python/_modules/grpc/experimental/aio/_call.html

@@ -1,10 +1,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>grpc.experimental.aio._call &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>grpc.experimental.aio._call &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="../../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
     <script id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
     <script id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
@@ -29,7 +29,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 
@@ -103,10 +103,11 @@
 <span class="sd">&quot;&quot;&quot;Invocation-side implementation of gRPC Asyncio Python.&quot;&quot;&quot;</span>
 <span class="sd">&quot;&quot;&quot;Invocation-side implementation of gRPC Asyncio Python.&quot;&quot;&quot;</span>
 
 
 <span class="kn">import</span> <span class="nn">asyncio</span>
 <span class="kn">import</span> <span class="nn">asyncio</span>
-<span class="kn">from</span> <span class="nn">functools</span> <span class="kn">import</span> <span class="n">partial</span>
-<span class="kn">import</span> <span class="nn">logging</span>
 <span class="kn">import</span> <span class="nn">enum</span>
 <span class="kn">import</span> <span class="nn">enum</span>
-<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">AsyncIterable</span><span class="p">,</span> <span class="n">Awaitable</span><span class="p">,</span> <span class="n">Dict</span><span class="p">,</span> <span class="n">Optional</span>
+<span class="kn">import</span> <span class="nn">inspect</span>
+<span class="kn">import</span> <span class="nn">logging</span>
+<span class="kn">from</span> <span class="nn">functools</span> <span class="kn">import</span> <span class="n">partial</span>
+<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">AsyncIterable</span><span class="p">,</span> <span class="n">Optional</span><span class="p">,</span> <span class="n">Tuple</span>
 
 
 <span class="kn">import</span> <span class="nn">grpc</span>
 <span class="kn">import</span> <span class="nn">grpc</span>
 <span class="kn">from</span> <span class="nn">grpc</span> <span class="kn">import</span> <span class="n">_common</span>
 <span class="kn">from</span> <span class="nn">grpc</span> <span class="kn">import</span> <span class="n">_common</span>
@@ -114,7 +115,8 @@
 
 
 <span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">_base_call</span>
 <span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">_base_call</span>
 <span class="kn">from</span> <span class="nn">._typing</span> <span class="kn">import</span> <span class="p">(</span><span class="n">DeserializingFunction</span><span class="p">,</span> <span class="n">DoneCallbackType</span><span class="p">,</span> <span class="n">MetadataType</span><span class="p">,</span>
 <span class="kn">from</span> <span class="nn">._typing</span> <span class="kn">import</span> <span class="p">(</span><span class="n">DeserializingFunction</span><span class="p">,</span> <span class="n">DoneCallbackType</span><span class="p">,</span> <span class="n">MetadataType</span><span class="p">,</span>
-                      <span class="n">RequestType</span><span class="p">,</span> <span class="n">ResponseType</span><span class="p">,</span> <span class="n">SerializingFunction</span><span class="p">)</span>
+                      <span class="n">MetadatumType</span><span class="p">,</span> <span class="n">RequestIterableType</span><span class="p">,</span> <span class="n">RequestType</span><span class="p">,</span>
+                      <span class="n">ResponseType</span><span class="p">,</span> <span class="n">SerializingFunction</span><span class="p">)</span>
 
 
 <span class="n">__all__</span> <span class="o">=</span> <span class="s1">&#39;AioRpcError&#39;</span><span class="p">,</span> <span class="s1">&#39;Call&#39;</span><span class="p">,</span> <span class="s1">&#39;UnaryUnaryCall&#39;</span><span class="p">,</span> <span class="s1">&#39;UnaryStreamCall&#39;</span>
 <span class="n">__all__</span> <span class="o">=</span> <span class="s1">&#39;AioRpcError&#39;</span><span class="p">,</span> <span class="s1">&#39;Call&#39;</span><span class="p">,</span> <span class="s1">&#39;UnaryUnaryCall&#39;</span><span class="p">,</span> <span class="s1">&#39;UnaryStreamCall&#39;</span>
 
 
@@ -194,7 +196,7 @@
 <span class="sd">        &quot;&quot;&quot;</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_details</span></div>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_details</span></div>
 
 
-<div class="viewcode-block" id="AioRpcError.initial_metadata"><a class="viewcode-back" href="../../../../grpc_asyncio.html#grpc.experimental.aio.AioRpcError.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="o">-&gt;</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Dict</span><span class="p">]:</span>
+<div class="viewcode-block" id="AioRpcError.initial_metadata"><a class="viewcode-back" href="../../../../grpc_asyncio.html#grpc.experimental.aio.AioRpcError.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="o">-&gt;</span> <span class="n">Optional</span><span class="p">[</span><span class="n">MetadataType</span><span class="p">]:</span>
         <span class="sd">&quot;&quot;&quot;Accesses the initial metadata sent by the server.</span>
         <span class="sd">&quot;&quot;&quot;Accesses the initial metadata sent by the server.</span>
 
 
 <span class="sd">        Returns:</span>
 <span class="sd">        Returns:</span>
@@ -202,7 +204,7 @@
 <span class="sd">        &quot;&quot;&quot;</span>
 <span class="sd">        &quot;&quot;&quot;</span>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_initial_metadata</span></div>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_initial_metadata</span></div>
 
 
-<div class="viewcode-block" id="AioRpcError.trailing_metadata"><a class="viewcode-back" href="../../../../grpc_asyncio.html#grpc.experimental.aio.AioRpcError.trailing_metadata">[docs]</a>    <span class="k">def</span> <span class="nf">trailing_metadata</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Dict</span><span class="p">]:</span>
+<div class="viewcode-block" id="AioRpcError.trailing_metadata"><a class="viewcode-back" href="../../../../grpc_asyncio.html#grpc.experimental.aio.AioRpcError.trailing_metadata">[docs]</a>    <span class="k">def</span> <span class="nf">trailing_metadata</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Optional</span><span class="p">[</span><span class="n">MetadataType</span><span class="p">]:</span>
         <span class="sd">&quot;&quot;&quot;Accesses the trailing metadata sent by the server.</span>
         <span class="sd">&quot;&quot;&quot;Accesses the trailing metadata sent by the server.</span>
 
 
 <span class="sd">        Returns:</span>
 <span class="sd">        Returns:</span>
@@ -250,7 +252,7 @@
     <span class="n">_loop</span><span class="p">:</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">AbstractEventLoop</span>
     <span class="n">_loop</span><span class="p">:</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">AbstractEventLoop</span>
     <span class="n">_code</span><span class="p">:</span> <span class="n">grpc</span><span class="o">.</span><span class="n">StatusCode</span>
     <span class="n">_code</span><span class="p">:</span> <span class="n">grpc</span><span class="o">.</span><span class="n">StatusCode</span>
     <span class="n">_cython_call</span><span class="p">:</span> <span class="n">cygrpc</span><span class="o">.</span><span class="n">_AioCall</span>
     <span class="n">_cython_call</span><span class="p">:</span> <span class="n">cygrpc</span><span class="o">.</span><span class="n">_AioCall</span>
-    <span class="n">_metadata</span><span class="p">:</span> <span class="n">MetadataType</span>
+    <span class="n">_metadata</span><span class="p">:</span> <span class="n">Tuple</span><span class="p">[</span><span class="n">MetadatumType</span><span class="p">]</span>
     <span class="n">_request_serializer</span><span class="p">:</span> <span class="n">SerializingFunction</span>
     <span class="n">_request_serializer</span><span class="p">:</span> <span class="n">SerializingFunction</span>
     <span class="n">_response_deserializer</span><span class="p">:</span> <span class="n">DeserializingFunction</span>
     <span class="n">_response_deserializer</span><span class="p">:</span> <span class="n">DeserializingFunction</span>
 
 
@@ -260,7 +262,7 @@
                  <span class="n">loop</span><span class="p">:</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">AbstractEventLoop</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
                  <span class="n">loop</span><span class="p">:</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">AbstractEventLoop</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_loop</span> <span class="o">=</span> <span class="n">loop</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_loop</span> <span class="o">=</span> <span class="n">loop</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_cython_call</span> <span class="o">=</span> <span class="n">cython_call</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_cython_call</span> <span class="o">=</span> <span class="n">cython_call</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_metadata</span> <span class="o">=</span> <span class="n">metadata</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_metadata</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">metadata</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_request_serializer</span> <span class="o">=</span> <span class="n">request_serializer</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_request_serializer</span> <span class="o">=</span> <span class="n">request_serializer</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_response_deserializer</span> <span class="o">=</span> <span class="n">response_deserializer</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_response_deserializer</span> <span class="o">=</span> <span class="n">response_deserializer</span>
 
 
@@ -337,9 +339,8 @@
 <span class="k">class</span> <span class="nc">_UnaryResponseMixin</span><span class="p">(</span><span class="n">Call</span><span class="p">):</span>
 <span class="k">class</span> <span class="nc">_UnaryResponseMixin</span><span class="p">(</span><span class="n">Call</span><span class="p">):</span>
     <span class="n">_call_response</span><span class="p">:</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">Task</span>
     <span class="n">_call_response</span><span class="p">:</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">Task</span>
 
 
-    <span class="k">def</span> <span class="nf">_init_unary_response_mixin</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
-                                   <span class="n">response_coro</span><span class="p">:</span> <span class="n">Awaitable</span><span class="p">[</span><span class="n">ResponseType</span><span class="p">]):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_call_response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_loop</span><span class="o">.</span><span class="n">create_task</span><span class="p">(</span><span class="n">response_coro</span><span class="p">)</span>
+    <span class="k">def</span> <span class="nf">_init_unary_response_mixin</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response_task</span><span class="p">:</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">Task</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_call_response</span> <span class="o">=</span> <span class="n">response_task</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="o">-&gt;</span> <span class="nb">bool</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="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
         <span class="k">if</span> <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="n">cancel</span><span class="p">():</span>
         <span class="k">if</span> <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="n">cancel</span><span class="p">():</span>
@@ -451,14 +452,14 @@
     <span class="n">_request_style</span><span class="p">:</span> <span class="n">_APIStyle</span>
     <span class="n">_request_style</span><span class="p">:</span> <span class="n">_APIStyle</span>
 
 
     <span class="k">def</span> <span class="nf">_init_stream_request_mixin</span><span class="p">(</span>
     <span class="k">def</span> <span class="nf">_init_stream_request_mixin</span><span class="p">(</span>
-            <span class="bp">self</span><span class="p">,</span> <span class="n">request_async_iterator</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">AsyncIterable</span><span class="p">[</span><span class="n">RequestType</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">Optional</span><span class="p">[</span><span class="n">RequestIterableType</span><span class="p">]):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_metadata_sent</span> <span class="o">=</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">Event</span><span class="p">(</span><span class="n">loop</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_loop</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_metadata_sent</span> <span class="o">=</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">Event</span><span class="p">(</span><span class="n">loop</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_loop</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_done_writing_flag</span> <span class="o">=</span> <span class="kc">False</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_done_writing_flag</span> <span class="o">=</span> <span class="kc">False</span>
 
 
         <span class="c1"># If user passes in an async iterator, create a consumer Task.</span>
         <span class="c1"># If user passes in an async iterator, create a consumer Task.</span>
-        <span class="k">if</span> <span class="n">request_async_iterator</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+        <span class="k">if</span> <span class="n">request_iterator</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">_async_request_poller</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_loop</span><span class="o">.</span><span class="n">create_task</span><span class="p">(</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">_async_request_poller</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_loop</span><span class="o">.</span><span class="n">create_task</span><span class="p">(</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">_consume_request_iterator</span><span class="p">(</span><span class="n">request_async_iterator</span><span class="p">))</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">_consume_request_iterator</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">_request_style</span> <span class="o">=</span> <span class="n">_APIStyle</span><span class="o">.</span><span class="n">ASYNC_GENERATOR</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">_request_style</span> <span class="o">=</span> <span class="n">_APIStyle</span><span class="o">.</span><span class="n">ASYNC_GENERATOR</span>
         <span class="k">else</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">_async_request_poller</span> <span class="o">=</span> <span class="kc">None</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">_async_request_poller</span> <span class="o">=</span> <span class="kc">None</span>
@@ -480,11 +481,17 @@
     <span class="k">def</span> <span class="nf">_metadata_sent_observer</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
     <span class="k">def</span> <span class="nf">_metadata_sent_observer</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">_metadata_sent</span><span class="o">.</span><span class="n">set</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_metadata_sent</span><span class="o">.</span><span class="n">set</span><span class="p">()</span>
 
 
-    <span class="k">async</span> <span class="k">def</span> <span class="nf">_consume_request_iterator</span><span class="p">(</span>
-            <span class="bp">self</span><span class="p">,</span> <span class="n">request_async_iterator</span><span class="p">:</span> <span class="n">AsyncIterable</span><span class="p">[</span><span class="n">RequestType</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+    <span class="k">async</span> <span class="k">def</span> <span class="nf">_consume_request_iterator</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">RequestIterableType</span>
+                                       <span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
         <span class="k">try</span><span class="p">:</span>
         <span class="k">try</span><span class="p">:</span>
-            <span class="k">async</span> <span class="k">for</span> <span class="n">request</span> <span class="ow">in</span> <span class="n">request_async_iterator</span><span class="p">:</span>
-                <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_write</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">inspect</span><span class="o">.</span><span class="n">isasyncgen</span><span class="p">(</span><span class="n">request_iterator</span><span class="p">):</span>
+                <span class="k">async</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">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_write</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
+            <span class="k">else</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">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_write</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
+
             <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_done_writing</span><span class="p">()</span>
             <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_done_writing</span><span class="p">()</span>
         <span class="k">except</span> <span class="n">AioRpcError</span> <span class="k">as</span> <span class="n">rpc_error</span><span class="p">:</span>
         <span class="k">except</span> <span class="n">AioRpcError</span> <span class="k">as</span> <span class="n">rpc_error</span><span class="p">:</span>
             <span class="c1"># Rpc status should be exposed through other API. Exceptions raised</span>
             <span class="c1"># Rpc status should be exposed through other API. Exceptions raised</span>
@@ -539,6 +546,11 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">_raise_for_different_style</span><span class="p">(</span><span class="n">_APIStyle</span><span class="o">.</span><span class="n">READER_WRITER</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_raise_for_different_style</span><span class="p">(</span><span class="n">_APIStyle</span><span class="o">.</span><span class="n">READER_WRITER</span><span class="p">)</span>
         <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_done_writing</span><span class="p">()</span>
         <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_done_writing</span><span class="p">()</span>
 
 
+    <span class="k">async</span> <span class="k">def</span> <span class="nf">wait_for_connection</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+        <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_metadata_sent</span><span class="o">.</span><span class="n">wait</span><span class="p">()</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">done</span><span class="p">():</span>
+            <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_raise_for_status</span><span class="p">()</span>
+
 
 
 <span class="k">class</span> <span class="nc">UnaryUnaryCall</span><span class="p">(</span><span class="n">_UnaryResponseMixin</span><span class="p">,</span> <span class="n">Call</span><span class="p">,</span> <span class="n">_base_call</span><span class="o">.</span><span class="n">UnaryUnaryCall</span><span class="p">):</span>
 <span class="k">class</span> <span class="nc">UnaryUnaryCall</span><span class="p">(</span><span class="n">_UnaryResponseMixin</span><span class="p">,</span> <span class="n">Call</span><span class="p">,</span> <span class="n">_base_call</span><span class="o">.</span><span class="n">UnaryUnaryCall</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;Object for managing unary-unary RPC calls.</span>
     <span class="sd">&quot;&quot;&quot;Object for managing unary-unary RPC calls.</span>
@@ -546,6 +558,7 @@
 <span class="sd">    Returned when an instance of `UnaryUnaryMultiCallable` object is called.</span>
 <span class="sd">    Returned when an instance of `UnaryUnaryMultiCallable` object is called.</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 <span class="sd">    &quot;&quot;&quot;</span>
     <span class="n">_request</span><span class="p">:</span> <span class="n">RequestType</span>
     <span class="n">_request</span><span class="p">:</span> <span class="n">RequestType</span>
+    <span class="n">_invocation_task</span><span class="p">:</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">Task</span>
 
 
     <span class="c1"># pylint: disable=too-many-arguments</span>
     <span class="c1"># pylint: disable=too-many-arguments</span>
     <span class="k">def</span> <span class="fm">__init__</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">RequestType</span><span class="p">,</span> <span class="n">deadline</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">],</span>
     <span class="k">def</span> <span class="fm">__init__</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">RequestType</span><span class="p">,</span> <span class="n">deadline</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">],</span>
@@ -559,7 +572,8 @@
             <span class="n">channel</span><span class="o">.</span><span class="n">call</span><span class="p">(</span><span class="n">method</span><span class="p">,</span> <span class="n">deadline</span><span class="p">,</span> <span class="n">credentials</span><span class="p">,</span> <span class="n">wait_for_ready</span><span class="p">),</span>
             <span class="n">channel</span><span class="o">.</span><span class="n">call</span><span class="p">(</span><span class="n">method</span><span class="p">,</span> <span class="n">deadline</span><span class="p">,</span> <span class="n">credentials</span><span class="p">,</span> <span class="n">wait_for_ready</span><span class="p">),</span>
             <span class="n">metadata</span><span class="p">,</span> <span class="n">request_serializer</span><span class="p">,</span> <span class="n">response_deserializer</span><span class="p">,</span> <span class="n">loop</span><span class="p">)</span>
             <span class="n">metadata</span><span class="p">,</span> <span class="n">request_serializer</span><span class="p">,</span> <span class="n">response_deserializer</span><span class="p">,</span> <span class="n">loop</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_request</span> <span class="o">=</span> <span class="n">request</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_request</span> <span class="o">=</span> <span class="n">request</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_init_unary_response_mixin</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_invoke</span><span class="p">())</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_invocation_task</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">create_task</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_invoke</span><span class="p">())</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_init_unary_response_mixin</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_invocation_task</span><span class="p">)</span>
 
 
     <span class="k">async</span> <span class="k">def</span> <span class="nf">_invoke</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">ResponseType</span><span class="p">:</span>
     <span class="k">async</span> <span class="k">def</span> <span class="nf">_invoke</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">ResponseType</span><span class="p">:</span>
         <span class="n">serialized_request</span> <span class="o">=</span> <span class="n">_common</span><span class="o">.</span><span class="n">serialize</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_request</span><span class="p">,</span>
         <span class="n">serialized_request</span> <span class="o">=</span> <span class="n">_common</span><span class="o">.</span><span class="n">serialize</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_request</span><span class="p">,</span>
@@ -581,6 +595,11 @@
         <span class="k">else</span><span class="p">:</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="k">return</span> <span class="n">cygrpc</span><span class="o">.</span><span class="n">EOF</span>
             <span class="k">return</span> <span class="n">cygrpc</span><span class="o">.</span><span class="n">EOF</span>
 
 
+    <span class="k">async</span> <span class="k">def</span> <span class="nf">wait_for_connection</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+        <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_invocation_task</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">done</span><span class="p">():</span>
+            <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_raise_for_status</span><span class="p">()</span>
+
 
 
 <span class="k">class</span> <span class="nc">UnaryStreamCall</span><span class="p">(</span><span class="n">_StreamResponseMixin</span><span class="p">,</span> <span class="n">Call</span><span class="p">,</span> <span class="n">_base_call</span><span class="o">.</span><span class="n">UnaryStreamCall</span><span class="p">):</span>
 <span class="k">class</span> <span class="nc">UnaryStreamCall</span><span class="p">(</span><span class="n">_StreamResponseMixin</span><span class="p">,</span> <span class="n">Call</span><span class="p">,</span> <span class="n">_base_call</span><span class="o">.</span><span class="n">UnaryStreamCall</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;Object for managing unary-stream RPC calls.</span>
     <span class="sd">&quot;&quot;&quot;Object for managing unary-stream RPC calls.</span>
@@ -617,6 +636,11 @@
                 <span class="bp">self</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">cancel</span><span class="p">()</span>
             <span class="k">raise</span>
             <span class="k">raise</span>
 
 
+    <span class="k">async</span> <span class="k">def</span> <span class="nf">wait_for_connection</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+        <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_send_unary_request_task</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">done</span><span class="p">():</span>
+            <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_raise_for_status</span><span class="p">()</span>
+
 
 
 <span class="k">class</span> <span class="nc">StreamUnaryCall</span><span class="p">(</span><span class="n">_StreamRequestMixin</span><span class="p">,</span> <span class="n">_UnaryResponseMixin</span><span class="p">,</span> <span class="n">Call</span><span class="p">,</span>
 <span class="k">class</span> <span class="nc">StreamUnaryCall</span><span class="p">(</span><span class="n">_StreamRequestMixin</span><span class="p">,</span> <span class="n">_UnaryResponseMixin</span><span class="p">,</span> <span class="n">Call</span><span class="p">,</span>
                       <span class="n">_base_call</span><span class="o">.</span><span class="n">StreamUnaryCall</span><span class="p">):</span>
                       <span class="n">_base_call</span><span class="o">.</span><span class="n">StreamUnaryCall</span><span class="p">):</span>
@@ -626,8 +650,7 @@
 <span class="sd">    &quot;&quot;&quot;</span>
 <span class="sd">    &quot;&quot;&quot;</span>
 
 
     <span class="c1"># pylint: disable=too-many-arguments</span>
     <span class="c1"># pylint: disable=too-many-arguments</span>
-    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
-                 <span class="n">request_async_iterator</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">AsyncIterable</span><span class="p">[</span><span class="n">RequestType</span><span class="p">]],</span>
+    <span class="k">def</span> <span class="fm">__init__</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">Optional</span><span class="p">[</span><span class="n">RequestIterableType</span><span class="p">],</span>
                  <span class="n">deadline</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">],</span> <span class="n">metadata</span><span class="p">:</span> <span class="n">MetadataType</span><span class="p">,</span>
                  <span class="n">deadline</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">],</span> <span class="n">metadata</span><span class="p">:</span> <span class="n">MetadataType</span><span class="p">,</span>
                  <span class="n">credentials</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">grpc</span><span class="o">.</span><span class="n">CallCredentials</span><span class="p">],</span>
                  <span class="n">credentials</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">grpc</span><span class="o">.</span><span class="n">CallCredentials</span><span class="p">],</span>
                  <span class="n">wait_for_ready</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">],</span> <span class="n">channel</span><span class="p">:</span> <span class="n">cygrpc</span><span class="o">.</span><span class="n">AioChannel</span><span class="p">,</span>
                  <span class="n">wait_for_ready</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">],</span> <span class="n">channel</span><span class="p">:</span> <span class="n">cygrpc</span><span class="o">.</span><span class="n">AioChannel</span><span class="p">,</span>
@@ -638,8 +661,8 @@
             <span class="n">channel</span><span class="o">.</span><span class="n">call</span><span class="p">(</span><span class="n">method</span><span class="p">,</span> <span class="n">deadline</span><span class="p">,</span> <span class="n">credentials</span><span class="p">,</span> <span class="n">wait_for_ready</span><span class="p">),</span>
             <span class="n">channel</span><span class="o">.</span><span class="n">call</span><span class="p">(</span><span class="n">method</span><span class="p">,</span> <span class="n">deadline</span><span class="p">,</span> <span class="n">credentials</span><span class="p">,</span> <span class="n">wait_for_ready</span><span class="p">),</span>
             <span class="n">metadata</span><span class="p">,</span> <span class="n">request_serializer</span><span class="p">,</span> <span class="n">response_deserializer</span><span class="p">,</span> <span class="n">loop</span><span class="p">)</span>
             <span class="n">metadata</span><span class="p">,</span> <span class="n">request_serializer</span><span class="p">,</span> <span class="n">response_deserializer</span><span class="p">,</span> <span class="n">loop</span><span class="p">)</span>
 
 
-        <span class="bp">self</span><span class="o">.</span><span class="n">_init_stream_request_mixin</span><span class="p">(</span><span class="n">request_async_iterator</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_init_unary_response_mixin</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_conduct_rpc</span><span class="p">())</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_init_stream_request_mixin</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">_init_unary_response_mixin</span><span class="p">(</span><span class="n">loop</span><span class="o">.</span><span class="n">create_task</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_conduct_rpc</span><span class="p">()))</span>
 
 
     <span class="k">async</span> <span class="k">def</span> <span class="nf">_conduct_rpc</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">ResponseType</span><span class="p">:</span>
     <span class="k">async</span> <span class="k">def</span> <span class="nf">_conduct_rpc</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">ResponseType</span><span class="p">:</span>
         <span class="k">try</span><span class="p">:</span>
         <span class="k">try</span><span class="p">:</span>
@@ -665,8 +688,7 @@
     <span class="n">_initializer</span><span class="p">:</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">Task</span>
     <span class="n">_initializer</span><span class="p">:</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">Task</span>
 
 
     <span class="c1"># pylint: disable=too-many-arguments</span>
     <span class="c1"># pylint: disable=too-many-arguments</span>
-    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
-                 <span class="n">request_async_iterator</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">AsyncIterable</span><span class="p">[</span><span class="n">RequestType</span><span class="p">]],</span>
+    <span class="k">def</span> <span class="fm">__init__</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">Optional</span><span class="p">[</span><span class="n">RequestIterableType</span><span class="p">],</span>
                  <span class="n">deadline</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">],</span> <span class="n">metadata</span><span class="p">:</span> <span class="n">MetadataType</span><span class="p">,</span>
                  <span class="n">deadline</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">],</span> <span class="n">metadata</span><span class="p">:</span> <span class="n">MetadataType</span><span class="p">,</span>
                  <span class="n">credentials</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">grpc</span><span class="o">.</span><span class="n">CallCredentials</span><span class="p">],</span>
                  <span class="n">credentials</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">grpc</span><span class="o">.</span><span class="n">CallCredentials</span><span class="p">],</span>
                  <span class="n">wait_for_ready</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">],</span> <span class="n">channel</span><span class="p">:</span> <span class="n">cygrpc</span><span class="o">.</span><span class="n">AioChannel</span><span class="p">,</span>
                  <span class="n">wait_for_ready</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">],</span> <span class="n">channel</span><span class="p">:</span> <span class="n">cygrpc</span><span class="o">.</span><span class="n">AioChannel</span><span class="p">,</span>
@@ -677,7 +699,7 @@
             <span class="n">channel</span><span class="o">.</span><span class="n">call</span><span class="p">(</span><span class="n">method</span><span class="p">,</span> <span class="n">deadline</span><span class="p">,</span> <span class="n">credentials</span><span class="p">,</span> <span class="n">wait_for_ready</span><span class="p">),</span>
             <span class="n">channel</span><span class="o">.</span><span class="n">call</span><span class="p">(</span><span class="n">method</span><span class="p">,</span> <span class="n">deadline</span><span class="p">,</span> <span class="n">credentials</span><span class="p">,</span> <span class="n">wait_for_ready</span><span class="p">),</span>
             <span class="n">metadata</span><span class="p">,</span> <span class="n">request_serializer</span><span class="p">,</span> <span class="n">response_deserializer</span><span class="p">,</span> <span class="n">loop</span><span class="p">)</span>
             <span class="n">metadata</span><span class="p">,</span> <span class="n">request_serializer</span><span class="p">,</span> <span class="n">response_deserializer</span><span class="p">,</span> <span class="n">loop</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_initializer</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_loop</span><span class="o">.</span><span class="n">create_task</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_prepare_rpc</span><span class="p">())</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_initializer</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_loop</span><span class="o">.</span><span class="n">create_task</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_prepare_rpc</span><span class="p">())</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_init_stream_request_mixin</span><span class="p">(</span><span class="n">request_async_iterator</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_init_stream_request_mixin</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">_init_stream_response_mixin</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_initializer</span><span class="p">)</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_init_stream_response_mixin</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_initializer</span><span class="p">)</span>
 
 
     <span class="k">async</span> <span class="k">def</span> <span class="nf">_prepare_rpc</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
     <span class="k">async</span> <span class="k">def</span> <span class="nf">_prepare_rpc</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>

+ 31 - 11
python/_modules/grpc/experimental/aio/_channel.html

@@ -1,10 +1,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>grpc.experimental.aio._channel &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>grpc.experimental.aio._channel &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="../../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
     <script id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
     <script id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
@@ -29,7 +29,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 
@@ -104,7 +104,7 @@
 
 
 <span class="kn">import</span> <span class="nn">asyncio</span>
 <span class="kn">import</span> <span class="nn">asyncio</span>
 <span class="kn">import</span> <span class="nn">sys</span>
 <span class="kn">import</span> <span class="nn">sys</span>
-<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Any</span><span class="p">,</span> <span class="n">AsyncIterable</span><span class="p">,</span> <span class="n">Iterable</span><span class="p">,</span> <span class="n">Optional</span><span class="p">,</span> <span class="n">Sequence</span>
+<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Any</span><span class="p">,</span> <span class="n">Iterable</span><span class="p">,</span> <span class="n">Optional</span><span class="p">,</span> <span class="n">Sequence</span>
 
 
 <span class="kn">import</span> <span class="nn">grpc</span>
 <span class="kn">import</span> <span class="nn">grpc</span>
 <span class="kn">from</span> <span class="nn">grpc</span> <span class="kn">import</span> <span class="n">_common</span><span class="p">,</span> <span class="n">_compression</span><span class="p">,</span> <span class="n">_grpcio_metadata</span>
 <span class="kn">from</span> <span class="nn">grpc</span> <span class="kn">import</span> <span class="n">_common</span><span class="p">,</span> <span class="n">_compression</span><span class="p">,</span> <span class="n">_grpcio_metadata</span>
@@ -116,7 +116,7 @@
 <span class="kn">from</span> <span class="nn">._interceptor</span> <span class="kn">import</span> <span class="p">(</span><span class="n">InterceptedUnaryUnaryCall</span><span class="p">,</span>
 <span class="kn">from</span> <span class="nn">._interceptor</span> <span class="kn">import</span> <span class="p">(</span><span class="n">InterceptedUnaryUnaryCall</span><span class="p">,</span>
                            <span class="n">UnaryUnaryClientInterceptor</span><span class="p">)</span>
                            <span class="n">UnaryUnaryClientInterceptor</span><span class="p">)</span>
 <span class="kn">from</span> <span class="nn">._typing</span> <span class="kn">import</span> <span class="p">(</span><span class="n">ChannelArgumentType</span><span class="p">,</span> <span class="n">DeserializingFunction</span><span class="p">,</span> <span class="n">MetadataType</span><span class="p">,</span>
 <span class="kn">from</span> <span class="nn">._typing</span> <span class="kn">import</span> <span class="p">(</span><span class="n">ChannelArgumentType</span><span class="p">,</span> <span class="n">DeserializingFunction</span><span class="p">,</span> <span class="n">MetadataType</span><span class="p">,</span>
-                      <span class="n">SerializingFunction</span><span class="p">)</span>
+                      <span class="n">SerializingFunction</span><span class="p">,</span> <span class="n">RequestIterableType</span><span class="p">)</span>
 <span class="kn">from</span> <span class="nn">._utils</span> <span class="kn">import</span> <span class="n">_timeout_to_deadline</span>
 <span class="kn">from</span> <span class="nn">._utils</span> <span class="kn">import</span> <span class="n">_timeout_to_deadline</span>
 
 
 <span class="n">_IMMUTABLE_EMPTY_TUPLE</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">()</span>
 <span class="n">_IMMUTABLE_EMPTY_TUPLE</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">()</span>
@@ -235,7 +235,7 @@
                                <span class="n">_base_channel</span><span class="o">.</span><span class="n">StreamUnaryMultiCallable</span><span class="p">):</span>
                                <span class="n">_base_channel</span><span class="o">.</span><span class="n">StreamUnaryMultiCallable</span><span class="p">):</span>
 
 
     <span class="k">def</span> <span class="fm">__call__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
     <span class="k">def</span> <span class="fm">__call__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
-                 <span class="n">request_async_iterator</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">AsyncIterable</span><span class="p">[</span><span class="n">Any</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+                 <span class="n">request_iterator</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">RequestIterableType</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
                  <span class="n">timeout</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
                  <span class="n">timeout</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
                  <span class="n">metadata</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">MetadataType</span><span class="p">]</span> <span class="o">=</span> <span class="n">_IMMUTABLE_EMPTY_TUPLE</span><span class="p">,</span>
                  <span class="n">metadata</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">MetadataType</span><span class="p">]</span> <span class="o">=</span> <span class="n">_IMMUTABLE_EMPTY_TUPLE</span><span class="p">,</span>
                  <span class="n">credentials</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">grpc</span><span class="o">.</span><span class="n">CallCredentials</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
                  <span class="n">credentials</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">grpc</span><span class="o">.</span><span class="n">CallCredentials</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
@@ -247,7 +247,7 @@
 
 
         <span class="n">deadline</span> <span class="o">=</span> <span class="n">_timeout_to_deadline</span><span class="p">(</span><span class="n">timeout</span><span class="p">)</span>
         <span class="n">deadline</span> <span class="o">=</span> <span class="n">_timeout_to_deadline</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">StreamUnaryCall</span><span class="p">(</span><span class="n">request_async_iterator</span><span class="p">,</span> <span class="n">deadline</span><span class="p">,</span> <span class="n">metadata</span><span class="p">,</span>
+        <span class="n">call</span> <span class="o">=</span> <span class="n">StreamUnaryCall</span><span class="p">(</span><span class="n">request_iterator</span><span class="p">,</span> <span class="n">deadline</span><span class="p">,</span> <span class="n">metadata</span><span class="p">,</span>
                                <span class="n">credentials</span><span class="p">,</span> <span class="n">wait_for_ready</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_channel</span><span class="p">,</span>
                                <span class="n">credentials</span><span class="p">,</span> <span class="n">wait_for_ready</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_channel</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="bp">self</span><span class="o">.</span><span class="n">_request_serializer</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="bp">self</span><span class="o">.</span><span class="n">_request_serializer</span><span class="p">,</span>
                                <span class="bp">self</span><span class="o">.</span><span class="n">_response_deserializer</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_loop</span><span class="p">)</span>
                                <span class="bp">self</span><span class="o">.</span><span class="n">_response_deserializer</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_loop</span><span class="p">)</span>
@@ -259,7 +259,7 @@
                                 <span class="n">_base_channel</span><span class="o">.</span><span class="n">StreamStreamMultiCallable</span><span class="p">):</span>
                                 <span class="n">_base_channel</span><span class="o">.</span><span class="n">StreamStreamMultiCallable</span><span class="p">):</span>
 
 
     <span class="k">def</span> <span class="fm">__call__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
     <span class="k">def</span> <span class="fm">__call__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
-                 <span class="n">request_async_iterator</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">AsyncIterable</span><span class="p">[</span><span class="n">Any</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
+                 <span class="n">request_iterator</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">RequestIterableType</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
                  <span class="n">timeout</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
                  <span class="n">timeout</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
                  <span class="n">metadata</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">MetadataType</span><span class="p">]</span> <span class="o">=</span> <span class="n">_IMMUTABLE_EMPTY_TUPLE</span><span class="p">,</span>
                  <span class="n">metadata</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">MetadataType</span><span class="p">]</span> <span class="o">=</span> <span class="n">_IMMUTABLE_EMPTY_TUPLE</span><span class="p">,</span>
                  <span class="n">credentials</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">grpc</span><span class="o">.</span><span class="n">CallCredentials</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
                  <span class="n">credentials</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">grpc</span><span class="o">.</span><span class="n">CallCredentials</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
@@ -271,7 +271,7 @@
 
 
         <span class="n">deadline</span> <span class="o">=</span> <span class="n">_timeout_to_deadline</span><span class="p">(</span><span class="n">timeout</span><span class="p">)</span>
         <span class="n">deadline</span> <span class="o">=</span> <span class="n">_timeout_to_deadline</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">StreamStreamCall</span><span class="p">(</span><span class="n">request_async_iterator</span><span class="p">,</span> <span class="n">deadline</span><span class="p">,</span> <span class="n">metadata</span><span class="p">,</span>
+        <span class="n">call</span> <span class="o">=</span> <span class="n">StreamStreamCall</span><span class="p">(</span><span class="n">request_iterator</span><span class="p">,</span> <span class="n">deadline</span><span class="p">,</span> <span class="n">metadata</span><span class="p">,</span>
                                 <span class="n">credentials</span><span class="p">,</span> <span class="n">wait_for_ready</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_channel</span><span class="p">,</span>
                                 <span class="n">credentials</span><span class="p">,</span> <span class="n">wait_for_ready</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_channel</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="bp">self</span><span class="o">.</span><span class="n">_request_serializer</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="bp">self</span><span class="o">.</span><span class="n">_request_serializer</span><span class="p">,</span>
                                 <span class="bp">self</span><span class="o">.</span><span class="n">_response_deserializer</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_loop</span><span class="p">)</span>
                                 <span class="bp">self</span><span class="o">.</span><span class="n">_response_deserializer</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_loop</span><span class="p">)</span>
@@ -329,7 +329,7 @@
     <span class="k">async</span> <span class="k">def</span> <span class="fm">__aexit__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">exc_type</span><span class="p">,</span> <span class="n">exc_val</span><span class="p">,</span> <span class="n">exc_tb</span><span class="p">):</span>
     <span class="k">async</span> <span class="k">def</span> <span class="fm">__aexit__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">exc_type</span><span class="p">,</span> <span class="n">exc_val</span><span class="p">,</span> <span class="n">exc_tb</span><span class="p">):</span>
         <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_close</span><span class="p">(</span><span class="kc">None</span><span class="p">)</span>
         <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_close</span><span class="p">(</span><span class="kc">None</span><span class="p">)</span>
 
 
-    <span class="k">async</span> <span class="k">def</span> <span class="nf">_close</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="k">async</span> <span class="k">def</span> <span class="nf">_close</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="c1"># pylint: disable=too-many-branches</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_channel</span><span class="o">.</span><span class="n">closed</span><span class="p">():</span>
         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_channel</span><span class="o">.</span><span class="n">closed</span><span class="p">():</span>
             <span class="k">return</span>
             <span class="k">return</span>
 
 
@@ -341,7 +341,27 @@
         <span class="n">calls</span> <span class="o">=</span> <span class="p">[]</span>
         <span class="n">calls</span> <span class="o">=</span> <span class="p">[]</span>
         <span class="n">call_tasks</span> <span class="o">=</span> <span class="p">[]</span>
         <span class="n">call_tasks</span> <span class="o">=</span> <span class="p">[]</span>
         <span class="k">for</span> <span class="n">task</span> <span class="ow">in</span> <span class="n">tasks</span><span class="p">:</span>
         <span class="k">for</span> <span class="n">task</span> <span class="ow">in</span> <span class="n">tasks</span><span class="p">:</span>
-            <span class="n">stack</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">get_stack</span><span class="p">(</span><span class="n">limit</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="n">stack</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">get_stack</span><span class="p">(</span><span class="n">limit</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
+            <span class="k">except</span> <span class="ne">AttributeError</span> <span class="k">as</span> <span class="n">attribute_error</span><span class="p">:</span>
+                <span class="c1"># NOTE(lidiz) tl;dr: If the Task is created with a CPython</span>
+                <span class="c1"># object, it will trigger AttributeError.</span>
+                <span class="c1">#</span>
+                <span class="c1"># In the global finalizer, the event loop schedules</span>
+                <span class="c1"># a CPython PyAsyncGenAThrow object.</span>
+                <span class="c1"># https://github.com/python/cpython/blob/00e45877e33d32bb61aa13a2033e3bba370bda4d/Lib/asyncio/base_events.py#L484</span>
+                <span class="c1">#</span>
+                <span class="c1"># However, the PyAsyncGenAThrow object is written in C and</span>
+                <span class="c1"># failed to include the normal Python frame objects. Hence,</span>
+                <span class="c1"># this exception is a false negative, and it is safe to ignore</span>
+                <span class="c1"># the failure. It is fixed by https://github.com/python/cpython/pull/18669,</span>
+                <span class="c1"># but not available until 3.9 or 3.8.3. So, we have to keep it</span>
+                <span class="c1"># for a while.</span>
+                <span class="c1"># TODO(lidiz) drop this hack after 3.8 deprecation</span>
+                <span class="k">if</span> <span class="s1">&#39;frame&#39;</span> <span class="ow">in</span> <span class="nb">str</span><span class="p">(</span><span class="n">attribute_error</span><span class="p">):</span>
+                    <span class="k">continue</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="k">raise</span>
 
 
             <span class="c1"># If the Task is created by a C-extension, the stack will be empty.</span>
             <span class="c1"># If the Task is created by a C-extension, the stack will be empty.</span>
             <span class="k">if</span> <span class="ow">not</span> <span class="n">stack</span><span class="p">:</span>
             <span class="k">if</span> <span class="ow">not</span> <span class="n">stack</span><span class="p">:</span>

+ 44 - 9
python/_modules/grpc/experimental/aio/_interceptor.html

@@ -1,10 +1,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>grpc.experimental.aio._interceptor &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>grpc.experimental.aio._interceptor &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="../../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
     <script id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
     <script id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
@@ -29,7 +29,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 
@@ -105,7 +105,7 @@
 <span class="kn">import</span> <span class="nn">collections</span>
 <span class="kn">import</span> <span class="nn">collections</span>
 <span class="kn">import</span> <span class="nn">functools</span>
 <span class="kn">import</span> <span class="nn">functools</span>
 <span class="kn">from</span> <span class="nn">abc</span> <span class="kn">import</span> <span class="n">ABCMeta</span><span class="p">,</span> <span class="n">abstractmethod</span>
 <span class="kn">from</span> <span class="nn">abc</span> <span class="kn">import</span> <span class="n">ABCMeta</span><span class="p">,</span> <span class="n">abstractmethod</span>
-<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Callable</span><span class="p">,</span> <span class="n">Optional</span><span class="p">,</span> <span class="n">Iterator</span><span class="p">,</span> <span class="n">Sequence</span><span class="p">,</span> <span class="n">Union</span>
+<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Callable</span><span class="p">,</span> <span class="n">Optional</span><span class="p">,</span> <span class="n">Iterator</span><span class="p">,</span> <span class="n">Sequence</span><span class="p">,</span> <span class="n">Union</span><span class="p">,</span> <span class="n">Awaitable</span>
 
 
 <span class="kn">import</span> <span class="nn">grpc</span>
 <span class="kn">import</span> <span class="nn">grpc</span>
 <span class="kn">from</span> <span class="nn">grpc._cython</span> <span class="kn">import</span> <span class="n">cygrpc</span>
 <span class="kn">from</span> <span class="nn">grpc._cython</span> <span class="kn">import</span> <span class="n">cygrpc</span>
@@ -119,6 +119,34 @@
 <span class="n">_LOCAL_CANCELLATION_DETAILS</span> <span class="o">=</span> <span class="s1">&#39;Locally cancelled by application!&#39;</span>
 <span class="n">_LOCAL_CANCELLATION_DETAILS</span> <span class="o">=</span> <span class="s1">&#39;Locally cancelled by application!&#39;</span>
 
 
 
 
+<span class="k">class</span> <span class="nc">ServerInterceptor</span><span class="p">(</span><span class="n">metaclass</span><span class="o">=</span><span class="n">ABCMeta</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Affords intercepting incoming RPCs on the service-side.</span>
+
+<span class="sd">    This is an EXPERIMENTAL API.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+    <span class="nd">@abstractmethod</span>
+    <span class="k">async</span> <span class="k">def</span> <span class="nf">intercept_service</span><span class="p">(</span>
+            <span class="bp">self</span><span class="p">,</span> <span class="n">continuation</span><span class="p">:</span> <span class="n">Callable</span><span class="p">[[</span><span class="n">grpc</span><span class="o">.</span><span class="n">HandlerCallDetails</span><span class="p">],</span> <span class="n">Awaitable</span><span class="p">[</span>
+                <span class="n">grpc</span><span class="o">.</span><span class="n">RpcMethodHandler</span><span class="p">]],</span>
+            <span class="n">handler_call_details</span><span class="p">:</span> <span class="n">grpc</span><span class="o">.</span><span class="n">HandlerCallDetails</span>
+    <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">grpc</span><span class="o">.</span><span class="n">RpcMethodHandler</span><span class="p">:</span>
+        <span class="sd">&quot;&quot;&quot;Intercepts incoming RPCs before handing them over to a handler.</span>
+
+<span class="sd">        Args:</span>
+<span class="sd">            continuation: A function that takes a HandlerCallDetails and</span>
+<span class="sd">                proceeds to invoke the next interceptor in the chain, if any,</span>
+<span class="sd">                or the RPC handler lookup logic, with the call details passed</span>
+<span class="sd">                as an argument, and returns an RpcMethodHandler instance if</span>
+<span class="sd">                the RPC is considered serviced, or None otherwise.</span>
+<span class="sd">            handler_call_details: A HandlerCallDetails describing the RPC.</span>
+
+<span class="sd">        Returns:</span>
+<span class="sd">            An RpcMethodHandler with which the RPC may be serviced if the</span>
+<span class="sd">            interceptor chooses to service this RPC, or None otherwise.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+
+
 <div class="viewcode-block" id="ClientCallDetails"><a class="viewcode-back" href="../../../../grpc_asyncio.html#grpc.experimental.aio.ClientCallDetails">[docs]</a><span class="k">class</span> <span class="nc">ClientCallDetails</span><span class="p">(</span>
 <div class="viewcode-block" id="ClientCallDetails"><a class="viewcode-back" href="../../../../grpc_asyncio.html#grpc.experimental.aio.ClientCallDetails">[docs]</a><span class="k">class</span> <span class="nc">ClientCallDetails</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="n">collections</span><span class="o">.</span><span class="n">namedtuple</span><span class="p">(</span>
             <span class="s1">&#39;ClientCallDetails&#39;</span><span class="p">,</span>
             <span class="s1">&#39;ClientCallDetails&#39;</span><span class="p">,</span>
@@ -221,10 +249,10 @@
                  <span class="n">loop</span><span class="p">:</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">AbstractEventLoop</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
                  <span class="n">loop</span><span class="p">:</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">AbstractEventLoop</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</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">_channel</span> <span class="o">=</span> <span class="n">channel</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_loop</span> <span class="o">=</span> <span class="n">loop</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_loop</span> <span class="o">=</span> <span class="n">loop</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_interceptors_task</span> <span class="o">=</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">ensure_future</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_invoke</span><span class="p">(</span>
-            <span class="n">interceptors</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">metadata</span><span class="p">,</span> <span class="n">credentials</span><span class="p">,</span>
-            <span class="n">wait_for_ready</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">request_serializer</span><span class="p">,</span> <span class="n">response_deserializer</span><span class="p">),</span>
-                                                        <span class="n">loop</span><span class="o">=</span><span class="n">loop</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_interceptors_task</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">create_task</span><span class="p">(</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_invoke</span><span class="p">(</span><span class="n">interceptors</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">metadata</span><span class="p">,</span> <span class="n">credentials</span><span class="p">,</span>
+                         <span class="n">wait_for_ready</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">request_serializer</span><span class="p">,</span>
+                         <span class="n">response_deserializer</span><span class="p">))</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_pending_add_done_callbacks</span> <span class="o">=</span> <span class="p">[]</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_pending_add_done_callbacks</span> <span class="o">=</span> <span class="p">[]</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_interceptors_task</span><span class="o">.</span><span class="n">add_done_callback</span><span class="p">(</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_interceptors_task</span><span class="o">.</span><span class="n">add_done_callback</span><span class="p">(</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">_fire_pending_add_done_callbacks</span><span class="p">)</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">_fire_pending_add_done_callbacks</span><span class="p">)</span>
@@ -389,7 +417,11 @@
     <span class="k">def</span> <span class="fm">__await__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
     <span class="k">def</span> <span class="fm">__await__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="n">call</span> <span class="o">=</span> <span class="k">yield from</span> <span class="bp">self</span><span class="o">.</span><span class="n">_interceptors_task</span><span class="o">.</span><span class="fm">__await__</span><span class="p">()</span>
         <span class="n">call</span> <span class="o">=</span> <span class="k">yield from</span> <span class="bp">self</span><span class="o">.</span><span class="n">_interceptors_task</span><span class="o">.</span><span class="fm">__await__</span><span class="p">()</span>
         <span class="n">response</span> <span class="o">=</span> <span class="k">yield from</span> <span class="n">call</span><span class="o">.</span><span class="fm">__await__</span><span class="p">()</span>
         <span class="n">response</span> <span class="o">=</span> <span class="k">yield from</span> <span class="n">call</span><span class="o">.</span><span class="fm">__await__</span><span class="p">()</span>
-        <span class="k">return</span> <span class="n">response</span></div>
+        <span class="k">return</span> <span class="n">response</span>
+
+<div class="viewcode-block" id="InterceptedUnaryUnaryCall.wait_for_connection"><a class="viewcode-back" href="../../../../grpc_asyncio.html#grpc.experimental.aio.InterceptedUnaryUnaryCall.wait_for_connection">[docs]</a>    <span class="k">async</span> <span class="k">def</span> <span class="nf">wait_for_connection</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+        <span class="n">call</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_interceptors_task</span>
+        <span class="k">return</span> <span class="k">await</span> <span class="n">call</span><span class="o">.</span><span class="n">wait_for_connection</span><span class="p">()</span></div></div>
 
 
 
 
 <span class="k">class</span> <span class="nc">UnaryUnaryCallResponse</span><span class="p">(</span><span class="n">_base_call</span><span class="o">.</span><span class="n">UnaryUnaryCall</span><span class="p">):</span>
 <span class="k">class</span> <span class="nc">UnaryUnaryCallResponse</span><span class="p">(</span><span class="n">_base_call</span><span class="o">.</span><span class="n">UnaryUnaryCall</span><span class="p">):</span>
@@ -435,6 +467,9 @@
             <span class="c1"># for telling the interpreter that __await__ is a generator.</span>
             <span class="c1"># for telling the interpreter that __await__ is a generator.</span>
             <span class="k">yield</span> <span class="kc">None</span>
             <span class="k">yield</span> <span class="kc">None</span>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_response</span>
         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_response</span>
+
+    <span class="k">async</span> <span class="k">def</span> <span class="nf">wait_for_connection</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+        <span class="k">pass</span>
 </pre></div>
 </pre></div>
 
 
           </div>
           </div>

+ 18 - 4
python/_modules/grpc/experimental/aio/_server.html

@@ -1,10 +1,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>grpc.experimental.aio._server &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>grpc.experimental.aio._server &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="../../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
     <script id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
     <script id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
@@ -29,7 +29,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 
@@ -112,6 +112,7 @@
 
 
 <span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">_base_server</span>
 <span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">_base_server</span>
 <span class="kn">from</span> <span class="nn">._typing</span> <span class="kn">import</span> <span class="n">ChannelArgumentType</span>
 <span class="kn">from</span> <span class="nn">._typing</span> <span class="kn">import</span> <span class="n">ChannelArgumentType</span>
+<span class="kn">from</span> <span class="nn">._interceptor</span> <span class="kn">import</span> <span class="n">ServerInterceptor</span>
 
 
 
 
 <span class="k">def</span> <span class="nf">_augment_channel_arguments</span><span class="p">(</span><span class="n">base_options</span><span class="p">:</span> <span class="n">ChannelArgumentType</span><span class="p">,</span>
 <span class="k">def</span> <span class="nf">_augment_channel_arguments</span><span class="p">(</span><span class="n">base_options</span><span class="p">:</span> <span class="n">ChannelArgumentType</span><span class="p">,</span>
@@ -130,6 +131,15 @@
                  <span class="n">maximum_concurrent_rpcs</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">int</span><span class="p">],</span>
                  <span class="n">maximum_concurrent_rpcs</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">int</span><span class="p">],</span>
                  <span class="n">compression</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">grpc</span><span class="o">.</span><span class="n">Compression</span><span class="p">]):</span>
                  <span class="n">compression</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">grpc</span><span class="o">.</span><span class="n">Compression</span><span class="p">]):</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_loop</span> <span class="o">=</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">get_event_loop</span><span class="p">()</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_loop</span> <span class="o">=</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">get_event_loop</span><span class="p">()</span>
+        <span class="k">if</span> <span class="n">interceptors</span><span class="p">:</span>
+            <span class="n">invalid_interceptors</span> <span class="o">=</span> <span class="p">[</span>
+                <span class="n">interceptor</span> <span class="k">for</span> <span class="n">interceptor</span> <span class="ow">in</span> <span class="n">interceptors</span>
+                <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">interceptor</span><span class="p">,</span> <span class="n">ServerInterceptor</span><span class="p">)</span>
+            <span class="p">]</span>
+            <span class="k">if</span> <span class="n">invalid_interceptors</span><span class="p">:</span>
+                <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
+                    <span class="s1">&#39;Interceptor must be ServerInterceptor, the &#39;</span>
+                    <span class="sa">f</span><span class="s1">&#39;following are invalid: </span><span class="si">{</span><span class="n">invalid_interceptors</span><span class="si">}</span><span class="s1">&#39;</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">cygrpc</span><span class="o">.</span><span class="n">AioServer</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">cygrpc</span><span class="o">.</span><span class="n">AioServer</span><span class="p">(</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">_loop</span><span class="p">,</span> <span class="n">thread_pool</span><span class="p">,</span> <span class="n">generic_handlers</span><span class="p">,</span> <span class="n">interceptors</span><span class="p">,</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">_loop</span><span class="p">,</span> <span class="n">thread_pool</span><span class="p">,</span> <span class="n">generic_handlers</span><span class="p">,</span> <span class="n">interceptors</span><span class="p">,</span>
             <span class="n">_augment_channel_arguments</span><span class="p">(</span><span class="n">options</span><span class="p">,</span> <span class="n">compression</span><span class="p">),</span>
             <span class="n">_augment_channel_arguments</span><span class="p">(</span><span class="n">options</span><span class="p">,</span> <span class="n">compression</span><span class="p">),</span>
@@ -241,7 +251,11 @@
 <span class="sd">        The Cython AioServer doesn&#39;t hold a ref-count to this class. It should</span>
 <span class="sd">        The Cython AioServer doesn&#39;t hold a ref-count to this class. It should</span>
 <span class="sd">        be safe to slightly extend the underlying Cython object&#39;s life span.</span>
 <span class="sd">        be safe to slightly extend the underlying Cython object&#39;s life span.</span>
 <span class="sd">        &quot;&quot;&quot;</span>
 <span class="sd">        &quot;&quot;&quot;</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_loop</span><span class="o">.</span><span class="n">create_task</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">shutdown</span><span class="p">(</span><span class="kc">None</span><span class="p">))</span>
+        <span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s1">&#39;_server&#39;</span><span class="p">):</span>
+            <span class="n">cygrpc</span><span class="o">.</span><span class="n">schedule_coro_threadsafe</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">shutdown</span><span class="p">(</span><span class="kc">None</span><span class="p">),</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">_loop</span><span class="p">,</span>
+            <span class="p">)</span>
 
 
 
 
 <div class="viewcode-block" id="server"><a class="viewcode-back" href="../../../../grpc_asyncio.html#grpc.experimental.aio.server">[docs]</a><span class="k">def</span> <span class="nf">server</span><span class="p">(</span><span class="n">migration_thread_pool</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Executor</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
 <div class="viewcode-block" id="server"><a class="viewcode-back" href="../../../../grpc_asyncio.html#grpc.experimental.aio.server">[docs]</a><span class="k">def</span> <span class="nf">server</span><span class="p">(</span><span class="n">migration_thread_pool</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Executor</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>

+ 3 - 3
python/_modules/grpc_channelz/v1/channelz.html

@@ -1,10 +1,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>grpc_channelz.v1.channelz &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>grpc_channelz.v1.channelz &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
     <script id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
     <script id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
@@ -29,7 +29,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 

+ 4 - 4
python/_modules/grpc_health/v1/health.html

@@ -1,10 +1,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>grpc_health.v1.health &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>grpc_health.v1.health &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
     <script id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
     <script id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
@@ -29,7 +29,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 
@@ -172,7 +172,7 @@
                  <span class="n">experimental_non_blocking</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
                  <span class="n">experimental_non_blocking</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
                  <span class="n">experimental_thread_pool</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
                  <span class="n">experimental_thread_pool</span><span class="o">=</span><span class="kc">None</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">RLock</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">RLock</span><span class="p">()</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">_server_status</span> <span class="o">=</span> <span class="p">{}</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">_server_status</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;&quot;</span><span class="p">:</span> <span class="n">_health_pb2</span><span class="o">.</span><span class="n">HealthCheckResponse</span><span class="o">.</span><span class="n">SERVING</span><span class="p">}</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_send_response_callbacks</span> <span class="o">=</span> <span class="p">{}</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">_send_response_callbacks</span> <span class="o">=</span> <span class="p">{}</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">Watch</span><span class="o">.</span><span class="vm">__func__</span><span class="o">.</span><span class="n">experimental_non_blocking</span> <span class="o">=</span> <span class="n">experimental_non_blocking</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">Watch</span><span class="o">.</span><span class="vm">__func__</span><span class="o">.</span><span class="n">experimental_non_blocking</span> <span class="o">=</span> <span class="n">experimental_non_blocking</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">Watch</span><span class="o">.</span><span class="vm">__func__</span><span class="o">.</span><span class="n">experimental_thread_pool</span> <span class="o">=</span> <span class="n">experimental_thread_pool</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">Watch</span><span class="o">.</span><span class="vm">__func__</span><span class="o">.</span><span class="n">experimental_thread_pool</span> <span class="o">=</span> <span class="n">experimental_thread_pool</span>

+ 3 - 3
python/_modules/grpc_reflection/v1alpha/reflection.html

@@ -1,10 +1,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>grpc_reflection.v1alpha.reflection &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>grpc_reflection.v1alpha.reflection &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
     <script id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
     <script id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
@@ -29,7 +29,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 

+ 3 - 3
python/_modules/grpc_status/rpc_status.html

@@ -1,10 +1,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>grpc_status.rpc_status &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>grpc_status.rpc_status &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
     <script id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
     <script id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
@@ -29,7 +29,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 

+ 3 - 3
python/_modules/grpc_testing.html

@@ -1,10 +1,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>grpc_testing &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>grpc_testing &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
     <script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
     <script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
@@ -29,7 +29,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 

+ 3 - 3
python/_modules/index.html

@@ -1,10 +1,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>Overview: module code &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>Overview: module code &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
     <script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
     <script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
@@ -29,7 +29,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 

+ 13 - 0
python/_sources/glossary.rst.txt

@@ -14,3 +14,16 @@ Glossary
 
 
   metadata
   metadata
     A sequence of metadatum.
     A sequence of metadatum.
+
+  serializer
+    A callable function that encodes an object into bytes. Applications are
+    allowed to provide any customized serializer, so there isn't a restriction
+    for the input object (i.e. even ``None``). On the server-side, the
+    serializer is invoked with server handler's return value; on the
+    client-side, the serializer is invoked with outbound message objects.
+
+  deserializer
+    A callable function that decodes bytes into an object. Same as serializer,
+    the returned object doesn't have restrictions (i.e. ``None`` allowed). The
+    deserializer is invoked with inbound message bytes on both the server side
+    and the client-side.

+ 2 - 1
python/_static/documentation_options.js

@@ -1,10 +1,11 @@
 var DOCUMENTATION_OPTIONS = {
 var DOCUMENTATION_OPTIONS = {
     URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
     URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
-    VERSION: '1.28.1',
+    VERSION: '1.29.0',
     LANGUAGE: 'en',
     LANGUAGE: 'en',
     COLLAPSE_INDEX: false,
     COLLAPSE_INDEX: false,
     BUILDER: 'html',
     BUILDER: 'html',
     FILE_SUFFIX: '.html',
     FILE_SUFFIX: '.html',
+    LINK_SUFFIX: '.html',
     HAS_SOURCE: true,
     HAS_SOURCE: true,
     SOURCELINK_SUFFIX: '.txt',
     SOURCELINK_SUFFIX: '.txt',
     NAVIGATION_WITH_KEYS: false
     NAVIGATION_WITH_KEYS: false

+ 4 - 1
python/_static/searchtools.js

@@ -251,6 +251,7 @@ var Search = {
         var item = results.pop();
         var item = results.pop();
         var listItem = $('<li style="display:none"></li>');
         var listItem = $('<li style="display:none"></li>');
         var requestUrl = "";
         var requestUrl = "";
+        var linkUrl = "";
         if (DOCUMENTATION_OPTIONS.BUILDER === 'dirhtml') {
         if (DOCUMENTATION_OPTIONS.BUILDER === 'dirhtml') {
           // dirhtml builder
           // dirhtml builder
           var dirname = item[0] + '/';
           var dirname = item[0] + '/';
@@ -260,13 +261,15 @@ var Search = {
             dirname = '';
             dirname = '';
           }
           }
           requestUrl = DOCUMENTATION_OPTIONS.URL_ROOT + dirname;
           requestUrl = DOCUMENTATION_OPTIONS.URL_ROOT + dirname;
+          linkUrl = requestUrl;
 
 
         } else {
         } else {
           // normal html builders
           // normal html builders
           requestUrl = DOCUMENTATION_OPTIONS.URL_ROOT + item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX;
           requestUrl = DOCUMENTATION_OPTIONS.URL_ROOT + item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX;
+          linkUrl = item[0] + DOCUMENTATION_OPTIONS.LINK_SUFFIX;
         }
         }
         listItem.append($('<a/>').attr('href',
         listItem.append($('<a/>').attr('href',
-            requestUrl +
+            linkUrl +
             highlightstring + item[2]).html(item[1]));
             highlightstring + item[2]).html(item[1]));
         if (item[3]) {
         if (item[3]) {
           listItem.append($('<span> (' + item[3] + ')</span>'));
           listItem.append($('<span> (' + item[3] + ')</span>'));

+ 78 - 15
python/genindex.html

@@ -2,10 +2,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>Index &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>Index &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
     <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
@@ -30,7 +30,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 
@@ -151,6 +151,12 @@
 </li>
 </li>
       </ul></li>
       </ul></li>
   </ul></td>
   </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="grpc.html#grpc.Channel.__enter__">__enter__() (grpc.Channel method)</a>
+</li>
+      <li><a href="grpc.html#grpc.Channel.__exit__">__exit__() (grpc.Channel method)</a>
+</li>
+  </ul></td>
 </tr></table>
 </tr></table>
 
 
 <h2 id="A">A</h2>
 <h2 id="A">A</h2>
@@ -347,6 +353,8 @@
       <li><a href="grpc_asyncio.html#grpc.experimental.aio.AioRpcError.debug_error_string">debug_error_string() (grpc.experimental.aio.AioRpcError method)</a>
       <li><a href="grpc_asyncio.html#grpc.experimental.aio.AioRpcError.debug_error_string">debug_error_string() (grpc.experimental.aio.AioRpcError method)</a>
 </li>
 </li>
       <li><a href="grpc.html#grpc.Compression.Deflate">Deflate (grpc.Compression attribute)</a>
       <li><a href="grpc.html#grpc.Compression.Deflate">Deflate (grpc.Compression attribute)</a>
+</li>
+      <li><a href="glossary.html#term-deserializer"><strong>deserializer</strong></a>
 </li>
 </li>
       <li><a href="grpc.html#grpc.Call.details">details() (grpc.Call method)</a>
       <li><a href="grpc.html#grpc.Call.details">details() (grpc.Call method)</a>
 
 
@@ -442,22 +450,52 @@
 </li>
 </li>
       <li><a href="grpc_channelz.html#grpc_channelz.v1.channelz.ChannelzServicer.GetSubchannel">GetSubchannel() (grpc_channelz.v1.channelz.ChannelzServicer static method)</a>
       <li><a href="grpc_channelz.html#grpc_channelz.v1.channelz.ChannelzServicer.GetSubchannel">GetSubchannel() (grpc_channelz.v1.channelz.ChannelzServicer static method)</a>
 </li>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="grpc_channelz.html#grpc_channelz.v1.channelz.ChannelzServicer.GetTopChannels">GetTopChannels() (grpc_channelz.v1.channelz.ChannelzServicer static method)</a>
       <li><a href="grpc_channelz.html#grpc_channelz.v1.channelz.ChannelzServicer.GetTopChannels">GetTopChannels() (grpc_channelz.v1.channelz.ChannelzServicer static method)</a>
 </li>
 </li>
-      <li><a href="grpc.html#module-grpc">grpc (module)</a>
+      <li>
+    grpc
+
+      <ul>
+        <li><a href="grpc.html#module-grpc">module</a>
 </li>
 </li>
-      <li><a href="grpc_asyncio.html#module-grpc.experimental.aio">grpc.experimental.aio (module)</a>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    grpc.experimental.aio
+
+      <ul>
+        <li><a href="grpc_asyncio.html#module-grpc.experimental.aio">module</a>
 </li>
 </li>
-      <li><a href="grpc_channelz.html#module-grpc_channelz.v1.channelz">grpc_channelz.v1.channelz (module)</a>
+      </ul></li>
+      <li>
+    grpc_channelz.v1.channelz
+
+      <ul>
+        <li><a href="grpc_channelz.html#module-grpc_channelz.v1.channelz">module</a>
 </li>
 </li>
-      <li><a href="grpc_reflection.html#module-grpc_reflection.v1alpha.reflection">grpc_reflection.v1alpha.reflection (module)</a>
+      </ul></li>
+      <li>
+    grpc_reflection.v1alpha.reflection
+
+      <ul>
+        <li><a href="grpc_reflection.html#module-grpc_reflection.v1alpha.reflection">module</a>
 </li>
 </li>
-      <li><a href="grpc_status.html#module-grpc_status.rpc_status">grpc_status.rpc_status (module)</a>
+      </ul></li>
+      <li>
+    grpc_status.rpc_status
+
+      <ul>
+        <li><a href="grpc_status.html#module-grpc_status.rpc_status">module</a>
 </li>
 </li>
-      <li><a href="grpc_testing.html#module-grpc_testing">grpc_testing (module)</a>
+      </ul></li>
+      <li>
+    grpc_testing
+
+      <ul>
+        <li><a href="grpc_testing.html#module-grpc_testing">module</a>
 </li>
 </li>
+      </ul></li>
       <li><a href="grpc.html#grpc.Compression.Gzip">Gzip (grpc.Compression attribute)</a>
       <li><a href="grpc.html#grpc.Compression.Gzip">Gzip (grpc.Compression attribute)</a>
 </li>
 </li>
   </ul></td>
   </ul></td>
@@ -582,8 +620,6 @@
 </li>
 </li>
       <li><a href="glossary.html#term-metadatum"><strong>metadatum</strong></a>
       <li><a href="glossary.html#term-metadatum"><strong>metadatum</strong></a>
 </li>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="grpc.html#grpc.ClientCallDetails.method">method (grpc.ClientCallDetails attribute)</a>
       <li><a href="grpc.html#grpc.ClientCallDetails.method">method (grpc.ClientCallDetails attribute)</a>
 
 
       <ul>
       <ul>
@@ -592,8 +628,27 @@
       </ul></li>
       </ul></li>
       <li><a href="grpc.html#grpc.method_handlers_generic_handler">method_handlers_generic_handler() (in module grpc)</a>
       <li><a href="grpc.html#grpc.method_handlers_generic_handler">method_handlers_generic_handler() (in module grpc)</a>
 </li>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="grpc.html#grpc.AuthMetadataContext.method_name">method_name (grpc.AuthMetadataContext attribute)</a>
       <li><a href="grpc.html#grpc.AuthMetadataContext.method_name">method_name (grpc.AuthMetadataContext attribute)</a>
 </li>
 </li>
+      <li>
+    module
+
+      <ul>
+        <li><a href="grpc.html#module-grpc">grpc</a>
+</li>
+        <li><a href="grpc_asyncio.html#module-grpc.experimental.aio">grpc.experimental.aio</a>
+</li>
+        <li><a href="grpc_channelz.html#module-grpc_channelz.v1.channelz">grpc_channelz.v1.channelz</a>
+</li>
+        <li><a href="grpc_reflection.html#module-grpc_reflection.v1alpha.reflection">grpc_reflection.v1alpha.reflection</a>
+</li>
+        <li><a href="grpc_status.html#module-grpc_status.rpc_status">grpc_status.rpc_status</a>
+</li>
+        <li><a href="grpc_testing.html#module-grpc_testing">grpc_testing</a>
+</li>
+      </ul></li>
   </ul></td>
   </ul></td>
 </tr></table>
 </tr></table>
 
 
@@ -722,6 +777,8 @@
         <li><a href="grpc_testing.html#grpc_testing.UnaryStreamChannelRpc.send_response">(grpc_testing.UnaryStreamChannelRpc method)</a>
         <li><a href="grpc_testing.html#grpc_testing.UnaryStreamChannelRpc.send_response">(grpc_testing.UnaryStreamChannelRpc method)</a>
 </li>
 </li>
       </ul></li>
       </ul></li>
+      <li><a href="glossary.html#term-serializer"><strong>serializer</strong></a>
+</li>
       <li><a href="grpc.html#grpc.Server">Server (class in grpc)</a>
       <li><a href="grpc.html#grpc.Server">Server (class in grpc)</a>
 
 
       <ul>
       <ul>
@@ -1026,6 +1083,12 @@
 <h2 id="W">W</h2>
 <h2 id="W">W</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="grpc_asyncio.html#grpc.experimental.aio.Call.wait_for_connection">wait_for_connection() (grpc.experimental.aio.Call method)</a>
+
+      <ul>
+        <li><a href="grpc_asyncio.html#grpc.experimental.aio.InterceptedUnaryUnaryCall.wait_for_connection">(grpc.experimental.aio.InterceptedUnaryUnaryCall method)</a>
+</li>
+      </ul></li>
       <li><a href="grpc.html#grpc.ClientCallDetails.wait_for_ready">wait_for_ready (grpc.ClientCallDetails attribute)</a>
       <li><a href="grpc.html#grpc.ClientCallDetails.wait_for_ready">wait_for_ready (grpc.ClientCallDetails attribute)</a>
 </li>
 </li>
       <li><a href="grpc_asyncio.html#grpc.experimental.aio.Channel.wait_for_state_change">wait_for_state_change() (grpc.experimental.aio.Channel method)</a>
       <li><a href="grpc_asyncio.html#grpc.experimental.aio.Channel.wait_for_state_change">wait_for_state_change() (grpc.experimental.aio.Channel method)</a>
@@ -1036,10 +1099,10 @@
         <li><a href="grpc.html#grpc.Server.wait_for_termination">(grpc.Server method)</a>
         <li><a href="grpc.html#grpc.Server.wait_for_termination">(grpc.Server method)</a>
 </li>
 </li>
       </ul></li>
       </ul></li>
-      <li><a href="grpc_health_checking.html#grpc_health.v1.health.HealthServicer.Watch">Watch() (grpc_health.v1.health.HealthServicer method)</a>
-</li>
   </ul></td>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="grpc_health_checking.html#grpc_health.v1.health.HealthServicer.Watch">Watch() (grpc_health.v1.health.HealthServicer method)</a>
+</li>
       <li><a href="grpc.html#grpc.StreamUnaryMultiCallable.with_call">with_call() (grpc.StreamUnaryMultiCallable method)</a>
       <li><a href="grpc.html#grpc.StreamUnaryMultiCallable.with_call">with_call() (grpc.StreamUnaryMultiCallable method)</a>
 
 
       <ul>
       <ul>

+ 14 - 3
python/glossary.html

@@ -1,10 +1,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>Glossary &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>Glossary &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
     <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
@@ -30,7 +30,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 
@@ -97,6 +97,17 @@ the key must end with ‘-bin’, i.e.
 </dd>
 </dd>
 <dt id="term-metadata">metadata</dt><dd><p>A sequence of metadatum.</p>
 <dt id="term-metadata">metadata</dt><dd><p>A sequence of metadatum.</p>
 </dd>
 </dd>
+<dt id="term-serializer">serializer</dt><dd><p>A callable function that encodes an object into bytes. Applications are
+allowed to provide any customized serializer, so there isn’t a restriction
+for the input object (i.e. even <code class="docutils literal notranslate"><span class="pre">None</span></code>). On the server-side, the
+serializer is invoked with server handler’s return value; on the
+client-side, the serializer is invoked with outbound message objects.</p>
+</dd>
+<dt id="term-deserializer">deserializer</dt><dd><p>A callable function that decodes bytes into an object. Same as serializer,
+the returned object doesn’t have restrictions (i.e. <code class="docutils literal notranslate"><span class="pre">None</span></code> allowed). The
+deserializer is invoked with inbound message bytes on both the server side
+and the client-side.</p>
+</dd>
 </dl>
 </dl>
 </div>
 </div>
 
 

File diff suppressed because it is too large
+ 169 - 157
python/grpc.html


+ 172 - 140
python/grpc_asyncio.html

@@ -1,10 +1,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>gRPC AsyncIO API &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>gRPC AsyncIO API &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
     <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
@@ -31,7 +31,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 
@@ -125,7 +125,7 @@ created. AsyncIO doesn’t provide thread safety for most of its APIs.</p>
 <h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
 <h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
 <div class="section" id="enable-asyncio-in-grpc">
 <div class="section" id="enable-asyncio-in-grpc">
 <h3>Enable AsyncIO in gRPC<a class="headerlink" href="#enable-asyncio-in-grpc" title="Permalink to this headline">¶</a></h3>
 <h3>Enable AsyncIO in gRPC<a class="headerlink" href="#enable-asyncio-in-grpc" title="Permalink to this headline">¶</a></h3>
-<dl class="function">
+<dl class="py function">
 <dt id="grpc.experimental.aio.init_grpc_aio">
 <dt id="grpc.experimental.aio.init_grpc_aio">
 <code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">init_grpc_aio</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#grpc.experimental.aio.init_grpc_aio" title="Permalink to this definition">¶</a></dt>
 <code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">init_grpc_aio</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#grpc.experimental.aio.init_grpc_aio" title="Permalink to this definition">¶</a></dt>
 <dd><p>Enable AsyncIO for gRPC Python.</p>
 <dd><p>Enable AsyncIO for gRPC Python.</p>
@@ -148,9 +148,9 @@ happens, for example, managing one or more underlying connections, name
 resolution, load balancing, flow control, etc.. If you are using ProtoBuf,
 resolution, load balancing, flow control, etc.. If you are using ProtoBuf,
 Channel objects works best when further encapsulate into stub objects, then the
 Channel objects works best when further encapsulate into stub objects, then the
 application can invoke remote functions as if they are local functions.</p>
 application can invoke remote functions as if they are local functions.</p>
-<dl class="function">
+<dl class="py function">
 <dt id="grpc.experimental.aio.insecure_channel">
 <dt id="grpc.experimental.aio.insecure_channel">
-<code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">insecure_channel</code><span class="sig-paren">(</span><em class="sig-param">target</em>, <em class="sig-param">options=None</em>, <em class="sig-param">compression=None</em>, <em class="sig-param">interceptors=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_channel.html#insecure_channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.insecure_channel" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">insecure_channel</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">target</span></em>, <em class="sig-param"><span class="n">options</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">compression</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">interceptors</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_channel.html#insecure_channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.insecure_channel" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates an insecure asynchronous Channel to a server.</p>
 <dd><p>Creates an insecure asynchronous Channel to a server.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -170,9 +170,9 @@ any call executed with this channel.</p></li>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="function">
+<dl class="py function">
 <dt id="grpc.experimental.aio.secure_channel">
 <dt id="grpc.experimental.aio.secure_channel">
-<code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">secure_channel</code><span class="sig-paren">(</span><em class="sig-param">target</em>, <em class="sig-param">credentials</em>, <em class="sig-param">options=None</em>, <em class="sig-param">compression=None</em>, <em class="sig-param">interceptors=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_channel.html#secure_channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.secure_channel" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">secure_channel</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">target</span></em>, <em class="sig-param"><span class="n">credentials</span></em>, <em class="sig-param"><span class="n">options</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">compression</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">interceptors</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_channel.html#secure_channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.secure_channel" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates a secure asynchronous Channel to a server.</p>
 <dd><p>Creates a secure asynchronous Channel to a server.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -196,14 +196,14 @@ any call executed with this channel.</p></li>
 </div>
 </div>
 <div class="section" id="channel-object">
 <div class="section" id="channel-object">
 <h3>Channel Object<a class="headerlink" href="#channel-object" title="Permalink to this headline">¶</a></h3>
 <h3>Channel Object<a class="headerlink" href="#channel-object" title="Permalink to this headline">¶</a></h3>
-<dl class="class">
+<dl class="py class">
 <dt id="grpc.experimental.aio.Channel">
 <dt id="grpc.experimental.aio.Channel">
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">Channel</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#Channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Channel" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">Channel</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#Channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Channel" title="Permalink to this definition">¶</a></dt>
 <dd><p>Enables asynchronous RPC invocation as a client.</p>
 <dd><p>Enables asynchronous RPC invocation as a client.</p>
 <p>Channel objects implement the Asynchronous Context Manager (aka. async
 <p>Channel objects implement the Asynchronous Context Manager (aka. async
 with) type, although they are not supportted to be entered and exited
 with) type, although they are not supportted to be entered and exited
 multiple times.</p>
 multiple times.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.Channel.__aenter__">
 <dt id="grpc.experimental.aio.Channel.__aenter__">
 <em class="property">abstract async </em><code class="sig-name descname">__aenter__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#Channel.__aenter__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Channel.__aenter__" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract async </em><code class="sig-name descname">__aenter__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#Channel.__aenter__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Channel.__aenter__" title="Permalink to this definition">¶</a></dt>
 <dd><p>Starts an asynchronous context manager.</p>
 <dd><p>Starts an asynchronous context manager.</p>
@@ -214,14 +214,14 @@ multiple times.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.Channel.__aexit__">
 <dt id="grpc.experimental.aio.Channel.__aexit__">
-<em class="property">abstract async </em><code class="sig-name descname">__aexit__</code><span class="sig-paren">(</span><em class="sig-param">exc_type</em>, <em class="sig-param">exc_val</em>, <em class="sig-param">exc_tb</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#Channel.__aexit__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Channel.__aexit__" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract async </em><code class="sig-name descname">__aexit__</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">exc_type</span></em>, <em class="sig-param"><span class="n">exc_val</span></em>, <em class="sig-param"><span class="n">exc_tb</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#Channel.__aexit__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Channel.__aexit__" title="Permalink to this definition">¶</a></dt>
 <dd><p>Finishes the asynchronous context manager by closing the channel.</p>
 <dd><p>Finishes the asynchronous context manager by closing the channel.</p>
 <p>Still active RPCs will be cancelled.</p>
 <p>Still active RPCs will be cancelled.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.Channel.channel_ready">
 <dt id="grpc.experimental.aio.Channel.channel_ready">
 <em class="property">abstract async </em><code class="sig-name descname">channel_ready</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#Channel.channel_ready"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Channel.channel_ready" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract async </em><code class="sig-name descname">channel_ready</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#Channel.channel_ready"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Channel.channel_ready" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates a coroutine that blocks until the Channel is READY.</p>
 <dd><p>Creates a coroutine that blocks until the Channel is READY.</p>
@@ -232,9 +232,9 @@ multiple times.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.Channel.close">
 <dt id="grpc.experimental.aio.Channel.close">
-<em class="property">abstract async </em><code class="sig-name descname">close</code><span class="sig-paren">(</span><em class="sig-param">grace=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#Channel.close"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Channel.close" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract async </em><code class="sig-name descname">close</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">grace</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#Channel.close"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Channel.close" title="Permalink to this definition">¶</a></dt>
 <dd><p>Closes this Channel and releases all resources held by it.</p>
 <dd><p>Closes this Channel and releases all resources held by it.</p>
 <p>This method immediately stops the channel from executing new RPCs in
 <p>This method immediately stops the channel from executing new RPCs in
 all cases.</p>
 all cases.</p>
@@ -250,9 +250,9 @@ been terminated are cancelled. If a grace period is not specified
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.Channel.get_state">
 <dt id="grpc.experimental.aio.Channel.get_state">
-<em class="property">abstract </em><code class="sig-name descname">get_state</code><span class="sig-paren">(</span><em class="sig-param">try_to_connect=False</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#Channel.get_state"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Channel.get_state" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">get_state</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">try_to_connect</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#Channel.get_state"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Channel.get_state" title="Permalink to this definition">¶</a></dt>
 <dd><p>Checks the connectivity state of a channel.</p>
 <dd><p>Checks the connectivity state of a channel.</p>
 <p>This is an EXPERIMENTAL API.</p>
 <p>This is an EXPERIMENTAL API.</p>
 <p>If the channel reaches a stable connectivity state, it is guaranteed
 <p>If the channel reaches a stable connectivity state, it is guaranteed
@@ -270,17 +270,17 @@ connect to peer or not.</p>
 <p>Returns: A ChannelConnectivity object.</p>
 <p>Returns: A ChannelConnectivity object.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.Channel.stream_stream">
 <dt id="grpc.experimental.aio.Channel.stream_stream">
-<em class="property">abstract </em><code class="sig-name descname">stream_stream</code><span class="sig-paren">(</span><em class="sig-param">method</em>, <em class="sig-param">request_serializer=None</em>, <em class="sig-param">response_deserializer=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#Channel.stream_stream"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Channel.stream_stream" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">stream_stream</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">method</span></em>, <em class="sig-param"><span class="n">request_serializer</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">response_deserializer</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#Channel.stream_stream"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Channel.stream_stream" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates a StreamStreamMultiCallable for a stream-stream method.</p>
 <dd><p>Creates a StreamStreamMultiCallable for a stream-stream method.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
 <dd class="field-odd"><ul class="simple">
 <li><p><strong>method</strong> (<em>str</em>) – The name of the RPC method.</p></li>
 <li><p><strong>method</strong> (<em>str</em>) – The name of the RPC method.</p></li>
-<li><p><strong>request_serializer</strong> (<em>Optional</em><em>[</em><em>Callable</em><em>[</em><em>[</em><em>Any</em><em>]</em><em>, </em><em>bytes</em><em>]</em><em>]</em>) – Optional behaviour for serializing the request
+<li><p><strong>request_serializer</strong> (<em>Optional</em><em>[</em><em>Callable</em><em>[</em><em>[</em><em>Any</em><em>]</em><em>, </em><em>bytes</em><em>]</em><em>]</em>) – Optional <a class="reference internal" href="glossary.html#term-serializer"><span class="xref std std-term">serializer</span></a> for serializing the request
 message. Request goes unserialized in case None is passed.</p></li>
 message. Request goes unserialized in case None is passed.</p></li>
-<li><p><strong>response_deserializer</strong> (<em>Optional</em><em>[</em><em>Callable</em><em>[</em><em>[</em><em>bytes</em><em>]</em><em>, </em><em>Any</em><em>]</em><em>]</em>) – Optional behaviour for deserializing the
+<li><p><strong>response_deserializer</strong> (<em>Optional</em><em>[</em><em>Callable</em><em>[</em><em>[</em><em>bytes</em><em>]</em><em>, </em><em>Any</em><em>]</em><em>]</em>) – Optional <a class="reference internal" href="glossary.html#term-deserializer"><span class="xref std std-term">deserializer</span></a> for deserializing the
 response message. Response goes undeserialized in case None
 response message. Response goes undeserialized in case None
 is passed.</p></li>
 is passed.</p></li>
 </ul>
 </ul>
@@ -294,17 +294,17 @@ is passed.</p></li>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.Channel.stream_unary">
 <dt id="grpc.experimental.aio.Channel.stream_unary">
-<em class="property">abstract </em><code class="sig-name descname">stream_unary</code><span class="sig-paren">(</span><em class="sig-param">method</em>, <em class="sig-param">request_serializer=None</em>, <em class="sig-param">response_deserializer=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#Channel.stream_unary"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Channel.stream_unary" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">stream_unary</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">method</span></em>, <em class="sig-param"><span class="n">request_serializer</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">response_deserializer</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#Channel.stream_unary"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Channel.stream_unary" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates a StreamUnaryMultiCallable for a stream-unary method.</p>
 <dd><p>Creates a StreamUnaryMultiCallable for a stream-unary method.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
 <dd class="field-odd"><ul class="simple">
 <li><p><strong>method</strong> (<em>str</em>) – The name of the RPC method.</p></li>
 <li><p><strong>method</strong> (<em>str</em>) – The name of the RPC method.</p></li>
-<li><p><strong>request_serializer</strong> (<em>Optional</em><em>[</em><em>Callable</em><em>[</em><em>[</em><em>Any</em><em>]</em><em>, </em><em>bytes</em><em>]</em><em>]</em>) – Optional behaviour for serializing the request
+<li><p><strong>request_serializer</strong> (<em>Optional</em><em>[</em><em>Callable</em><em>[</em><em>[</em><em>Any</em><em>]</em><em>, </em><em>bytes</em><em>]</em><em>]</em>) – Optional <a class="reference internal" href="glossary.html#term-serializer"><span class="xref std std-term">serializer</span></a> for serializing the request
 message. Request goes unserialized in case None is passed.</p></li>
 message. Request goes unserialized in case None is passed.</p></li>
-<li><p><strong>response_deserializer</strong> (<em>Optional</em><em>[</em><em>Callable</em><em>[</em><em>[</em><em>bytes</em><em>]</em><em>, </em><em>Any</em><em>]</em><em>]</em>) – Optional behaviour for deserializing the
+<li><p><strong>response_deserializer</strong> (<em>Optional</em><em>[</em><em>Callable</em><em>[</em><em>[</em><em>bytes</em><em>]</em><em>, </em><em>Any</em><em>]</em><em>]</em>) – Optional <a class="reference internal" href="glossary.html#term-deserializer"><span class="xref std std-term">deserializer</span></a> for deserializing the
 response message. Response goes undeserialized in case None
 response message. Response goes undeserialized in case None
 is passed.</p></li>
 is passed.</p></li>
 </ul>
 </ul>
@@ -318,17 +318,17 @@ is passed.</p></li>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.Channel.unary_stream">
 <dt id="grpc.experimental.aio.Channel.unary_stream">
-<em class="property">abstract </em><code class="sig-name descname">unary_stream</code><span class="sig-paren">(</span><em class="sig-param">method</em>, <em class="sig-param">request_serializer=None</em>, <em class="sig-param">response_deserializer=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#Channel.unary_stream"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Channel.unary_stream" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">unary_stream</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">method</span></em>, <em class="sig-param"><span class="n">request_serializer</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">response_deserializer</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#Channel.unary_stream"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Channel.unary_stream" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates a UnaryStreamMultiCallable for a unary-stream method.</p>
 <dd><p>Creates a UnaryStreamMultiCallable for a unary-stream method.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
 <dd class="field-odd"><ul class="simple">
 <li><p><strong>method</strong> (<em>str</em>) – The name of the RPC method.</p></li>
 <li><p><strong>method</strong> (<em>str</em>) – The name of the RPC method.</p></li>
-<li><p><strong>request_serializer</strong> (<em>Optional</em><em>[</em><em>Callable</em><em>[</em><em>[</em><em>Any</em><em>]</em><em>, </em><em>bytes</em><em>]</em><em>]</em>) – Optional behaviour for serializing the request
+<li><p><strong>request_serializer</strong> (<em>Optional</em><em>[</em><em>Callable</em><em>[</em><em>[</em><em>Any</em><em>]</em><em>, </em><em>bytes</em><em>]</em><em>]</em>) – Optional <a class="reference internal" href="glossary.html#term-serializer"><span class="xref std std-term">serializer</span></a> for serializing the request
 message. Request goes unserialized in case None is passed.</p></li>
 message. Request goes unserialized in case None is passed.</p></li>
-<li><p><strong>response_deserializer</strong> (<em>Optional</em><em>[</em><em>Callable</em><em>[</em><em>[</em><em>bytes</em><em>]</em><em>, </em><em>Any</em><em>]</em><em>]</em>) – Optional behaviour for deserializing the
+<li><p><strong>response_deserializer</strong> (<em>Optional</em><em>[</em><em>Callable</em><em>[</em><em>[</em><em>bytes</em><em>]</em><em>, </em><em>Any</em><em>]</em><em>]</em>) – Optional <a class="reference internal" href="glossary.html#term-deserializer"><span class="xref std std-term">deserializer</span></a> for deserializing the
 response message. Response goes undeserialized in case None
 response message. Response goes undeserialized in case None
 is passed.</p></li>
 is passed.</p></li>
 </ul>
 </ul>
@@ -342,17 +342,17 @@ is passed.</p></li>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.Channel.unary_unary">
 <dt id="grpc.experimental.aio.Channel.unary_unary">
-<em class="property">abstract </em><code class="sig-name descname">unary_unary</code><span class="sig-paren">(</span><em class="sig-param">method</em>, <em class="sig-param">request_serializer=None</em>, <em class="sig-param">response_deserializer=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#Channel.unary_unary"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Channel.unary_unary" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">unary_unary</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">method</span></em>, <em class="sig-param"><span class="n">request_serializer</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">response_deserializer</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#Channel.unary_unary"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Channel.unary_unary" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates a UnaryUnaryMultiCallable for a unary-unary method.</p>
 <dd><p>Creates a UnaryUnaryMultiCallable for a unary-unary method.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
 <dd class="field-odd"><ul class="simple">
 <li><p><strong>method</strong> (<em>str</em>) – The name of the RPC method.</p></li>
 <li><p><strong>method</strong> (<em>str</em>) – The name of the RPC method.</p></li>
-<li><p><strong>request_serializer</strong> (<em>Optional</em><em>[</em><em>Callable</em><em>[</em><em>[</em><em>Any</em><em>]</em><em>, </em><em>bytes</em><em>]</em><em>]</em>) – Optional behaviour for serializing the request
+<li><p><strong>request_serializer</strong> (<em>Optional</em><em>[</em><em>Callable</em><em>[</em><em>[</em><em>Any</em><em>]</em><em>, </em><em>bytes</em><em>]</em><em>]</em>) – Optional <a class="reference internal" href="glossary.html#term-serializer"><span class="xref std std-term">serializer</span></a> for serializing the request
 message. Request goes unserialized in case None is passed.</p></li>
 message. Request goes unserialized in case None is passed.</p></li>
-<li><p><strong>response_deserializer</strong> (<em>Optional</em><em>[</em><em>Callable</em><em>[</em><em>[</em><em>bytes</em><em>]</em><em>, </em><em>Any</em><em>]</em><em>]</em>) – Optional behaviour for deserializing the
+<li><p><strong>response_deserializer</strong> (<em>Optional</em><em>[</em><em>Callable</em><em>[</em><em>[</em><em>bytes</em><em>]</em><em>, </em><em>Any</em><em>]</em><em>]</em>) – Optional <a class="reference internal" href="glossary.html#term-deserializer"><span class="xref std std-term">deserializer</span></a> for deserializing the
 response message. Response goes undeserialized in case None
 response message. Response goes undeserialized in case None
 is passed.</p></li>
 is passed.</p></li>
 </ul>
 </ul>
@@ -366,9 +366,9 @@ is passed.</p></li>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.Channel.wait_for_state_change">
 <dt id="grpc.experimental.aio.Channel.wait_for_state_change">
-<em class="property">abstract async </em><code class="sig-name descname">wait_for_state_change</code><span class="sig-paren">(</span><em class="sig-param">last_observed_state</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#Channel.wait_for_state_change"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Channel.wait_for_state_change" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract async </em><code class="sig-name descname">wait_for_state_change</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">last_observed_state</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#Channel.wait_for_state_change"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Channel.wait_for_state_change" title="Permalink to this definition">¶</a></dt>
 <dd><p>Waits for a change in connectivity state.</p>
 <dd><p>Waits for a change in connectivity state.</p>
 <p>This is an EXPERIMENTAL API.</p>
 <p>This is an EXPERIMENTAL API.</p>
 <p>The function blocks until there is a change in the channel connectivity
 <p>The function blocks until there is a change in the channel connectivity
@@ -396,9 +396,9 @@ the last known state.</p>
 </div>
 </div>
 <div class="section" id="create-server">
 <div class="section" id="create-server">
 <h3>Create Server<a class="headerlink" href="#create-server" title="Permalink to this headline">¶</a></h3>
 <h3>Create Server<a class="headerlink" href="#create-server" title="Permalink to this headline">¶</a></h3>
-<dl class="function">
+<dl class="py function">
 <dt id="grpc.experimental.aio.server">
 <dt id="grpc.experimental.aio.server">
-<code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">server</code><span class="sig-paren">(</span><em class="sig-param">migration_thread_pool=None</em>, <em class="sig-param">handlers=None</em>, <em class="sig-param">interceptors=None</em>, <em class="sig-param">options=None</em>, <em class="sig-param">maximum_concurrent_rpcs=None</em>, <em class="sig-param">compression=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_server.html#server"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.server" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">server</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">migration_thread_pool</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">handlers</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">interceptors</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">options</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">maximum_concurrent_rpcs</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">compression</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_server.html#server"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.server" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates a Server with which RPCs can be serviced.</p>
 <dd><p>Creates a Server with which RPCs can be serviced.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -432,13 +432,13 @@ EXPERIMENTAL option.</p></li>
 </div>
 </div>
 <div class="section" id="server-object">
 <div class="section" id="server-object">
 <h3>Server Object<a class="headerlink" href="#server-object" title="Permalink to this headline">¶</a></h3>
 <h3>Server Object<a class="headerlink" href="#server-object" title="Permalink to this headline">¶</a></h3>
-<dl class="class">
+<dl class="py class">
 <dt id="grpc.experimental.aio.Server">
 <dt id="grpc.experimental.aio.Server">
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">Server</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#Server"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Server" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">Server</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#Server"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Server" title="Permalink to this definition">¶</a></dt>
 <dd><p>Serves RPCs.</p>
 <dd><p>Serves RPCs.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.Server.add_generic_rpc_handlers">
 <dt id="grpc.experimental.aio.Server.add_generic_rpc_handlers">
-<em class="property">abstract </em><code class="sig-name descname">add_generic_rpc_handlers</code><span class="sig-paren">(</span><em class="sig-param">generic_rpc_handlers</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#Server.add_generic_rpc_handlers"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Server.add_generic_rpc_handlers" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">add_generic_rpc_handlers</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">generic_rpc_handlers</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#Server.add_generic_rpc_handlers"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Server.add_generic_rpc_handlers" title="Permalink to this definition">¶</a></dt>
 <dd><p>Registers GenericRpcHandlers with this Server.</p>
 <dd><p>Registers GenericRpcHandlers with this Server.</p>
 <p>This method is only safe to call before the server is started.</p>
 <p>This method is only safe to call before the server is started.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
@@ -454,9 +454,9 @@ EXPERIMENTAL option.</p></li>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.Server.add_insecure_port">
 <dt id="grpc.experimental.aio.Server.add_insecure_port">
-<em class="property">abstract </em><code class="sig-name descname">add_insecure_port</code><span class="sig-paren">(</span><em class="sig-param">address</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#Server.add_insecure_port"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Server.add_insecure_port" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">add_insecure_port</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">address</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#Server.add_insecure_port"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Server.add_insecure_port" title="Permalink to this definition">¶</a></dt>
 <dd><p>Opens an insecure port for accepting RPCs.</p>
 <dd><p>Opens an insecure port for accepting RPCs.</p>
 <p>A port is a communication endpoint that used by networking protocols,
 <p>A port is a communication endpoint that used by networking protocols,
 like TCP and UDP. To date, we only support TCP.</p>
 like TCP and UDP. To date, we only support TCP.</p>
@@ -475,9 +475,9 @@ or not specified in the address, then the gRPC runtime will choose a port.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.Server.add_secure_port">
 <dt id="grpc.experimental.aio.Server.add_secure_port">
-<em class="property">abstract </em><code class="sig-name descname">add_secure_port</code><span class="sig-paren">(</span><em class="sig-param">address</em>, <em class="sig-param">server_credentials</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#Server.add_secure_port"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Server.add_secure_port" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">add_secure_port</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">address</span></em>, <em class="sig-param"><span class="n">server_credentials</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#Server.add_secure_port"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Server.add_secure_port" title="Permalink to this definition">¶</a></dt>
 <dd><p>Opens a secure port for accepting RPCs.</p>
 <dd><p>Opens a secure port for accepting RPCs.</p>
 <p>A port is a communication endpoint that used by networking protocols,
 <p>A port is a communication endpoint that used by networking protocols,
 like TCP and UDP. To date, we only support TCP.</p>
 like TCP and UDP. To date, we only support TCP.</p>
@@ -500,7 +500,7 @@ runtime will choose a port.</p></li>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.Server.start">
 <dt id="grpc.experimental.aio.Server.start">
 <em class="property">abstract async </em><code class="sig-name descname">start</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#Server.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Server.start" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract async </em><code class="sig-name descname">start</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#Server.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Server.start" title="Permalink to this definition">¶</a></dt>
 <dd><p>Starts this Server.</p>
 <dd><p>Starts this Server.</p>
@@ -512,9 +512,9 @@ runtime will choose a port.</p></li>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.Server.stop">
 <dt id="grpc.experimental.aio.Server.stop">
-<em class="property">abstract async </em><code class="sig-name descname">stop</code><span class="sig-paren">(</span><em class="sig-param">grace</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#Server.stop"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Server.stop" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract async </em><code class="sig-name descname">stop</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">grace</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#Server.stop"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Server.stop" title="Permalink to this definition">¶</a></dt>
 <dd><p>Stops this Server.</p>
 <dd><p>Stops this Server.</p>
 <p>This method immediately stops the server from servicing new RPCs in
 <p>This method immediately stops the server from servicing new RPCs in
 all cases.</p>
 all cases.</p>
@@ -539,9 +539,9 @@ subsequent call will not have the effect of stopping the server later
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.Server.wait_for_termination">
 <dt id="grpc.experimental.aio.Server.wait_for_termination">
-<em class="property">abstract async </em><code class="sig-name descname">wait_for_termination</code><span class="sig-paren">(</span><em class="sig-param">timeout=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#Server.wait_for_termination"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Server.wait_for_termination" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract async </em><code class="sig-name descname">wait_for_termination</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">timeout</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#Server.wait_for_termination"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Server.wait_for_termination" title="Permalink to this definition">¶</a></dt>
 <dd><p>Continues current coroutine once the server stops.</p>
 <dd><p>Continues current coroutine once the server stops.</p>
 <p>This is an EXPERIMENTAL API.</p>
 <p>This is an EXPERIMENTAL API.</p>
 <p>The wait will not consume computational resources during blocking, and
 <p>The wait will not consume computational resources during blocking, and
@@ -571,13 +571,13 @@ operation in seconds.</p>
 </div>
 </div>
 <div class="section" id="grpc-exceptions">
 <div class="section" id="grpc-exceptions">
 <h3>gRPC Exceptions<a class="headerlink" href="#grpc-exceptions" title="Permalink to this headline">¶</a></h3>
 <h3>gRPC Exceptions<a class="headerlink" href="#grpc-exceptions" title="Permalink to this headline">¶</a></h3>
-<dl class="exception">
+<dl class="py exception">
 <dt id="grpc.experimental.aio.BaseError">
 <dt id="grpc.experimental.aio.BaseError">
 <em class="property">exception </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">BaseError</code><a class="headerlink" href="#grpc.experimental.aio.BaseError" title="Permalink to this definition">¶</a></dt>
 <em class="property">exception </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">BaseError</code><a class="headerlink" href="#grpc.experimental.aio.BaseError" title="Permalink to this definition">¶</a></dt>
 <dd><p>The base class for exceptions generated by gRPC AsyncIO stack.</p>
 <dd><p>The base class for exceptions generated by gRPC AsyncIO stack.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="exception">
+<dl class="py exception">
 <dt id="grpc.experimental.aio.UsageError">
 <dt id="grpc.experimental.aio.UsageError">
 <em class="property">exception </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">UsageError</code><a class="headerlink" href="#grpc.experimental.aio.UsageError" title="Permalink to this definition">¶</a></dt>
 <em class="property">exception </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">UsageError</code><a class="headerlink" href="#grpc.experimental.aio.UsageError" title="Permalink to this definition">¶</a></dt>
 <dd><p>Raised when the usage of API by applications is inappropriate.</p>
 <dd><p>Raised when the usage of API by applications is inappropriate.</p>
@@ -586,7 +586,7 @@ of streaming API on the client side. This exception should not be
 suppressed.</p>
 suppressed.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="exception">
+<dl class="py exception">
 <dt id="grpc.experimental.aio.AbortError">
 <dt id="grpc.experimental.aio.AbortError">
 <em class="property">exception </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">AbortError</code><a class="headerlink" href="#grpc.experimental.aio.AbortError" title="Permalink to this definition">¶</a></dt>
 <em class="property">exception </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">AbortError</code><a class="headerlink" href="#grpc.experimental.aio.AbortError" title="Permalink to this definition">¶</a></dt>
 <dd><p>Raised when calling abort in servicer methods.</p>
 <dd><p>Raised when calling abort in servicer methods.</p>
@@ -594,15 +594,15 @@ suppressed.</p>
 perform certain clean-up logic, and then re-raise it.</p>
 perform certain clean-up logic, and then re-raise it.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="exception">
+<dl class="py exception">
 <dt id="grpc.experimental.aio.InternalError">
 <dt id="grpc.experimental.aio.InternalError">
 <em class="property">exception </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">InternalError</code><a class="headerlink" href="#grpc.experimental.aio.InternalError" title="Permalink to this definition">¶</a></dt>
 <em class="property">exception </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">InternalError</code><a class="headerlink" href="#grpc.experimental.aio.InternalError" title="Permalink to this definition">¶</a></dt>
 <dd><p>Raised upon unexpected errors in native code.</p>
 <dd><p>Raised upon unexpected errors in native code.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="exception">
+<dl class="py exception">
 <dt id="grpc.experimental.aio.AioRpcError">
 <dt id="grpc.experimental.aio.AioRpcError">
-<em class="property">exception </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">AioRpcError</code><span class="sig-paren">(</span><em class="sig-param">code</em>, <em class="sig-param">details=None</em>, <em class="sig-param">initial_metadata=None</em>, <em class="sig-param">trailing_metadata=None</em>, <em class="sig-param">debug_error_string=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_call.html#AioRpcError"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.AioRpcError" title="Permalink to this definition">¶</a></dt>
+<em class="property">exception </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">AioRpcError</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">code</span></em>, <em class="sig-param"><span class="n">details</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">initial_metadata</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">trailing_metadata</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">debug_error_string</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_call.html#AioRpcError"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.AioRpcError" title="Permalink to this definition">¶</a></dt>
 <dd><p>An implementation of RpcError to be used by the asynchronous API.</p>
 <dd><p>An implementation of RpcError to be used by the asynchronous API.</p>
 <p>Raised RpcError is a snapshot of the final status of the RPC, values are
 <p>Raised RpcError is a snapshot of the final status of the RPC, values are
 determined. Hence, its methods no longer needs to be coroutines.</p>
 determined. Hence, its methods no longer needs to be coroutines.</p>
@@ -620,7 +620,7 @@ determined. Hence, its methods no longer needs to be coroutines.</p>
 <dd class="field-even"><p>None</p>
 <dd class="field-even"><p>None</p>
 </dd>
 </dd>
 </dl>
 </dl>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.AioRpcError.code">
 <dt id="grpc.experimental.aio.AioRpcError.code">
 <code class="sig-name descname">code</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_call.html#AioRpcError.code"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.AioRpcError.code" title="Permalink to this definition">¶</a></dt>
 <code class="sig-name descname">code</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_call.html#AioRpcError.code"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.AioRpcError.code" title="Permalink to this definition">¶</a></dt>
 <dd><p>Accesses the status code sent by the server.</p>
 <dd><p>Accesses the status code sent by the server.</p>
@@ -634,7 +634,7 @@ determined. Hence, its methods no longer needs to be coroutines.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.AioRpcError.debug_error_string">
 <dt id="grpc.experimental.aio.AioRpcError.debug_error_string">
 <code class="sig-name descname">debug_error_string</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_call.html#AioRpcError.debug_error_string"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.AioRpcError.debug_error_string" title="Permalink to this definition">¶</a></dt>
 <code class="sig-name descname">debug_error_string</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_call.html#AioRpcError.debug_error_string"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.AioRpcError.debug_error_string" title="Permalink to this definition">¶</a></dt>
 <dd><p>Accesses the debug error string sent by the server.</p>
 <dd><p>Accesses the debug error string sent by the server.</p>
@@ -648,7 +648,7 @@ determined. Hence, its methods no longer needs to be coroutines.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.AioRpcError.details">
 <dt id="grpc.experimental.aio.AioRpcError.details">
 <code class="sig-name descname">details</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_call.html#AioRpcError.details"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.AioRpcError.details" title="Permalink to this definition">¶</a></dt>
 <code class="sig-name descname">details</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_call.html#AioRpcError.details"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.AioRpcError.details" title="Permalink to this definition">¶</a></dt>
 <dd><p>Accesses the details sent by the server.</p>
 <dd><p>Accesses the details sent by the server.</p>
@@ -662,7 +662,7 @@ determined. Hence, its methods no longer needs to be coroutines.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.AioRpcError.initial_metadata">
 <dt id="grpc.experimental.aio.AioRpcError.initial_metadata">
 <code class="sig-name descname">initial_metadata</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_call.html#AioRpcError.initial_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.AioRpcError.initial_metadata" title="Permalink to this definition">¶</a></dt>
 <code class="sig-name descname">initial_metadata</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_call.html#AioRpcError.initial_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.AioRpcError.initial_metadata" title="Permalink to this definition">¶</a></dt>
 <dd><p>Accesses the initial metadata sent by the server.</p>
 <dd><p>Accesses the initial metadata sent by the server.</p>
@@ -671,12 +671,12 @@ determined. Hence, its methods no longer needs to be coroutines.</p>
 <dd class="field-odd"><p>The initial metadata received.</p>
 <dd class="field-odd"><p>The initial metadata received.</p>
 </dd>
 </dd>
 <dt class="field-even">Return type</dt>
 <dt class="field-even">Return type</dt>
-<dd class="field-even"><p>Optional[Dict]</p>
+<dd class="field-even"><p>Optional[Sequence[Tuple[str, AnyStr]]]</p>
 </dd>
 </dd>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.AioRpcError.trailing_metadata">
 <dt id="grpc.experimental.aio.AioRpcError.trailing_metadata">
 <code class="sig-name descname">trailing_metadata</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_call.html#AioRpcError.trailing_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.AioRpcError.trailing_metadata" title="Permalink to this definition">¶</a></dt>
 <code class="sig-name descname">trailing_metadata</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_call.html#AioRpcError.trailing_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.AioRpcError.trailing_metadata" title="Permalink to this definition">¶</a></dt>
 <dd><p>Accesses the trailing metadata sent by the server.</p>
 <dd><p>Accesses the trailing metadata sent by the server.</p>
@@ -685,7 +685,7 @@ determined. Hence, its methods no longer needs to be coroutines.</p>
 <dd class="field-odd"><p>The trailing metadata received.</p>
 <dd class="field-odd"><p>The trailing metadata received.</p>
 </dd>
 </dd>
 <dt class="field-even">Return type</dt>
 <dt class="field-even">Return type</dt>
-<dd class="field-even"><p>Optional[Dict]</p>
+<dd class="field-even"><p>Optional[Sequence[Tuple[str, AnyStr]]]</p>
 </dd>
 </dd>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
@@ -695,13 +695,13 @@ determined. Hence, its methods no longer needs to be coroutines.</p>
 </div>
 </div>
 <div class="section" id="shared-context">
 <div class="section" id="shared-context">
 <h3>Shared Context<a class="headerlink" href="#shared-context" title="Permalink to this headline">¶</a></h3>
 <h3>Shared Context<a class="headerlink" href="#shared-context" title="Permalink to this headline">¶</a></h3>
-<dl class="class">
+<dl class="py class">
 <dt id="grpc.experimental.aio.RpcContext">
 <dt id="grpc.experimental.aio.RpcContext">
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">RpcContext</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#RpcContext"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.RpcContext" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">RpcContext</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#RpcContext"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.RpcContext" title="Permalink to this definition">¶</a></dt>
 <dd><p>Provides RPC-related information and action.</p>
 <dd><p>Provides RPC-related information and action.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.RpcContext.add_done_callback">
 <dt id="grpc.experimental.aio.RpcContext.add_done_callback">
-<em class="property">abstract </em><code class="sig-name descname">add_done_callback</code><span class="sig-paren">(</span><em class="sig-param">callback</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#RpcContext.add_done_callback"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.RpcContext.add_done_callback" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">add_done_callback</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">callback</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#RpcContext.add_done_callback"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.RpcContext.add_done_callback" title="Permalink to this definition">¶</a></dt>
 <dd><p>Registers a callback to be called on RPC termination.</p>
 <dd><p>Registers a callback to be called on RPC termination.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -716,7 +716,7 @@ determined. Hence, its methods no longer needs to be coroutines.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.RpcContext.cancel">
 <dt id="grpc.experimental.aio.RpcContext.cancel">
 <em class="property">abstract </em><code class="sig-name descname">cancel</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#RpcContext.cancel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.RpcContext.cancel" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">cancel</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#RpcContext.cancel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.RpcContext.cancel" title="Permalink to this definition">¶</a></dt>
 <dd><p>Cancels the RPC.</p>
 <dd><p>Cancels the RPC.</p>
@@ -731,7 +731,7 @@ determined. Hence, its methods no longer needs to be coroutines.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.RpcContext.cancelled">
 <dt id="grpc.experimental.aio.RpcContext.cancelled">
 <em class="property">abstract </em><code class="sig-name descname">cancelled</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#RpcContext.cancelled"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.RpcContext.cancelled" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">cancelled</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#RpcContext.cancelled"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.RpcContext.cancelled" title="Permalink to this definition">¶</a></dt>
 <dd><p>Return True if the RPC is cancelled.</p>
 <dd><p>Return True if the RPC is cancelled.</p>
@@ -746,7 +746,7 @@ determined. Hence, its methods no longer needs to be coroutines.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.RpcContext.done">
 <dt id="grpc.experimental.aio.RpcContext.done">
 <em class="property">abstract </em><code class="sig-name descname">done</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#RpcContext.done"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.RpcContext.done" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">done</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#RpcContext.done"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.RpcContext.done" title="Permalink to this definition">¶</a></dt>
 <dd><p>Return True if the RPC is done.</p>
 <dd><p>Return True if the RPC is done.</p>
@@ -761,7 +761,7 @@ determined. Hence, its methods no longer needs to be coroutines.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.RpcContext.time_remaining">
 <dt id="grpc.experimental.aio.RpcContext.time_remaining">
 <em class="property">abstract </em><code class="sig-name descname">time_remaining</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#RpcContext.time_remaining"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.RpcContext.time_remaining" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">time_remaining</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#RpcContext.time_remaining"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.RpcContext.time_remaining" title="Permalink to this definition">¶</a></dt>
 <dd><p>Describes the length of allowed time remaining for the RPC.</p>
 <dd><p>Describes the length of allowed time remaining for the RPC.</p>
@@ -782,11 +782,11 @@ timed out, or None if no deadline was specified for the RPC.</p>
 </div>
 </div>
 <div class="section" id="client-side-context">
 <div class="section" id="client-side-context">
 <h3>Client-Side Context<a class="headerlink" href="#client-side-context" title="Permalink to this headline">¶</a></h3>
 <h3>Client-Side Context<a class="headerlink" href="#client-side-context" title="Permalink to this headline">¶</a></h3>
-<dl class="class">
+<dl class="py class">
 <dt id="grpc.experimental.aio.Call">
 <dt id="grpc.experimental.aio.Call">
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">Call</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#Call"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Call" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">Call</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#Call"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Call" title="Permalink to this definition">¶</a></dt>
 <dd><p>The abstract base class of an RPC on the client-side.</p>
 <dd><p>The abstract base class of an RPC on the client-side.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.Call.code">
 <dt id="grpc.experimental.aio.Call.code">
 <em class="property">abstract async </em><code class="sig-name descname">code</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#Call.code"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Call.code" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract async </em><code class="sig-name descname">code</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#Call.code"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Call.code" title="Permalink to this definition">¶</a></dt>
 <dd><p>Accesses the status code sent by the server.</p>
 <dd><p>Accesses the status code sent by the server.</p>
@@ -800,7 +800,7 @@ timed out, or None if no deadline was specified for the RPC.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.Call.details">
 <dt id="grpc.experimental.aio.Call.details">
 <em class="property">abstract async </em><code class="sig-name descname">details</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#Call.details"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Call.details" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract async </em><code class="sig-name descname">details</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#Call.details"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Call.details" title="Permalink to this definition">¶</a></dt>
 <dd><p>Accesses the details sent by the server.</p>
 <dd><p>Accesses the details sent by the server.</p>
@@ -814,7 +814,7 @@ timed out, or None if no deadline was specified for the RPC.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.Call.initial_metadata">
 <dt id="grpc.experimental.aio.Call.initial_metadata">
 <em class="property">abstract async </em><code class="sig-name descname">initial_metadata</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#Call.initial_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Call.initial_metadata" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract async </em><code class="sig-name descname">initial_metadata</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#Call.initial_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Call.initial_metadata" title="Permalink to this definition">¶</a></dt>
 <dd><p>Accesses the initial metadata sent by the server.</p>
 <dd><p>Accesses the initial metadata sent by the server.</p>
@@ -828,7 +828,7 @@ timed out, or None if no deadline was specified for the RPC.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.Call.trailing_metadata">
 <dt id="grpc.experimental.aio.Call.trailing_metadata">
 <em class="property">abstract async </em><code class="sig-name descname">trailing_metadata</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#Call.trailing_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Call.trailing_metadata" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract async </em><code class="sig-name descname">trailing_metadata</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#Call.trailing_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Call.trailing_metadata" title="Permalink to this definition">¶</a></dt>
 <dd><p>Accesses the trailing metadata sent by the server.</p>
 <dd><p>Accesses the trailing metadata sent by the server.</p>
@@ -842,13 +842,29 @@ timed out, or None if no deadline was specified for the RPC.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
+<dl class="py method">
+<dt id="grpc.experimental.aio.Call.wait_for_connection">
+<em class="property">abstract async </em><code class="sig-name descname">wait_for_connection</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#Call.wait_for_connection"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.Call.wait_for_connection" title="Permalink to this definition">¶</a></dt>
+<dd><p>Waits until connected to peer and raises aio.AioRpcError if failed.</p>
+<p>This is an EXPERIMENTAL method.</p>
+<p>This method ensures the RPC has been successfully connected. Otherwise,
+an AioRpcError will be raised to explain the reason of the connection
+failure.</p>
+<p>This method is recommended for building retry mechanisms.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+</dd></dl>
+
 </dd></dl>
 </dd></dl>
 
 
-<dl class="class">
+<dl class="py class">
 <dt id="grpc.experimental.aio.UnaryUnaryCall">
 <dt id="grpc.experimental.aio.UnaryUnaryCall">
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">UnaryUnaryCall</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#UnaryUnaryCall"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.UnaryUnaryCall" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">UnaryUnaryCall</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#UnaryUnaryCall"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.UnaryUnaryCall" title="Permalink to this definition">¶</a></dt>
 <dd><p>The abstract base class of an unary-unary RPC on the client-side.</p>
 <dd><p>The abstract base class of an unary-unary RPC on the client-side.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.UnaryUnaryCall.__await__">
 <dt id="grpc.experimental.aio.UnaryUnaryCall.__await__">
 <em class="property">abstract </em><code class="sig-name descname">__await__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#UnaryUnaryCall.__await__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.UnaryUnaryCall.__await__" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">__await__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#UnaryUnaryCall.__await__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.UnaryUnaryCall.__await__" title="Permalink to this definition">¶</a></dt>
 <dd><p>Await the response message to be ready.</p>
 <dd><p>Await the response message to be ready.</p>
@@ -864,10 +880,10 @@ timed out, or None if no deadline was specified for the RPC.</p>
 
 
 </dd></dl>
 </dd></dl>
 
 
-<dl class="class">
+<dl class="py class">
 <dt id="grpc.experimental.aio.UnaryStreamCall">
 <dt id="grpc.experimental.aio.UnaryStreamCall">
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">UnaryStreamCall</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#UnaryStreamCall"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.UnaryStreamCall" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">UnaryStreamCall</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#UnaryStreamCall"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.UnaryStreamCall" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="method">
+<dd><dl class="py method">
 <dt id="grpc.experimental.aio.UnaryStreamCall.__aiter__">
 <dt id="grpc.experimental.aio.UnaryStreamCall.__aiter__">
 <em class="property">abstract </em><code class="sig-name descname">__aiter__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#UnaryStreamCall.__aiter__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.UnaryStreamCall.__aiter__" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">__aiter__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#UnaryStreamCall.__aiter__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.UnaryStreamCall.__aiter__" title="Permalink to this definition">¶</a></dt>
 <dd><p>Returns the async iterable representation that yields messages.</p>
 <dd><p>Returns the async iterable representation that yields messages.</p>
@@ -882,7 +898,7 @@ timed out, or None if no deadline was specified for the RPC.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.UnaryStreamCall.read">
 <dt id="grpc.experimental.aio.UnaryStreamCall.read">
 <em class="property">abstract async </em><code class="sig-name descname">read</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#UnaryStreamCall.read"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.UnaryStreamCall.read" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract async </em><code class="sig-name descname">read</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#UnaryStreamCall.read"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.UnaryStreamCall.read" title="Permalink to this definition">¶</a></dt>
 <dd><p>Reads one message from the stream.</p>
 <dd><p>Reads one message from the stream.</p>
@@ -901,10 +917,10 @@ stream.</p>
 
 
 </dd></dl>
 </dd></dl>
 
 
-<dl class="class">
+<dl class="py class">
 <dt id="grpc.experimental.aio.StreamUnaryCall">
 <dt id="grpc.experimental.aio.StreamUnaryCall">
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">StreamUnaryCall</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#StreamUnaryCall"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamUnaryCall" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">StreamUnaryCall</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#StreamUnaryCall"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamUnaryCall" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="method">
+<dd><dl class="py method">
 <dt id="grpc.experimental.aio.StreamUnaryCall.__await__">
 <dt id="grpc.experimental.aio.StreamUnaryCall.__await__">
 <em class="property">abstract </em><code class="sig-name descname">__await__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#StreamUnaryCall.__await__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamUnaryCall.__await__" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">__await__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#StreamUnaryCall.__await__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamUnaryCall.__await__" title="Permalink to this definition">¶</a></dt>
 <dd><p>Await the response message to be ready.</p>
 <dd><p>Await the response message to be ready.</p>
@@ -918,7 +934,7 @@ stream.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.StreamUnaryCall.done_writing">
 <dt id="grpc.experimental.aio.StreamUnaryCall.done_writing">
 <em class="property">abstract async </em><code class="sig-name descname">done_writing</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#StreamUnaryCall.done_writing"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamUnaryCall.done_writing" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract async </em><code class="sig-name descname">done_writing</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#StreamUnaryCall.done_writing"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamUnaryCall.done_writing" title="Permalink to this definition">¶</a></dt>
 <dd><p>Notifies server that the client is done sending messages.</p>
 <dd><p>Notifies server that the client is done sending messages.</p>
@@ -931,9 +947,9 @@ function will fail. This function is idempotent.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.StreamUnaryCall.write">
 <dt id="grpc.experimental.aio.StreamUnaryCall.write">
-<em class="property">abstract async </em><code class="sig-name descname">write</code><span class="sig-paren">(</span><em class="sig-param">request</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#StreamUnaryCall.write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamUnaryCall.write" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract async </em><code class="sig-name descname">write</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">request</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#StreamUnaryCall.write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamUnaryCall.write" title="Permalink to this definition">¶</a></dt>
 <dd><p>Writes one message to the stream.</p>
 <dd><p>Writes one message to the stream.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Raises</dt>
 <dt class="field-odd">Raises</dt>
@@ -950,10 +966,10 @@ function will fail. This function is idempotent.</p>
 
 
 </dd></dl>
 </dd></dl>
 
 
-<dl class="class">
+<dl class="py class">
 <dt id="grpc.experimental.aio.StreamStreamCall">
 <dt id="grpc.experimental.aio.StreamStreamCall">
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">StreamStreamCall</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#StreamStreamCall"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamStreamCall" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">StreamStreamCall</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#StreamStreamCall"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamStreamCall" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="method">
+<dd><dl class="py method">
 <dt id="grpc.experimental.aio.StreamStreamCall.__aiter__">
 <dt id="grpc.experimental.aio.StreamStreamCall.__aiter__">
 <em class="property">abstract </em><code class="sig-name descname">__aiter__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#StreamStreamCall.__aiter__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamStreamCall.__aiter__" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">__aiter__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#StreamStreamCall.__aiter__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamStreamCall.__aiter__" title="Permalink to this definition">¶</a></dt>
 <dd><p>Returns the async iterable representation that yields messages.</p>
 <dd><p>Returns the async iterable representation that yields messages.</p>
@@ -968,7 +984,7 @@ function will fail. This function is idempotent.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.StreamStreamCall.done_writing">
 <dt id="grpc.experimental.aio.StreamStreamCall.done_writing">
 <em class="property">abstract async </em><code class="sig-name descname">done_writing</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#StreamStreamCall.done_writing"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamStreamCall.done_writing" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract async </em><code class="sig-name descname">done_writing</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#StreamStreamCall.done_writing"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamStreamCall.done_writing" title="Permalink to this definition">¶</a></dt>
 <dd><p>Notifies server that the client is done sending messages.</p>
 <dd><p>Notifies server that the client is done sending messages.</p>
@@ -981,7 +997,7 @@ function will fail. This function is idempotent.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.StreamStreamCall.read">
 <dt id="grpc.experimental.aio.StreamStreamCall.read">
 <em class="property">abstract async </em><code class="sig-name descname">read</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#StreamStreamCall.read"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamStreamCall.read" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract async </em><code class="sig-name descname">read</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#StreamStreamCall.read"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamStreamCall.read" title="Permalink to this definition">¶</a></dt>
 <dd><p>Reads one message from the stream.</p>
 <dd><p>Reads one message from the stream.</p>
@@ -998,9 +1014,9 @@ stream.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.StreamStreamCall.write">
 <dt id="grpc.experimental.aio.StreamStreamCall.write">
-<em class="property">abstract async </em><code class="sig-name descname">write</code><span class="sig-paren">(</span><em class="sig-param">request</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#StreamStreamCall.write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamStreamCall.write" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract async </em><code class="sig-name descname">write</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">request</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_call.html#StreamStreamCall.write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamStreamCall.write" title="Permalink to this definition">¶</a></dt>
 <dd><p>Writes one message to the stream.</p>
 <dd><p>Writes one message to the stream.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Raises</dt>
 <dt class="field-odd">Raises</dt>
@@ -1020,13 +1036,13 @@ stream.</p>
 </div>
 </div>
 <div class="section" id="server-side-context">
 <div class="section" id="server-side-context">
 <h3>Server-Side Context<a class="headerlink" href="#server-side-context" title="Permalink to this headline">¶</a></h3>
 <h3>Server-Side Context<a class="headerlink" href="#server-side-context" title="Permalink to this headline">¶</a></h3>
-<dl class="class">
+<dl class="py class">
 <dt id="grpc.experimental.aio.ServicerContext">
 <dt id="grpc.experimental.aio.ServicerContext">
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">ServicerContext</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#ServicerContext"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.ServicerContext" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">ServicerContext</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#ServicerContext"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.ServicerContext" title="Permalink to this definition">¶</a></dt>
 <dd><p>A context object passed to method implementations.</p>
 <dd><p>A context object passed to method implementations.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.ServicerContext.abort">
 <dt id="grpc.experimental.aio.ServicerContext.abort">
-<em class="property">abstract async </em><code class="sig-name descname">abort</code><span class="sig-paren">(</span><em class="sig-param">code</em>, <em class="sig-param">details</em>, <em class="sig-param">trailing_metadata</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#ServicerContext.abort"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.ServicerContext.abort" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract async </em><code class="sig-name descname">abort</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">code</span></em>, <em class="sig-param"><span class="n">details</span></em>, <em class="sig-param"><span class="n">trailing_metadata</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#ServicerContext.abort"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.ServicerContext.abort" title="Permalink to this definition">¶</a></dt>
 <dd><p>Raises an exception to terminate the RPC with a non-OK status.</p>
 <dd><p>Raises an exception to terminate the RPC with a non-OK status.</p>
 <p>The code and details passed as arguments will supercede any existing
 <p>The code and details passed as arguments will supercede any existing
 ones.</p>
 ones.</p>
@@ -1051,7 +1067,7 @@ termination of the RPC.</p></li>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.ServicerContext.disable_next_message_compression">
 <dt id="grpc.experimental.aio.ServicerContext.disable_next_message_compression">
 <em class="property">abstract </em><code class="sig-name descname">disable_next_message_compression</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#ServicerContext.disable_next_message_compression"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.ServicerContext.disable_next_message_compression" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">disable_next_message_compression</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#ServicerContext.disable_next_message_compression"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.ServicerContext.disable_next_message_compression" title="Permalink to this definition">¶</a></dt>
 <dd><p>Disables compression for the next response message.</p>
 <dd><p>Disables compression for the next response message.</p>
@@ -1065,7 +1081,7 @@ server creation or set on the call.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.ServicerContext.invocation_metadata">
 <dt id="grpc.experimental.aio.ServicerContext.invocation_metadata">
 <em class="property">abstract </em><code class="sig-name descname">invocation_metadata</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#ServicerContext.invocation_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.ServicerContext.invocation_metadata" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">invocation_metadata</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#ServicerContext.invocation_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.ServicerContext.invocation_metadata" title="Permalink to this definition">¶</a></dt>
 <dd><p>Accesses the metadata from the sent by the client.</p>
 <dd><p>Accesses the metadata from the sent by the client.</p>
@@ -1079,7 +1095,7 @@ server creation or set on the call.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.ServicerContext.read">
 <dt id="grpc.experimental.aio.ServicerContext.read">
 <em class="property">abstract async </em><code class="sig-name descname">read</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#ServicerContext.read"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.ServicerContext.read" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract async </em><code class="sig-name descname">read</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#ServicerContext.read"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.ServicerContext.read" title="Permalink to this definition">¶</a></dt>
 <dd><p>Reads one message from the RPC.</p>
 <dd><p>Reads one message from the RPC.</p>
@@ -1097,9 +1113,9 @@ server creation or set on the call.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.ServicerContext.send_initial_metadata">
 <dt id="grpc.experimental.aio.ServicerContext.send_initial_metadata">
-<em class="property">abstract async </em><code class="sig-name descname">send_initial_metadata</code><span class="sig-paren">(</span><em class="sig-param">initial_metadata</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#ServicerContext.send_initial_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.ServicerContext.send_initial_metadata" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract async </em><code class="sig-name descname">send_initial_metadata</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">initial_metadata</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#ServicerContext.send_initial_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.ServicerContext.send_initial_metadata" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sends the initial metadata value to the client.</p>
 <dd><p>Sends the initial metadata value to the client.</p>
 <p>This method need not be called by implementations if they have no
 <p>This method need not be called by implementations if they have no
 metadata to add to what the gRPC runtime will transmit.</p>
 metadata to add to what the gRPC runtime will transmit.</p>
@@ -1113,9 +1129,9 @@ metadata to add to what the gRPC runtime will transmit.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.ServicerContext.set_code">
 <dt id="grpc.experimental.aio.ServicerContext.set_code">
-<em class="property">abstract </em><code class="sig-name descname">set_code</code><span class="sig-paren">(</span><em class="sig-param">code</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#ServicerContext.set_code"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.ServicerContext.set_code" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">set_code</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">code</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#ServicerContext.set_code"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.ServicerContext.set_code" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sets the value to be used as status code upon RPC completion.</p>
 <dd><p>Sets the value to be used as status code upon RPC completion.</p>
 <p>This method need not be called by method implementations if they wish
 <p>This method need not be called by method implementations if they wish
 the gRPC runtime to determine the status code of the RPC.</p>
 the gRPC runtime to determine the status code of the RPC.</p>
@@ -1129,9 +1145,9 @@ the gRPC runtime to determine the status code of the RPC.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.ServicerContext.set_compression">
 <dt id="grpc.experimental.aio.ServicerContext.set_compression">
-<em class="property">abstract </em><code class="sig-name descname">set_compression</code><span class="sig-paren">(</span><em class="sig-param">compression</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#ServicerContext.set_compression"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.ServicerContext.set_compression" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">set_compression</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">compression</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#ServicerContext.set_compression"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.ServicerContext.set_compression" title="Permalink to this definition">¶</a></dt>
 <dd><p>Set the compression algorithm to be used for the entire call.</p>
 <dd><p>Set the compression algorithm to be used for the entire call.</p>
 <p>This is an EXPERIMENTAL method.</p>
 <p>This is an EXPERIMENTAL method.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
@@ -1145,9 +1161,9 @@ grpc.compression.Gzip.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.ServicerContext.set_details">
 <dt id="grpc.experimental.aio.ServicerContext.set_details">
-<em class="property">abstract </em><code class="sig-name descname">set_details</code><span class="sig-paren">(</span><em class="sig-param">details</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#ServicerContext.set_details"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.ServicerContext.set_details" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">set_details</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">details</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#ServicerContext.set_details"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.ServicerContext.set_details" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sets the value to be used the as detail string upon RPC completion.</p>
 <dd><p>Sets the value to be used the as detail string upon RPC completion.</p>
 <p>This method need not be called by method implementations if they have
 <p>This method need not be called by method implementations if they have
 no details to transmit.</p>
 no details to transmit.</p>
@@ -1162,9 +1178,9 @@ termination of the RPC.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.ServicerContext.set_trailing_metadata">
 <dt id="grpc.experimental.aio.ServicerContext.set_trailing_metadata">
-<em class="property">abstract async </em><code class="sig-name descname">set_trailing_metadata</code><span class="sig-paren">(</span><em class="sig-param">trailing_metadata</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#ServicerContext.set_trailing_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.ServicerContext.set_trailing_metadata" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract async </em><code class="sig-name descname">set_trailing_metadata</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">trailing_metadata</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#ServicerContext.set_trailing_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.ServicerContext.set_trailing_metadata" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sends the trailing metadata for the RPC.</p>
 <dd><p>Sends the trailing metadata for the RPC.</p>
 <p>This method need not be called by implementations if they have no
 <p>This method need not be called by implementations if they have no
 metadata to add to what the gRPC runtime will transmit.</p>
 metadata to add to what the gRPC runtime will transmit.</p>
@@ -1178,9 +1194,9 @@ metadata to add to what the gRPC runtime will transmit.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.ServicerContext.write">
 <dt id="grpc.experimental.aio.ServicerContext.write">
-<em class="property">abstract async </em><code class="sig-name descname">write</code><span class="sig-paren">(</span><em class="sig-param">message</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#ServicerContext.write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.ServicerContext.write" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract async </em><code class="sig-name descname">write</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">message</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_server.html#ServicerContext.write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.ServicerContext.write" title="Permalink to this definition">¶</a></dt>
 <dd><p>Writes one message to the RPC.</p>
 <dd><p>Writes one message to the RPC.</p>
 <p>Only one write operation is allowed simultaneously.</p>
 <p>Only one write operation is allowed simultaneously.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
@@ -1201,7 +1217,7 @@ metadata to add to what the gRPC runtime will transmit.</p>
 </div>
 </div>
 <div class="section" id="client-side-interceptor">
 <div class="section" id="client-side-interceptor">
 <h3>Client-Side Interceptor<a class="headerlink" href="#client-side-interceptor" title="Permalink to this headline">¶</a></h3>
 <h3>Client-Side Interceptor<a class="headerlink" href="#client-side-interceptor" title="Permalink to this headline">¶</a></h3>
-<dl class="class">
+<dl class="py class">
 <dt id="grpc.experimental.aio.ClientCallDetails">
 <dt id="grpc.experimental.aio.ClientCallDetails">
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">ClientCallDetails</code><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#ClientCallDetails"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.ClientCallDetails" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">ClientCallDetails</code><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#ClientCallDetails"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.ClientCallDetails" title="Permalink to this definition">¶</a></dt>
 <dd><p>Describes an RPC to be invoked.</p>
 <dd><p>Describes an RPC to be invoked.</p>
@@ -1221,9 +1237,9 @@ enable wait for ready mechanism.</p></li>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="class">
+<dl class="py class">
 <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall">
 <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall">
-<em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">InterceptedUnaryUnaryCall</code><span class="sig-paren">(</span><em class="sig-param">interceptors</em>, <em class="sig-param">request</em>, <em class="sig-param">timeout</em>, <em class="sig-param">metadata</em>, <em class="sig-param">credentials</em>, <em class="sig-param">wait_for_ready</em>, <em class="sig-param">channel</em>, <em class="sig-param">method</em>, <em class="sig-param">request_serializer</em>, <em class="sig-param">response_deserializer</em>, <em class="sig-param">loop</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#InterceptedUnaryUnaryCall"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.InterceptedUnaryUnaryCall" title="Permalink to this definition">¶</a></dt>
+<em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">InterceptedUnaryUnaryCall</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">interceptors</span></em>, <em class="sig-param"><span class="n">request</span></em>, <em class="sig-param"><span class="n">timeout</span></em>, <em class="sig-param"><span class="n">metadata</span></em>, <em class="sig-param"><span class="n">credentials</span></em>, <em class="sig-param"><span class="n">wait_for_ready</span></em>, <em class="sig-param"><span class="n">channel</span></em>, <em class="sig-param"><span class="n">method</span></em>, <em class="sig-param"><span class="n">request_serializer</span></em>, <em class="sig-param"><span class="n">response_deserializer</span></em>, <em class="sig-param"><span class="n">loop</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#InterceptedUnaryUnaryCall"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.InterceptedUnaryUnaryCall" title="Permalink to this definition">¶</a></dt>
 <dd><p>Used for running a <cite>UnaryUnaryCall</cite> wrapped by interceptors.</p>
 <dd><p>Used for running a <cite>UnaryUnaryCall</cite> wrapped by interceptors.</p>
 <p>Interceptors might have some work to do before the RPC invocation with
 <p>Interceptors might have some work to do before the RPC invocation with
 the capacity of changing the invocation parameters, and some work to do
 the capacity of changing the invocation parameters, and some work to do
@@ -1240,9 +1256,9 @@ to wait until the interceptors task is finished, once the RPC is done the
 caller will have the freedom for accessing to the results.</p>
 caller will have the freedom for accessing to the results.</p>
 <p>For the <cite>__await__</cite> method is it is proxied to the intercepted call only when
 <p>For the <cite>__await__</cite> method is it is proxied to the intercepted call only when
 the interceptor task is finished.</p>
 the interceptor task is finished.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.add_done_callback">
 <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.add_done_callback">
-<code class="sig-name descname">add_done_callback</code><span class="sig-paren">(</span><em class="sig-param">callback</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#InterceptedUnaryUnaryCall.add_done_callback"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.InterceptedUnaryUnaryCall.add_done_callback" title="Permalink to this definition">¶</a></dt>
+<code class="sig-name descname">add_done_callback</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">callback</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#InterceptedUnaryUnaryCall.add_done_callback"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.InterceptedUnaryUnaryCall.add_done_callback" title="Permalink to this definition">¶</a></dt>
 <dd><p>Registers a callback to be called on RPC termination.</p>
 <dd><p>Registers a callback to be called on RPC termination.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -1257,7 +1273,7 @@ the interceptor task is finished.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.cancel">
 <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.cancel">
 <code class="sig-name descname">cancel</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#InterceptedUnaryUnaryCall.cancel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.InterceptedUnaryUnaryCall.cancel" title="Permalink to this definition">¶</a></dt>
 <code class="sig-name descname">cancel</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#InterceptedUnaryUnaryCall.cancel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.InterceptedUnaryUnaryCall.cancel" title="Permalink to this definition">¶</a></dt>
 <dd><p>Cancels the RPC.</p>
 <dd><p>Cancels the RPC.</p>
@@ -1272,7 +1288,7 @@ the interceptor task is finished.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.cancelled">
 <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.cancelled">
 <code class="sig-name descname">cancelled</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#InterceptedUnaryUnaryCall.cancelled"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.InterceptedUnaryUnaryCall.cancelled" title="Permalink to this definition">¶</a></dt>
 <code class="sig-name descname">cancelled</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#InterceptedUnaryUnaryCall.cancelled"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.InterceptedUnaryUnaryCall.cancelled" title="Permalink to this definition">¶</a></dt>
 <dd><p>Return True if the RPC is cancelled.</p>
 <dd><p>Return True if the RPC is cancelled.</p>
@@ -1287,7 +1303,7 @@ the interceptor task is finished.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.code">
 <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.code">
 <em class="property">async </em><code class="sig-name descname">code</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#InterceptedUnaryUnaryCall.code"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.InterceptedUnaryUnaryCall.code" title="Permalink to this definition">¶</a></dt>
 <em class="property">async </em><code class="sig-name descname">code</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#InterceptedUnaryUnaryCall.code"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.InterceptedUnaryUnaryCall.code" title="Permalink to this definition">¶</a></dt>
 <dd><p>Accesses the status code sent by the server.</p>
 <dd><p>Accesses the status code sent by the server.</p>
@@ -1301,7 +1317,7 @@ the interceptor task is finished.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.details">
 <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.details">
 <em class="property">async </em><code class="sig-name descname">details</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#InterceptedUnaryUnaryCall.details"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.InterceptedUnaryUnaryCall.details" title="Permalink to this definition">¶</a></dt>
 <em class="property">async </em><code class="sig-name descname">details</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#InterceptedUnaryUnaryCall.details"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.InterceptedUnaryUnaryCall.details" title="Permalink to this definition">¶</a></dt>
 <dd><p>Accesses the details sent by the server.</p>
 <dd><p>Accesses the details sent by the server.</p>
@@ -1315,7 +1331,7 @@ the interceptor task is finished.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.done">
 <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.done">
 <code class="sig-name descname">done</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#InterceptedUnaryUnaryCall.done"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.InterceptedUnaryUnaryCall.done" title="Permalink to this definition">¶</a></dt>
 <code class="sig-name descname">done</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#InterceptedUnaryUnaryCall.done"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.InterceptedUnaryUnaryCall.done" title="Permalink to this definition">¶</a></dt>
 <dd><p>Return True if the RPC is done.</p>
 <dd><p>Return True if the RPC is done.</p>
@@ -1330,7 +1346,7 @@ the interceptor task is finished.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.initial_metadata">
 <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.initial_metadata">
 <em class="property">async </em><code class="sig-name descname">initial_metadata</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#InterceptedUnaryUnaryCall.initial_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.InterceptedUnaryUnaryCall.initial_metadata" title="Permalink to this definition">¶</a></dt>
 <em class="property">async </em><code class="sig-name descname">initial_metadata</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#InterceptedUnaryUnaryCall.initial_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.InterceptedUnaryUnaryCall.initial_metadata" title="Permalink to this definition">¶</a></dt>
 <dd><p>Accesses the initial metadata sent by the server.</p>
 <dd><p>Accesses the initial metadata sent by the server.</p>
@@ -1344,7 +1360,7 @@ the interceptor task is finished.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.time_remaining">
 <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.time_remaining">
 <code class="sig-name descname">time_remaining</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#InterceptedUnaryUnaryCall.time_remaining"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.InterceptedUnaryUnaryCall.time_remaining" title="Permalink to this definition">¶</a></dt>
 <code class="sig-name descname">time_remaining</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#InterceptedUnaryUnaryCall.time_remaining"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.InterceptedUnaryUnaryCall.time_remaining" title="Permalink to this definition">¶</a></dt>
 <dd><p>Describes the length of allowed time remaining for the RPC.</p>
 <dd><p>Describes the length of allowed time remaining for the RPC.</p>
@@ -1360,7 +1376,7 @@ timed out, or None if no deadline was specified for the RPC.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.trailing_metadata">
 <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.trailing_metadata">
 <em class="property">async </em><code class="sig-name descname">trailing_metadata</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#InterceptedUnaryUnaryCall.trailing_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.InterceptedUnaryUnaryCall.trailing_metadata" title="Permalink to this definition">¶</a></dt>
 <em class="property">async </em><code class="sig-name descname">trailing_metadata</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#InterceptedUnaryUnaryCall.trailing_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.InterceptedUnaryUnaryCall.trailing_metadata" title="Permalink to this definition">¶</a></dt>
 <dd><p>Accesses the trailing metadata sent by the server.</p>
 <dd><p>Accesses the trailing metadata sent by the server.</p>
@@ -1374,15 +1390,31 @@ timed out, or None if no deadline was specified for the RPC.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
+<dl class="py method">
+<dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.wait_for_connection">
+<em class="property">async </em><code class="sig-name descname">wait_for_connection</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#InterceptedUnaryUnaryCall.wait_for_connection"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.InterceptedUnaryUnaryCall.wait_for_connection" title="Permalink to this definition">¶</a></dt>
+<dd><p>Waits until connected to peer and raises aio.AioRpcError if failed.</p>
+<p>This is an EXPERIMENTAL method.</p>
+<p>This method ensures the RPC has been successfully connected. Otherwise,
+an AioRpcError will be raised to explain the reason of the connection
+failure.</p>
+<p>This method is recommended for building retry mechanisms.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p>None</p>
+</dd>
+</dl>
+</dd></dl>
+
 </dd></dl>
 </dd></dl>
 
 
-<dl class="class">
+<dl class="py class">
 <dt id="grpc.experimental.aio.UnaryUnaryClientInterceptor">
 <dt id="grpc.experimental.aio.UnaryUnaryClientInterceptor">
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">UnaryUnaryClientInterceptor</code><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#UnaryUnaryClientInterceptor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.UnaryUnaryClientInterceptor" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">UnaryUnaryClientInterceptor</code><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#UnaryUnaryClientInterceptor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.UnaryUnaryClientInterceptor" title="Permalink to this definition">¶</a></dt>
 <dd><p>Affords intercepting unary-unary invocations.</p>
 <dd><p>Affords intercepting unary-unary invocations.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.UnaryUnaryClientInterceptor.intercept_unary_unary">
 <dt id="grpc.experimental.aio.UnaryUnaryClientInterceptor.intercept_unary_unary">
-<em class="property">abstract async </em><code class="sig-name descname">intercept_unary_unary</code><span class="sig-paren">(</span><em class="sig-param">continuation</em>, <em class="sig-param">client_call_details</em>, <em class="sig-param">request</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#UnaryUnaryClientInterceptor.intercept_unary_unary"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.UnaryUnaryClientInterceptor.intercept_unary_unary" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract async </em><code class="sig-name descname">intercept_unary_unary</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">continuation</span></em>, <em class="sig-param"><span class="n">client_call_details</span></em>, <em class="sig-param"><span class="n">request</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_interceptor.html#UnaryUnaryClientInterceptor.intercept_unary_unary"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.UnaryUnaryClientInterceptor.intercept_unary_unary" title="Permalink to this definition">¶</a></dt>
 <dd><p>Intercepts a unary-unary invocation asynchronously.</p>
 <dd><p>Intercepts a unary-unary invocation asynchronously.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -1420,13 +1452,13 @@ outgoing RPC.</p></li>
 </div>
 </div>
 <div class="section" id="multi-callable-interfaces">
 <div class="section" id="multi-callable-interfaces">
 <h3>Multi-Callable Interfaces<a class="headerlink" href="#multi-callable-interfaces" title="Permalink to this headline">¶</a></h3>
 <h3>Multi-Callable Interfaces<a class="headerlink" href="#multi-callable-interfaces" title="Permalink to this headline">¶</a></h3>
-<dl class="class">
+<dl class="py class">
 <dt id="grpc.experimental.aio.UnaryUnaryMultiCallable">
 <dt id="grpc.experimental.aio.UnaryUnaryMultiCallable">
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">UnaryUnaryMultiCallable</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#UnaryUnaryMultiCallable"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.UnaryUnaryMultiCallable" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">UnaryUnaryMultiCallable</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#UnaryUnaryMultiCallable"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.UnaryUnaryMultiCallable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Enables asynchronous invocation of a unary-call RPC.</p>
 <dd><p>Enables asynchronous invocation of a unary-call RPC.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.UnaryUnaryMultiCallable.__call__">
 <dt id="grpc.experimental.aio.UnaryUnaryMultiCallable.__call__">
-<em class="property">abstract </em><code class="sig-name descname">__call__</code><span class="sig-paren">(</span><em class="sig-param">request</em>, <em class="sig-param">*</em>, <em class="sig-param">timeout=None</em>, <em class="sig-param">metadata=()</em>, <em class="sig-param">credentials=None</em>, <em class="sig-param">wait_for_ready=None</em>, <em class="sig-param">compression=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#UnaryUnaryMultiCallable.__call__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.UnaryUnaryMultiCallable.__call__" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">__call__</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">request</span></em>, <em class="sig-param"><span class="o">*</span></em>, <em class="sig-param"><span class="n">timeout</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">metadata</span><span class="o">=</span><span class="default_value">()</span></em>, <em class="sig-param"><span class="n">credentials</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">wait_for_ready</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">compression</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#UnaryUnaryMultiCallable.__call__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.UnaryUnaryMultiCallable.__call__" title="Permalink to this definition">¶</a></dt>
 <dd><p>Asynchronously invokes the underlying RPC.</p>
 <dd><p>Asynchronously invokes the underlying RPC.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -1460,13 +1492,13 @@ grpc.compression.Gzip. This is an EXPERIMENTAL option.</p></li>
 
 
 </dd></dl>
 </dd></dl>
 
 
-<dl class="class">
+<dl class="py class">
 <dt id="grpc.experimental.aio.UnaryStreamMultiCallable">
 <dt id="grpc.experimental.aio.UnaryStreamMultiCallable">
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">UnaryStreamMultiCallable</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#UnaryStreamMultiCallable"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.UnaryStreamMultiCallable" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">UnaryStreamMultiCallable</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#UnaryStreamMultiCallable"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.UnaryStreamMultiCallable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Enables asynchronous invocation of a server-streaming RPC.</p>
 <dd><p>Enables asynchronous invocation of a server-streaming RPC.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.UnaryStreamMultiCallable.__call__">
 <dt id="grpc.experimental.aio.UnaryStreamMultiCallable.__call__">
-<em class="property">abstract </em><code class="sig-name descname">__call__</code><span class="sig-paren">(</span><em class="sig-param">request</em>, <em class="sig-param">*</em>, <em class="sig-param">timeout=None</em>, <em class="sig-param">metadata=()</em>, <em class="sig-param">credentials=None</em>, <em class="sig-param">wait_for_ready=None</em>, <em class="sig-param">compression=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#UnaryStreamMultiCallable.__call__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.UnaryStreamMultiCallable.__call__" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">__call__</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">request</span></em>, <em class="sig-param"><span class="o">*</span></em>, <em class="sig-param"><span class="n">timeout</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">metadata</span><span class="o">=</span><span class="default_value">()</span></em>, <em class="sig-param"><span class="n">credentials</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">wait_for_ready</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">compression</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#UnaryStreamMultiCallable.__call__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.UnaryStreamMultiCallable.__call__" title="Permalink to this definition">¶</a></dt>
 <dd><p>Asynchronously invokes the underlying RPC.</p>
 <dd><p>Asynchronously invokes the underlying RPC.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -1500,18 +1532,19 @@ grpc.compression.Gzip. This is an EXPERIMENTAL option.</p></li>
 
 
 </dd></dl>
 </dd></dl>
 
 
-<dl class="class">
+<dl class="py class">
 <dt id="grpc.experimental.aio.StreamUnaryMultiCallable">
 <dt id="grpc.experimental.aio.StreamUnaryMultiCallable">
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">StreamUnaryMultiCallable</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#StreamUnaryMultiCallable"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamUnaryMultiCallable" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">StreamUnaryMultiCallable</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#StreamUnaryMultiCallable"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamUnaryMultiCallable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Enables asynchronous invocation of a client-streaming RPC.</p>
 <dd><p>Enables asynchronous invocation of a client-streaming RPC.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.StreamUnaryMultiCallable.__call__">
 <dt id="grpc.experimental.aio.StreamUnaryMultiCallable.__call__">
-<em class="property">abstract </em><code class="sig-name descname">__call__</code><span class="sig-paren">(</span><em class="sig-param">request_async_iterator=None</em>, <em class="sig-param">timeout=None</em>, <em class="sig-param">metadata=()</em>, <em class="sig-param">credentials=None</em>, <em class="sig-param">wait_for_ready=None</em>, <em class="sig-param">compression=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#StreamUnaryMultiCallable.__call__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamUnaryMultiCallable.__call__" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">__call__</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">request_iterator</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">timeout</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">metadata</span><span class="o">=</span><span class="default_value">()</span></em>, <em class="sig-param"><span class="n">credentials</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">wait_for_ready</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">compression</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#StreamUnaryMultiCallable.__call__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamUnaryMultiCallable.__call__" title="Permalink to this definition">¶</a></dt>
 <dd><p>Asynchronously invokes the underlying RPC.</p>
 <dd><p>Asynchronously invokes the underlying RPC.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>request</strong> – The request value for the RPC.</p></li>
+<li><p><strong>request_iterator</strong> (<em>Union</em><em>[</em><em>Iterable</em><em>[</em><em>Any</em><em>]</em><em>, </em><em>AsyncIterable</em><em>[</em><em>Any</em><em>]</em><em>, </em><em>None</em><em>]</em>) – An optional async iterable or iterable of request
+messages for the RPC.</p></li>
 <li><p><strong>timeout</strong> (<em>Optional</em><em>[</em><em>float</em><em>]</em>) – An optional duration of time in seconds to allow
 <li><p><strong>timeout</strong> (<em>Optional</em><em>[</em><em>float</em><em>]</em>) – An optional duration of time in seconds to allow
 for the RPC.</p></li>
 for the RPC.</p></li>
 <li><p><strong>metadata</strong> (<em>Optional</em><em>[</em><em>Sequence</em><em>[</em><em>Tuple</em><em>[</em><em>str</em><em>, </em><em>AnyStr</em><em>]</em><em>]</em><em>]</em>) – Optional <a class="reference internal" href="glossary.html#term-metadata"><span class="xref std std-term">metadata</span></a> to be transmitted to the
 <li><p><strong>metadata</strong> (<em>Optional</em><em>[</em><em>Sequence</em><em>[</em><em>Tuple</em><em>[</em><em>str</em><em>, </em><em>AnyStr</em><em>]</em><em>]</em><em>]</em>) – Optional <a class="reference internal" href="glossary.html#term-metadata"><span class="xref std std-term">metadata</span></a> to be transmitted to the
@@ -1522,7 +1555,6 @@ secure Channel.</p></li>
 flag to enable wait for ready mechanism</p></li>
 flag to enable wait for ready mechanism</p></li>
 <li><p><strong>compression</strong> (<em>Optional</em><em>[</em><a class="reference internal" href="grpc.html#grpc.Compression" title="grpc.Compression"><em>grpc.Compression</em></a><em>]</em>) – An element of grpc.compression, e.g.
 <li><p><strong>compression</strong> (<em>Optional</em><em>[</em><a class="reference internal" href="grpc.html#grpc.Compression" title="grpc.Compression"><em>grpc.Compression</em></a><em>]</em>) – An element of grpc.compression, e.g.
 grpc.compression.Gzip. This is an EXPERIMENTAL option.</p></li>
 grpc.compression.Gzip. This is an EXPERIMENTAL option.</p></li>
-<li><p><strong>request_async_iterator</strong> (<em>Optional</em><em>[</em><em>AsyncIterable</em><em>[</em><em>Any</em><em>]</em><em>]</em>) – </p></li>
 </ul>
 </ul>
 </dd>
 </dd>
 <dt class="field-even">Returns</dt>
 <dt class="field-even">Returns</dt>
@@ -1541,18 +1573,19 @@ grpc.compression.Gzip. This is an EXPERIMENTAL option.</p></li>
 
 
 </dd></dl>
 </dd></dl>
 
 
-<dl class="class">
+<dl class="py class">
 <dt id="grpc.experimental.aio.StreamStreamMultiCallable">
 <dt id="grpc.experimental.aio.StreamStreamMultiCallable">
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">StreamStreamMultiCallable</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#StreamStreamMultiCallable"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamStreamMultiCallable" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc.experimental.aio.</code><code class="sig-name descname">StreamStreamMultiCallable</code><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#StreamStreamMultiCallable"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamStreamMultiCallable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Enables asynchronous invocation of a bidirectional-streaming RPC.</p>
 <dd><p>Enables asynchronous invocation of a bidirectional-streaming RPC.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc.experimental.aio.StreamStreamMultiCallable.__call__">
 <dt id="grpc.experimental.aio.StreamStreamMultiCallable.__call__">
-<em class="property">abstract </em><code class="sig-name descname">__call__</code><span class="sig-paren">(</span><em class="sig-param">request_async_iterator=None</em>, <em class="sig-param">timeout=None</em>, <em class="sig-param">metadata=()</em>, <em class="sig-param">credentials=None</em>, <em class="sig-param">wait_for_ready=None</em>, <em class="sig-param">compression=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#StreamStreamMultiCallable.__call__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamStreamMultiCallable.__call__" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">__call__</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">request_iterator</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">timeout</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">metadata</span><span class="o">=</span><span class="default_value">()</span></em>, <em class="sig-param"><span class="n">credentials</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">wait_for_ready</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">compression</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc/experimental/aio/_base_channel.html#StreamStreamMultiCallable.__call__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc.experimental.aio.StreamStreamMultiCallable.__call__" title="Permalink to this definition">¶</a></dt>
 <dd><p>Asynchronously invokes the underlying RPC.</p>
 <dd><p>Asynchronously invokes the underlying RPC.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>request</strong> – The request value for the RPC.</p></li>
+<li><p><strong>request_iterator</strong> (<em>Union</em><em>[</em><em>Iterable</em><em>[</em><em>Any</em><em>]</em><em>, </em><em>AsyncIterable</em><em>[</em><em>Any</em><em>]</em><em>, </em><em>None</em><em>]</em>) – An optional async iterable or iterable of request
+messages for the RPC.</p></li>
 <li><p><strong>timeout</strong> (<em>Optional</em><em>[</em><em>float</em><em>]</em>) – An optional duration of time in seconds to allow
 <li><p><strong>timeout</strong> (<em>Optional</em><em>[</em><em>float</em><em>]</em>) – An optional duration of time in seconds to allow
 for the RPC.</p></li>
 for the RPC.</p></li>
 <li><p><strong>metadata</strong> (<em>Optional</em><em>[</em><em>Sequence</em><em>[</em><em>Tuple</em><em>[</em><em>str</em><em>, </em><em>AnyStr</em><em>]</em><em>]</em><em>]</em>) – Optional <a class="reference internal" href="glossary.html#term-metadata"><span class="xref std std-term">metadata</span></a> to be transmitted to the
 <li><p><strong>metadata</strong> (<em>Optional</em><em>[</em><em>Sequence</em><em>[</em><em>Tuple</em><em>[</em><em>str</em><em>, </em><em>AnyStr</em><em>]</em><em>]</em><em>]</em>) – Optional <a class="reference internal" href="glossary.html#term-metadata"><span class="xref std std-term">metadata</span></a> to be transmitted to the
@@ -1563,7 +1596,6 @@ secure Channel.</p></li>
 flag to enable wait for ready mechanism</p></li>
 flag to enable wait for ready mechanism</p></li>
 <li><p><strong>compression</strong> (<em>Optional</em><em>[</em><a class="reference internal" href="grpc.html#grpc.Compression" title="grpc.Compression"><em>grpc.Compression</em></a><em>]</em>) – An element of grpc.compression, e.g.
 <li><p><strong>compression</strong> (<em>Optional</em><em>[</em><a class="reference internal" href="grpc.html#grpc.Compression" title="grpc.Compression"><em>grpc.Compression</em></a><em>]</em>) – An element of grpc.compression, e.g.
 grpc.compression.Gzip. This is an EXPERIMENTAL option.</p></li>
 grpc.compression.Gzip. This is an EXPERIMENTAL option.</p></li>
-<li><p><strong>request_async_iterator</strong> (<em>Optional</em><em>[</em><em>AsyncIterable</em><em>[</em><em>Any</em><em>]</em><em>]</em>) – </p></li>
 </ul>
 </ul>
 </dd>
 </dd>
 <dt class="field-even">Returns</dt>
 <dt class="field-even">Returns</dt>

+ 20 - 20
python/grpc_channelz.html

@@ -1,10 +1,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>gRPC Channelz &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>gRPC Channelz &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
     <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
@@ -31,7 +31,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 
@@ -99,58 +99,58 @@
 <div class="section" id="module-grpc_channelz.v1.channelz">
 <div class="section" id="module-grpc_channelz.v1.channelz">
 <span id="module-contents"></span><h2>Module Contents<a class="headerlink" href="#module-grpc_channelz.v1.channelz" title="Permalink to this headline">¶</a></h2>
 <span id="module-contents"></span><h2>Module Contents<a class="headerlink" href="#module-grpc_channelz.v1.channelz" title="Permalink to this headline">¶</a></h2>
 <p>Channelz debug service implementation in gRPC Python.</p>
 <p>Channelz debug service implementation in gRPC Python.</p>
-<dl class="class">
+<dl class="py class">
 <dt id="grpc_channelz.v1.channelz.ChannelzServicer">
 <dt id="grpc_channelz.v1.channelz.ChannelzServicer">
 <em class="property">class </em><code class="sig-prename descclassname">grpc_channelz.v1.channelz.</code><code class="sig-name descname">ChannelzServicer</code><a class="reference internal" href="_modules/grpc_channelz/v1/channelz.html#ChannelzServicer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_channelz.v1.channelz.ChannelzServicer" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc_channelz.v1.channelz.</code><code class="sig-name descname">ChannelzServicer</code><a class="reference internal" href="_modules/grpc_channelz/v1/channelz.html#ChannelzServicer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_channelz.v1.channelz.ChannelzServicer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Servicer handling RPCs for service statuses.</p>
 <dd><p>Servicer handling RPCs for service statuses.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_channelz.v1.channelz.ChannelzServicer.GetChannel">
 <dt id="grpc_channelz.v1.channelz.ChannelzServicer.GetChannel">
-<em class="property">static </em><code class="sig-name descname">GetChannel</code><span class="sig-paren">(</span><em class="sig-param">request</em>, <em class="sig-param">context</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_channelz/v1/channelz.html#ChannelzServicer.GetChannel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_channelz.v1.channelz.ChannelzServicer.GetChannel" title="Permalink to this definition">¶</a></dt>
+<em class="property">static </em><code class="sig-name descname">GetChannel</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">request</span></em>, <em class="sig-param"><span class="n">context</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_channelz/v1/channelz.html#ChannelzServicer.GetChannel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_channelz.v1.channelz.ChannelzServicer.GetChannel" title="Permalink to this definition">¶</a></dt>
 <dd><p>Returns a single Channel, or else a NOT_FOUND code.</p>
 <dd><p>Returns a single Channel, or else a NOT_FOUND code.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_channelz.v1.channelz.ChannelzServicer.GetServer">
 <dt id="grpc_channelz.v1.channelz.ChannelzServicer.GetServer">
-<em class="property">static </em><code class="sig-name descname">GetServer</code><span class="sig-paren">(</span><em class="sig-param">request</em>, <em class="sig-param">context</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_channelz/v1/channelz.html#ChannelzServicer.GetServer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_channelz.v1.channelz.ChannelzServicer.GetServer" title="Permalink to this definition">¶</a></dt>
+<em class="property">static </em><code class="sig-name descname">GetServer</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">request</span></em>, <em class="sig-param"><span class="n">context</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_channelz/v1/channelz.html#ChannelzServicer.GetServer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_channelz.v1.channelz.ChannelzServicer.GetServer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Returns a single Server, or else a NOT_FOUND code.</p>
 <dd><p>Returns a single Server, or else a NOT_FOUND code.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_channelz.v1.channelz.ChannelzServicer.GetServerSockets">
 <dt id="grpc_channelz.v1.channelz.ChannelzServicer.GetServerSockets">
-<em class="property">static </em><code class="sig-name descname">GetServerSockets</code><span class="sig-paren">(</span><em class="sig-param">request</em>, <em class="sig-param">context</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_channelz/v1/channelz.html#ChannelzServicer.GetServerSockets"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_channelz.v1.channelz.ChannelzServicer.GetServerSockets" title="Permalink to this definition">¶</a></dt>
+<em class="property">static </em><code class="sig-name descname">GetServerSockets</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">request</span></em>, <em class="sig-param"><span class="n">context</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_channelz/v1/channelz.html#ChannelzServicer.GetServerSockets"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_channelz.v1.channelz.ChannelzServicer.GetServerSockets" title="Permalink to this definition">¶</a></dt>
 <dd><p>Gets all server sockets that exist in the process.</p>
 <dd><p>Gets all server sockets that exist in the process.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_channelz.v1.channelz.ChannelzServicer.GetServers">
 <dt id="grpc_channelz.v1.channelz.ChannelzServicer.GetServers">
-<em class="property">static </em><code class="sig-name descname">GetServers</code><span class="sig-paren">(</span><em class="sig-param">request</em>, <em class="sig-param">context</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_channelz/v1/channelz.html#ChannelzServicer.GetServers"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_channelz.v1.channelz.ChannelzServicer.GetServers" title="Permalink to this definition">¶</a></dt>
+<em class="property">static </em><code class="sig-name descname">GetServers</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">request</span></em>, <em class="sig-param"><span class="n">context</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_channelz/v1/channelz.html#ChannelzServicer.GetServers"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_channelz.v1.channelz.ChannelzServicer.GetServers" title="Permalink to this definition">¶</a></dt>
 <dd><p>Gets all servers that exist in the process.</p>
 <dd><p>Gets all servers that exist in the process.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_channelz.v1.channelz.ChannelzServicer.GetSocket">
 <dt id="grpc_channelz.v1.channelz.ChannelzServicer.GetSocket">
-<em class="property">static </em><code class="sig-name descname">GetSocket</code><span class="sig-paren">(</span><em class="sig-param">request</em>, <em class="sig-param">context</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_channelz/v1/channelz.html#ChannelzServicer.GetSocket"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_channelz.v1.channelz.ChannelzServicer.GetSocket" title="Permalink to this definition">¶</a></dt>
+<em class="property">static </em><code class="sig-name descname">GetSocket</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">request</span></em>, <em class="sig-param"><span class="n">context</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_channelz/v1/channelz.html#ChannelzServicer.GetSocket"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_channelz.v1.channelz.ChannelzServicer.GetSocket" title="Permalink to this definition">¶</a></dt>
 <dd><p>Returns a single Socket or else a NOT_FOUND code.</p>
 <dd><p>Returns a single Socket or else a NOT_FOUND code.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_channelz.v1.channelz.ChannelzServicer.GetSubchannel">
 <dt id="grpc_channelz.v1.channelz.ChannelzServicer.GetSubchannel">
-<em class="property">static </em><code class="sig-name descname">GetSubchannel</code><span class="sig-paren">(</span><em class="sig-param">request</em>, <em class="sig-param">context</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_channelz/v1/channelz.html#ChannelzServicer.GetSubchannel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_channelz.v1.channelz.ChannelzServicer.GetSubchannel" title="Permalink to this definition">¶</a></dt>
+<em class="property">static </em><code class="sig-name descname">GetSubchannel</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">request</span></em>, <em class="sig-param"><span class="n">context</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_channelz/v1/channelz.html#ChannelzServicer.GetSubchannel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_channelz.v1.channelz.ChannelzServicer.GetSubchannel" title="Permalink to this definition">¶</a></dt>
 <dd><p>Returns a single Subchannel, or else a NOT_FOUND code.</p>
 <dd><p>Returns a single Subchannel, or else a NOT_FOUND code.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_channelz.v1.channelz.ChannelzServicer.GetTopChannels">
 <dt id="grpc_channelz.v1.channelz.ChannelzServicer.GetTopChannels">
-<em class="property">static </em><code class="sig-name descname">GetTopChannels</code><span class="sig-paren">(</span><em class="sig-param">request</em>, <em class="sig-param">context</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_channelz/v1/channelz.html#ChannelzServicer.GetTopChannels"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_channelz.v1.channelz.ChannelzServicer.GetTopChannels" title="Permalink to this definition">¶</a></dt>
+<em class="property">static </em><code class="sig-name descname">GetTopChannels</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">request</span></em>, <em class="sig-param"><span class="n">context</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_channelz/v1/channelz.html#ChannelzServicer.GetTopChannels"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_channelz.v1.channelz.ChannelzServicer.GetTopChannels" title="Permalink to this definition">¶</a></dt>
 <dd><p>Gets all root channels (i.e. channels the application has directly
 <dd><p>Gets all root channels (i.e. channels the application has directly
 created). This does not include subchannels nor non-top level channels.</p>
 created). This does not include subchannels nor non-top level channels.</p>
 </dd></dl>
 </dd></dl>
 
 
 </dd></dl>
 </dd></dl>
 
 
-<dl class="function">
+<dl class="py function">
 <dt id="grpc_channelz.v1.channelz.add_channelz_servicer">
 <dt id="grpc_channelz.v1.channelz.add_channelz_servicer">
-<code class="sig-prename descclassname">grpc_channelz.v1.channelz.</code><code class="sig-name descname">add_channelz_servicer</code><span class="sig-paren">(</span><em class="sig-param">server</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_channelz/v1/channelz.html#add_channelz_servicer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_channelz.v1.channelz.add_channelz_servicer" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">grpc_channelz.v1.channelz.</code><code class="sig-name descname">add_channelz_servicer</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">server</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_channelz/v1/channelz.html#add_channelz_servicer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_channelz.v1.channelz.add_channelz_servicer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Add Channelz servicer to a server. Channelz servicer is in charge of
 <dd><p>Add Channelz servicer to a server. Channelz servicer is in charge of
 pulling information from C-Core for entire process. It will allow the
 pulling information from C-Core for entire process. It will allow the
 server to response to Channelz queries.</p>
 server to response to Channelz queries.</p>

+ 12 - 12
python/grpc_health_checking.html

@@ -1,10 +1,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>gRPC Health Checking &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>gRPC Health Checking &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
     <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
@@ -31,7 +31,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 
@@ -93,20 +93,20 @@
 <h1>gRPC Health Checking<a class="headerlink" href="#grpc-health-checking" title="Permalink to this headline">¶</a></h1>
 <h1>gRPC Health Checking<a class="headerlink" href="#grpc-health-checking" title="Permalink to this headline">¶</a></h1>
 <div class="section" id="module-contents">
 <div class="section" id="module-contents">
 <h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
 <h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
+<dl class="py class">
 <dt id="grpc_health.v1.health.HealthServicer">
 <dt id="grpc_health.v1.health.HealthServicer">
-<em class="property">class </em><code class="sig-prename descclassname">grpc_health.v1.health.</code><code class="sig-name descname">HealthServicer</code><span class="sig-paren">(</span><em class="sig-param">experimental_non_blocking=True</em>, <em class="sig-param">experimental_thread_pool=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_health/v1/health.html#HealthServicer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_health.v1.health.HealthServicer" title="Permalink to this definition">¶</a></dt>
+<em class="property">class </em><code class="sig-prename descclassname">grpc_health.v1.health.</code><code class="sig-name descname">HealthServicer</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">experimental_non_blocking</span><span class="o">=</span><span class="default_value">True</span></em>, <em class="sig-param"><span class="n">experimental_thread_pool</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_health/v1/health.html#HealthServicer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_health.v1.health.HealthServicer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Servicer handling RPCs for service statuses.</p>
 <dd><p>Servicer handling RPCs for service statuses.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_health.v1.health.HealthServicer.Check">
 <dt id="grpc_health.v1.health.HealthServicer.Check">
-<code class="sig-name descname">Check</code><span class="sig-paren">(</span><em class="sig-param">request</em>, <em class="sig-param">context</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_health/v1/health.html#HealthServicer.Check"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_health.v1.health.HealthServicer.Check" title="Permalink to this definition">¶</a></dt>
+<code class="sig-name descname">Check</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">request</span></em>, <em class="sig-param"><span class="n">context</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_health/v1/health.html#HealthServicer.Check"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_health.v1.health.HealthServicer.Check" title="Permalink to this definition">¶</a></dt>
 <dd><p>If the requested service is unknown, the call will fail with status
 <dd><p>If the requested service is unknown, the call will fail with status
 NOT_FOUND.</p>
 NOT_FOUND.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_health.v1.health.HealthServicer.Watch">
 <dt id="grpc_health.v1.health.HealthServicer.Watch">
-<code class="sig-name descname">Watch</code><span class="sig-paren">(</span><em class="sig-param">request</em>, <em class="sig-param">context</em>, <em class="sig-param">send_response_callback=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_health/v1/health.html#HealthServicer.Watch"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_health.v1.health.HealthServicer.Watch" title="Permalink to this definition">¶</a></dt>
+<code class="sig-name descname">Watch</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">request</span></em>, <em class="sig-param"><span class="n">context</span></em>, <em class="sig-param"><span class="n">send_response_callback</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_health/v1/health.html#HealthServicer.Watch"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_health.v1.health.HealthServicer.Watch" title="Permalink to this definition">¶</a></dt>
 <dd><p>Performs a watch for the serving status of the requested service.
 <dd><p>Performs a watch for the serving status of the requested service.
 The server will immediately send back a message indicating the current
 The server will immediately send back a message indicating the current
 serving status.  It will then subsequently send a new message whenever
 serving status.  It will then subsequently send a new message whenever
@@ -122,7 +122,7 @@ call.  If the call terminates with any other status (including OK),
 clients should retry the call with appropriate exponential backoff.</p>
 clients should retry the call with appropriate exponential backoff.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_health.v1.health.HealthServicer.enter_graceful_shutdown">
 <dt id="grpc_health.v1.health.HealthServicer.enter_graceful_shutdown">
 <code class="sig-name descname">enter_graceful_shutdown</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_health/v1/health.html#HealthServicer.enter_graceful_shutdown"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_health.v1.health.HealthServicer.enter_graceful_shutdown" title="Permalink to this definition">¶</a></dt>
 <code class="sig-name descname">enter_graceful_shutdown</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_health/v1/health.html#HealthServicer.enter_graceful_shutdown"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_health.v1.health.HealthServicer.enter_graceful_shutdown" title="Permalink to this definition">¶</a></dt>
 <dd><p>Permanently sets the status of all services to NOT_SERVING.</p>
 <dd><p>Permanently sets the status of all services to NOT_SERVING.</p>
@@ -132,9 +132,9 @@ of a service will be ignored.</p>
 <p>This is an EXPERIMENTAL API.</p>
 <p>This is an EXPERIMENTAL API.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_health.v1.health.HealthServicer.set">
 <dt id="grpc_health.v1.health.HealthServicer.set">
-<code class="sig-name descname">set</code><span class="sig-paren">(</span><em class="sig-param">service</em>, <em class="sig-param">status</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_health/v1/health.html#HealthServicer.set"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_health.v1.health.HealthServicer.set" title="Permalink to this definition">¶</a></dt>
+<code class="sig-name descname">set</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">service</span></em>, <em class="sig-param"><span class="n">status</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_health/v1/health.html#HealthServicer.set"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_health.v1.health.HealthServicer.set" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sets the status of a service.</p>
 <dd><p>Sets the status of a service.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>

+ 9 - 9
python/grpc_reflection.html

@@ -1,10 +1,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>gRPC Reflection &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>gRPC Reflection &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
     <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
@@ -31,7 +31,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 
@@ -104,22 +104,22 @@
 <div class="section" id="module-grpc_reflection.v1alpha.reflection">
 <div class="section" id="module-grpc_reflection.v1alpha.reflection">
 <span id="module-contents"></span><h2>Module Contents<a class="headerlink" href="#module-grpc_reflection.v1alpha.reflection" title="Permalink to this headline">¶</a></h2>
 <span id="module-contents"></span><h2>Module Contents<a class="headerlink" href="#module-grpc_reflection.v1alpha.reflection" title="Permalink to this headline">¶</a></h2>
 <p>Reference implementation for reflection in gRPC Python.</p>
 <p>Reference implementation for reflection in gRPC Python.</p>
-<dl class="class">
+<dl class="py class">
 <dt id="grpc_reflection.v1alpha.reflection.ReflectionServicer">
 <dt id="grpc_reflection.v1alpha.reflection.ReflectionServicer">
-<em class="property">class </em><code class="sig-prename descclassname">grpc_reflection.v1alpha.reflection.</code><code class="sig-name descname">ReflectionServicer</code><span class="sig-paren">(</span><em class="sig-param">service_names</em>, <em class="sig-param">pool=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_reflection/v1alpha/reflection.html#ReflectionServicer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_reflection.v1alpha.reflection.ReflectionServicer" title="Permalink to this definition">¶</a></dt>
+<em class="property">class </em><code class="sig-prename descclassname">grpc_reflection.v1alpha.reflection.</code><code class="sig-name descname">ReflectionServicer</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">service_names</span></em>, <em class="sig-param"><span class="n">pool</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_reflection/v1alpha/reflection.html#ReflectionServicer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_reflection.v1alpha.reflection.ReflectionServicer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Servicer handling RPCs for service statuses.</p>
 <dd><p>Servicer handling RPCs for service statuses.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_reflection.v1alpha.reflection.ReflectionServicer.ServerReflectionInfo">
 <dt id="grpc_reflection.v1alpha.reflection.ReflectionServicer.ServerReflectionInfo">
-<code class="sig-name descname">ServerReflectionInfo</code><span class="sig-paren">(</span><em class="sig-param">request_iterator</em>, <em class="sig-param">context</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_reflection/v1alpha/reflection.html#ReflectionServicer.ServerReflectionInfo"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_reflection.v1alpha.reflection.ReflectionServicer.ServerReflectionInfo" title="Permalink to this definition">¶</a></dt>
+<code class="sig-name descname">ServerReflectionInfo</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">request_iterator</span></em>, <em class="sig-param"><span class="n">context</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_reflection/v1alpha/reflection.html#ReflectionServicer.ServerReflectionInfo"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_reflection.v1alpha.reflection.ReflectionServicer.ServerReflectionInfo" title="Permalink to this definition">¶</a></dt>
 <dd><p>The reflection service is structured as a bidirectional stream, ensuring
 <dd><p>The reflection service is structured as a bidirectional stream, ensuring
 all related requests go to a single server.</p>
 all related requests go to a single server.</p>
 </dd></dl>
 </dd></dl>
 
 
 </dd></dl>
 </dd></dl>
 
 
-<dl class="function">
+<dl class="py function">
 <dt id="grpc_reflection.v1alpha.reflection.enable_server_reflection">
 <dt id="grpc_reflection.v1alpha.reflection.enable_server_reflection">
-<code class="sig-prename descclassname">grpc_reflection.v1alpha.reflection.</code><code class="sig-name descname">enable_server_reflection</code><span class="sig-paren">(</span><em class="sig-param">service_names</em>, <em class="sig-param">server</em>, <em class="sig-param">pool=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_reflection/v1alpha/reflection.html#enable_server_reflection"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_reflection.v1alpha.reflection.enable_server_reflection" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">grpc_reflection.v1alpha.reflection.</code><code class="sig-name descname">enable_server_reflection</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">service_names</span></em>, <em class="sig-param"><span class="n">server</span></em>, <em class="sig-param"><span class="n">pool</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_reflection/v1alpha/reflection.html#enable_server_reflection"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_reflection.v1alpha.reflection.enable_server_reflection" title="Permalink to this definition">¶</a></dt>
 <dd><p>Enables server reflection on a server.</p>
 <dd><p>Enables server reflection on a server.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>

+ 7 - 7
python/grpc_status.html

@@ -1,10 +1,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>gRPC Status &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>gRPC Status &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
     <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
@@ -31,7 +31,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 
@@ -94,9 +94,9 @@
 <div class="section" id="module-grpc_status.rpc_status">
 <div class="section" id="module-grpc_status.rpc_status">
 <span id="module-contents"></span><h2>Module Contents<a class="headerlink" href="#module-grpc_status.rpc_status" title="Permalink to this headline">¶</a></h2>
 <span id="module-contents"></span><h2>Module Contents<a class="headerlink" href="#module-grpc_status.rpc_status" title="Permalink to this headline">¶</a></h2>
 <p>Reference implementation for status mapping in gRPC Python.</p>
 <p>Reference implementation for status mapping in gRPC Python.</p>
-<dl class="function">
+<dl class="py function">
 <dt id="grpc_status.rpc_status.from_call">
 <dt id="grpc_status.rpc_status.from_call">
-<code class="sig-prename descclassname">grpc_status.rpc_status.</code><code class="sig-name descname">from_call</code><span class="sig-paren">(</span><em class="sig-param">call</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_status/rpc_status.html#from_call"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_status.rpc_status.from_call" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">grpc_status.rpc_status.</code><code class="sig-name descname">from_call</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">call</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_status/rpc_status.html#from_call"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_status.rpc_status.from_call" title="Permalink to this definition">¶</a></dt>
 <dd><p>Returns a google.rpc.status.Status message corresponding to a given grpc.Call.</p>
 <dd><p>Returns a google.rpc.status.Status message corresponding to a given grpc.Call.</p>
 <p>This is an EXPERIMENTAL API.</p>
 <p>This is an EXPERIMENTAL API.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
@@ -113,9 +113,9 @@
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="function">
+<dl class="py function">
 <dt id="grpc_status.rpc_status.to_status">
 <dt id="grpc_status.rpc_status.to_status">
-<code class="sig-prename descclassname">grpc_status.rpc_status.</code><code class="sig-name descname">to_status</code><span class="sig-paren">(</span><em class="sig-param">status</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_status/rpc_status.html#to_status"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_status.rpc_status.to_status" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">grpc_status.rpc_status.</code><code class="sig-name descname">to_status</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">status</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_status/rpc_status.html#to_status"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_status.rpc_status.to_status" title="Permalink to this definition">¶</a></dt>
 <dd><p>Convert a google.rpc.status.Status message to grpc.Status.</p>
 <dd><p>Convert a google.rpc.status.Status message to grpc.Status.</p>
 <p>This is an EXPERIMENTAL API.</p>
 <p>This is an EXPERIMENTAL API.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">

+ 94 - 94
python/grpc_testing.html

@@ -1,10 +1,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>gRPC Testing &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>gRPC Testing &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
     <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
@@ -31,7 +31,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 
@@ -94,13 +94,13 @@
 <div class="section" id="module-grpc_testing">
 <div class="section" id="module-grpc_testing">
 <span id="module-contents"></span><h2>Module Contents<a class="headerlink" href="#module-grpc_testing" title="Permalink to this headline">¶</a></h2>
 <span id="module-contents"></span><h2>Module Contents<a class="headerlink" href="#module-grpc_testing" title="Permalink to this headline">¶</a></h2>
 <p>Objects for use in testing gRPC Python-using application code.</p>
 <p>Objects for use in testing gRPC Python-using application code.</p>
-<dl class="class">
+<dl class="py class">
 <dt id="grpc_testing.Channel">
 <dt id="grpc_testing.Channel">
 <em class="property">class </em><code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">Channel</code><a class="reference internal" href="_modules/grpc_testing.html#Channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Channel" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">Channel</code><a class="reference internal" href="_modules/grpc_testing.html#Channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Channel" title="Permalink to this definition">¶</a></dt>
 <dd><p>A grpc.Channel double with which to test a system that invokes RPCs.</p>
 <dd><p>A grpc.Channel double with which to test a system that invokes RPCs.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.Channel.take_stream_stream">
 <dt id="grpc_testing.Channel.take_stream_stream">
-<em class="property">abstract </em><code class="sig-name descname">take_stream_stream</code><span class="sig-paren">(</span><em class="sig-param">method_descriptor</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Channel.take_stream_stream"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Channel.take_stream_stream" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">take_stream_stream</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">method_descriptor</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Channel.take_stream_stream"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Channel.take_stream_stream" title="Permalink to this definition">¶</a></dt>
 <dd><p>Draws an RPC currently being made by the system under test.</p>
 <dd><p>Draws an RPC currently being made by the system under test.</p>
 <p>If the given descriptor does not identify any RPC currently being made
 <p>If the given descriptor does not identify any RPC currently being made
 by the system under test, this method blocks until the system under
 by the system under test, this method blocks until the system under
@@ -121,9 +121,9 @@ stream-stream RPC method.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.Channel.take_stream_unary">
 <dt id="grpc_testing.Channel.take_stream_unary">
-<em class="property">abstract </em><code class="sig-name descname">take_stream_unary</code><span class="sig-paren">(</span><em class="sig-param">method_descriptor</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Channel.take_stream_unary"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Channel.take_stream_unary" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">take_stream_unary</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">method_descriptor</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Channel.take_stream_unary"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Channel.take_stream_unary" title="Permalink to this definition">¶</a></dt>
 <dd><p>Draws an RPC currently being made by the system under test.</p>
 <dd><p>Draws an RPC currently being made by the system under test.</p>
 <p>If the given descriptor does not identify any RPC currently being made
 <p>If the given descriptor does not identify any RPC currently being made
 by the system under test, this method blocks until the system under
 by the system under test, this method blocks until the system under
@@ -144,9 +144,9 @@ server” for the RPC.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.Channel.take_unary_stream">
 <dt id="grpc_testing.Channel.take_unary_stream">
-<em class="property">abstract </em><code class="sig-name descname">take_unary_stream</code><span class="sig-paren">(</span><em class="sig-param">method_descriptor</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Channel.take_unary_stream"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Channel.take_unary_stream" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">take_unary_stream</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">method_descriptor</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Channel.take_unary_stream"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Channel.take_unary_stream" title="Permalink to this definition">¶</a></dt>
 <dd><p>Draws an RPC currently being made by the system under test.</p>
 <dd><p>Draws an RPC currently being made by the system under test.</p>
 <p>If the given descriptor does not identify any RPC currently being made
 <p>If the given descriptor does not identify any RPC currently being made
 by the system under test, this method blocks until the system under
 by the system under test, this method blocks until the system under
@@ -167,9 +167,9 @@ UnaryStreamChannelRpc with which to “play server” for the RPC.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.Channel.take_unary_unary">
 <dt id="grpc_testing.Channel.take_unary_unary">
-<em class="property">abstract </em><code class="sig-name descname">take_unary_unary</code><span class="sig-paren">(</span><em class="sig-param">method_descriptor</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Channel.take_unary_unary"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Channel.take_unary_unary" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">take_unary_unary</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">method_descriptor</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Channel.take_unary_unary"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Channel.take_unary_unary" title="Permalink to this definition">¶</a></dt>
 <dd><p>Draws an RPC currently being made by the system under test.</p>
 <dd><p>Draws an RPC currently being made by the system under test.</p>
 <p>If the given descriptor does not identify any RPC currently being made
 <p>If the given descriptor does not identify any RPC currently being made
 by the system under test, this method blocks until the system under
 by the system under test, this method blocks until the system under
@@ -192,13 +192,13 @@ UnaryUnaryChannelRpc with which to “play server” for the RPC.</p>
 
 
 </dd></dl>
 </dd></dl>
 
 
-<dl class="class">
+<dl class="py class">
 <dt id="grpc_testing.Server">
 <dt id="grpc_testing.Server">
 <em class="property">class </em><code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">Server</code><a class="reference internal" href="_modules/grpc_testing.html#Server"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Server" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">Server</code><a class="reference internal" href="_modules/grpc_testing.html#Server"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Server" title="Permalink to this definition">¶</a></dt>
 <dd><p>A server with which to test a system that services RPCs.</p>
 <dd><p>A server with which to test a system that services RPCs.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.Server.invoke_stream_stream">
 <dt id="grpc_testing.Server.invoke_stream_stream">
-<em class="property">abstract </em><code class="sig-name descname">invoke_stream_stream</code><span class="sig-paren">(</span><em class="sig-param">method_descriptor</em>, <em class="sig-param">invocation_metadata</em>, <em class="sig-param">timeout</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Server.invoke_stream_stream"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Server.invoke_stream_stream" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">invoke_stream_stream</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">method_descriptor</span></em>, <em class="sig-param"><span class="n">invocation_metadata</span></em>, <em class="sig-param"><span class="n">timeout</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Server.invoke_stream_stream"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Server.invoke_stream_stream" title="Permalink to this definition">¶</a></dt>
 <dd><p>Invokes an RPC to be serviced by the system under test.</p>
 <dd><p>Invokes an RPC to be serviced by the system under test.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -216,9 +216,9 @@ indicate that the RPC has no time limit.</p></li>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.Server.invoke_stream_unary">
 <dt id="grpc_testing.Server.invoke_stream_unary">
-<em class="property">abstract </em><code class="sig-name descname">invoke_stream_unary</code><span class="sig-paren">(</span><em class="sig-param">method_descriptor</em>, <em class="sig-param">invocation_metadata</em>, <em class="sig-param">timeout</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Server.invoke_stream_unary"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Server.invoke_stream_unary" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">invoke_stream_unary</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">method_descriptor</span></em>, <em class="sig-param"><span class="n">invocation_metadata</span></em>, <em class="sig-param"><span class="n">timeout</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Server.invoke_stream_unary"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Server.invoke_stream_unary" title="Permalink to this definition">¶</a></dt>
 <dd><p>Invokes an RPC to be serviced by the system under test.</p>
 <dd><p>Invokes an RPC to be serviced by the system under test.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -236,9 +236,9 @@ indicate that the RPC has no time limit.</p></li>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.Server.invoke_unary_stream">
 <dt id="grpc_testing.Server.invoke_unary_stream">
-<em class="property">abstract </em><code class="sig-name descname">invoke_unary_stream</code><span class="sig-paren">(</span><em class="sig-param">method_descriptor</em>, <em class="sig-param">invocation_metadata</em>, <em class="sig-param">request</em>, <em class="sig-param">timeout</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Server.invoke_unary_stream"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Server.invoke_unary_stream" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">invoke_unary_stream</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">method_descriptor</span></em>, <em class="sig-param"><span class="n">invocation_metadata</span></em>, <em class="sig-param"><span class="n">request</span></em>, <em class="sig-param"><span class="n">timeout</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Server.invoke_unary_stream"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Server.invoke_unary_stream" title="Permalink to this definition">¶</a></dt>
 <dd><p>Invokes an RPC to be serviced by the system under test.</p>
 <dd><p>Invokes an RPC to be serviced by the system under test.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -257,9 +257,9 @@ indicate that the RPC has no time limit.</p></li>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.Server.invoke_unary_unary">
 <dt id="grpc_testing.Server.invoke_unary_unary">
-<em class="property">abstract </em><code class="sig-name descname">invoke_unary_unary</code><span class="sig-paren">(</span><em class="sig-param">method_descriptor</em>, <em class="sig-param">invocation_metadata</em>, <em class="sig-param">request</em>, <em class="sig-param">timeout</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Server.invoke_unary_unary"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Server.invoke_unary_unary" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">invoke_unary_unary</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">method_descriptor</span></em>, <em class="sig-param"><span class="n">invocation_metadata</span></em>, <em class="sig-param"><span class="n">request</span></em>, <em class="sig-param"><span class="n">timeout</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Server.invoke_unary_unary"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Server.invoke_unary_unary" title="Permalink to this definition">¶</a></dt>
 <dd><p>Invokes an RPC to be serviced by the system under test.</p>
 <dd><p>Invokes an RPC to be serviced by the system under test.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -280,26 +280,26 @@ indicate that the RPC has no time limit.</p></li>
 
 
 </dd></dl>
 </dd></dl>
 
 
-<dl class="class">
+<dl class="py class">
 <dt id="grpc_testing.StreamStreamChannelRpc">
 <dt id="grpc_testing.StreamStreamChannelRpc">
 <em class="property">class </em><code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">StreamStreamChannelRpc</code><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamChannelRpc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamChannelRpc" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">StreamStreamChannelRpc</code><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamChannelRpc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamChannelRpc" title="Permalink to this definition">¶</a></dt>
 <dd><p>Fixture for a stream-stream RPC invoked by a system under test.</p>
 <dd><p>Fixture for a stream-stream RPC invoked by a system under test.</p>
 <p>Enables users to “play server” for the RPC.</p>
 <p>Enables users to “play server” for the RPC.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.StreamStreamChannelRpc.cancelled">
 <dt id="grpc_testing.StreamStreamChannelRpc.cancelled">
 <em class="property">abstract </em><code class="sig-name descname">cancelled</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamChannelRpc.cancelled"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamChannelRpc.cancelled" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">cancelled</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamChannelRpc.cancelled"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamChannelRpc.cancelled" title="Permalink to this definition">¶</a></dt>
 <dd><p>Blocks until the system under test has cancelled the RPC.</p>
 <dd><p>Blocks until the system under test has cancelled the RPC.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.StreamStreamChannelRpc.requests_closed">
 <dt id="grpc_testing.StreamStreamChannelRpc.requests_closed">
 <em class="property">abstract </em><code class="sig-name descname">requests_closed</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamChannelRpc.requests_closed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamChannelRpc.requests_closed" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">requests_closed</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamChannelRpc.requests_closed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamChannelRpc.requests_closed" title="Permalink to this definition">¶</a></dt>
 <dd><p>Blocks until the system under test has closed the request stream.</p>
 <dd><p>Blocks until the system under test has closed the request stream.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.StreamStreamChannelRpc.send_initial_metadata">
 <dt id="grpc_testing.StreamStreamChannelRpc.send_initial_metadata">
-<em class="property">abstract </em><code class="sig-name descname">send_initial_metadata</code><span class="sig-paren">(</span><em class="sig-param">initial_metadata</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamChannelRpc.send_initial_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamChannelRpc.send_initial_metadata" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">send_initial_metadata</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">initial_metadata</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamChannelRpc.send_initial_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamChannelRpc.send_initial_metadata" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sends the RPC’s initial metadata to the system under test.</p>
 <dd><p>Sends the RPC’s initial metadata to the system under test.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -309,9 +309,9 @@ system under test.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.StreamStreamChannelRpc.send_response">
 <dt id="grpc_testing.StreamStreamChannelRpc.send_response">
-<em class="property">abstract </em><code class="sig-name descname">send_response</code><span class="sig-paren">(</span><em class="sig-param">response</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamChannelRpc.send_response"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamChannelRpc.send_response" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">send_response</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">response</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamChannelRpc.send_response"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamChannelRpc.send_response" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sends a response to the system under test.</p>
 <dd><p>Sends a response to the system under test.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -320,7 +320,7 @@ system under test.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.StreamStreamChannelRpc.take_request">
 <dt id="grpc_testing.StreamStreamChannelRpc.take_request">
 <em class="property">abstract </em><code class="sig-name descname">take_request</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamChannelRpc.take_request"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamChannelRpc.take_request" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">take_request</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamChannelRpc.take_request"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamChannelRpc.take_request" title="Permalink to this definition">¶</a></dt>
 <dd><p>Draws one of the requests added to the RPC by the system under test.</p>
 <dd><p>Draws one of the requests added to the RPC by the system under test.</p>
@@ -335,9 +335,9 @@ which the system under test added them to the RPC.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.StreamStreamChannelRpc.terminate">
 <dt id="grpc_testing.StreamStreamChannelRpc.terminate">
-<em class="property">abstract </em><code class="sig-name descname">terminate</code><span class="sig-paren">(</span><em class="sig-param">trailing_metadata</em>, <em class="sig-param">code</em>, <em class="sig-param">details</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamChannelRpc.terminate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamChannelRpc.terminate" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">terminate</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">trailing_metadata</span></em>, <em class="sig-param"><span class="n">code</span></em>, <em class="sig-param"><span class="n">details</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamChannelRpc.terminate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamChannelRpc.terminate" title="Permalink to this definition">¶</a></dt>
 <dd><p>Terminates the RPC.</p>
 <dd><p>Terminates the RPC.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -352,18 +352,18 @@ which the system under test added them to the RPC.</p>
 
 
 </dd></dl>
 </dd></dl>
 
 
-<dl class="class">
+<dl class="py class">
 <dt id="grpc_testing.StreamStreamServerRpc">
 <dt id="grpc_testing.StreamStreamServerRpc">
 <em class="property">class </em><code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">StreamStreamServerRpc</code><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamServerRpc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamServerRpc" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">StreamStreamServerRpc</code><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamServerRpc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamServerRpc" title="Permalink to this definition">¶</a></dt>
 <dd><p>Fixture for a stream-stream RPC serviced by a system under test.</p>
 <dd><p>Fixture for a stream-stream RPC serviced by a system under test.</p>
 <p>Enables users to “play client” for the RPC.</p>
 <p>Enables users to “play client” for the RPC.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.StreamStreamServerRpc.cancel">
 <dt id="grpc_testing.StreamStreamServerRpc.cancel">
 <em class="property">abstract </em><code class="sig-name descname">cancel</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamServerRpc.cancel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamServerRpc.cancel" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">cancel</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamServerRpc.cancel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamServerRpc.cancel" title="Permalink to this definition">¶</a></dt>
 <dd><p>Cancels the RPC.</p>
 <dd><p>Cancels the RPC.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.StreamStreamServerRpc.initial_metadata">
 <dt id="grpc_testing.StreamStreamServerRpc.initial_metadata">
 <em class="property">abstract </em><code class="sig-name descname">initial_metadata</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamServerRpc.initial_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamServerRpc.initial_metadata" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">initial_metadata</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamServerRpc.initial_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamServerRpc.initial_metadata" title="Permalink to this definition">¶</a></dt>
 <dd><p>Accesses the initial metadata emitted by the system under test.</p>
 <dd><p>Accesses the initial metadata emitted by the system under test.</p>
@@ -378,15 +378,15 @@ synthesize initial metadata for the RPC).</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.StreamStreamServerRpc.requests_closed">
 <dt id="grpc_testing.StreamStreamServerRpc.requests_closed">
 <em class="property">abstract </em><code class="sig-name descname">requests_closed</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamServerRpc.requests_closed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamServerRpc.requests_closed" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">requests_closed</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamServerRpc.requests_closed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamServerRpc.requests_closed" title="Permalink to this definition">¶</a></dt>
 <dd><p>Indicates the end of the RPC’s request stream.</p>
 <dd><p>Indicates the end of the RPC’s request stream.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.StreamStreamServerRpc.send_request">
 <dt id="grpc_testing.StreamStreamServerRpc.send_request">
-<em class="property">abstract </em><code class="sig-name descname">send_request</code><span class="sig-paren">(</span><em class="sig-param">request</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamServerRpc.send_request"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamServerRpc.send_request" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">send_request</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">request</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamServerRpc.send_request"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamServerRpc.send_request" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sends a request to the system under test.</p>
 <dd><p>Sends a request to the system under test.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -396,7 +396,7 @@ under test.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.StreamStreamServerRpc.take_response">
 <dt id="grpc_testing.StreamStreamServerRpc.take_response">
 <em class="property">abstract </em><code class="sig-name descname">take_response</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamServerRpc.take_response"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamServerRpc.take_response" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">take_response</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamServerRpc.take_response"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamServerRpc.take_response" title="Permalink to this definition">¶</a></dt>
 <dd><p>Draws one of the responses added to the RPC by the system under test.</p>
 <dd><p>Draws one of the responses added to the RPC by the system under test.</p>
@@ -409,7 +409,7 @@ which the system under test added them to the RPC.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.StreamStreamServerRpc.termination">
 <dt id="grpc_testing.StreamStreamServerRpc.termination">
 <em class="property">abstract </em><code class="sig-name descname">termination</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamServerRpc.termination"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamServerRpc.termination" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">termination</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamStreamServerRpc.termination"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamStreamServerRpc.termination" title="Permalink to this definition">¶</a></dt>
 <dd><p>Blocks until the system under test has terminated the RPC.</p>
 <dd><p>Blocks until the system under test has terminated the RPC.</p>
@@ -426,26 +426,26 @@ which the system under test added them to the RPC.</p>
 
 
 </dd></dl>
 </dd></dl>
 
 
-<dl class="class">
+<dl class="py class">
 <dt id="grpc_testing.StreamUnaryChannelRpc">
 <dt id="grpc_testing.StreamUnaryChannelRpc">
 <em class="property">class </em><code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">StreamUnaryChannelRpc</code><a class="reference internal" href="_modules/grpc_testing.html#StreamUnaryChannelRpc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamUnaryChannelRpc" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">StreamUnaryChannelRpc</code><a class="reference internal" href="_modules/grpc_testing.html#StreamUnaryChannelRpc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamUnaryChannelRpc" title="Permalink to this definition">¶</a></dt>
 <dd><p>Fixture for a stream-unary RPC invoked by a system under test.</p>
 <dd><p>Fixture for a stream-unary RPC invoked by a system under test.</p>
 <p>Enables users to “play server” for the RPC.</p>
 <p>Enables users to “play server” for the RPC.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.StreamUnaryChannelRpc.cancelled">
 <dt id="grpc_testing.StreamUnaryChannelRpc.cancelled">
 <em class="property">abstract </em><code class="sig-name descname">cancelled</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamUnaryChannelRpc.cancelled"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamUnaryChannelRpc.cancelled" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">cancelled</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamUnaryChannelRpc.cancelled"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamUnaryChannelRpc.cancelled" title="Permalink to this definition">¶</a></dt>
 <dd><p>Blocks until the system under test has cancelled the RPC.</p>
 <dd><p>Blocks until the system under test has cancelled the RPC.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.StreamUnaryChannelRpc.requests_closed">
 <dt id="grpc_testing.StreamUnaryChannelRpc.requests_closed">
 <em class="property">abstract </em><code class="sig-name descname">requests_closed</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamUnaryChannelRpc.requests_closed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamUnaryChannelRpc.requests_closed" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">requests_closed</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamUnaryChannelRpc.requests_closed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamUnaryChannelRpc.requests_closed" title="Permalink to this definition">¶</a></dt>
 <dd><p>Blocks until the system under test has closed the request stream.</p>
 <dd><p>Blocks until the system under test has closed the request stream.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.StreamUnaryChannelRpc.send_initial_metadata">
 <dt id="grpc_testing.StreamUnaryChannelRpc.send_initial_metadata">
-<em class="property">abstract </em><code class="sig-name descname">send_initial_metadata</code><span class="sig-paren">(</span><em class="sig-param">initial_metadata</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamUnaryChannelRpc.send_initial_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamUnaryChannelRpc.send_initial_metadata" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">send_initial_metadata</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">initial_metadata</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamUnaryChannelRpc.send_initial_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamUnaryChannelRpc.send_initial_metadata" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sends the RPC’s initial metadata to the system under test.</p>
 <dd><p>Sends the RPC’s initial metadata to the system under test.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -455,7 +455,7 @@ the system under test.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.StreamUnaryChannelRpc.take_request">
 <dt id="grpc_testing.StreamUnaryChannelRpc.take_request">
 <em class="property">abstract </em><code class="sig-name descname">take_request</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamUnaryChannelRpc.take_request"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamUnaryChannelRpc.take_request" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">take_request</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamUnaryChannelRpc.take_request"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamUnaryChannelRpc.take_request" title="Permalink to this definition">¶</a></dt>
 <dd><p>Draws one of the requests added to the RPC by the system under test.</p>
 <dd><p>Draws one of the requests added to the RPC by the system under test.</p>
@@ -470,9 +470,9 @@ which the system under test added them to the RPC.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.StreamUnaryChannelRpc.terminate">
 <dt id="grpc_testing.StreamUnaryChannelRpc.terminate">
-<em class="property">abstract </em><code class="sig-name descname">terminate</code><span class="sig-paren">(</span><em class="sig-param">response</em>, <em class="sig-param">trailing_metadata</em>, <em class="sig-param">code</em>, <em class="sig-param">details</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamUnaryChannelRpc.terminate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamUnaryChannelRpc.terminate" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">terminate</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">response</span></em>, <em class="sig-param"><span class="n">trailing_metadata</span></em>, <em class="sig-param"><span class="n">code</span></em>, <em class="sig-param"><span class="n">details</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamUnaryChannelRpc.terminate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamUnaryChannelRpc.terminate" title="Permalink to this definition">¶</a></dt>
 <dd><p>Terminates the RPC.</p>
 <dd><p>Terminates the RPC.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -488,18 +488,18 @@ which the system under test added them to the RPC.</p>
 
 
 </dd></dl>
 </dd></dl>
 
 
-<dl class="class">
+<dl class="py class">
 <dt id="grpc_testing.StreamUnaryServerRpc">
 <dt id="grpc_testing.StreamUnaryServerRpc">
 <em class="property">class </em><code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">StreamUnaryServerRpc</code><a class="reference internal" href="_modules/grpc_testing.html#StreamUnaryServerRpc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamUnaryServerRpc" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">StreamUnaryServerRpc</code><a class="reference internal" href="_modules/grpc_testing.html#StreamUnaryServerRpc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamUnaryServerRpc" title="Permalink to this definition">¶</a></dt>
 <dd><p>Fixture for a stream-unary RPC serviced by a system under test.</p>
 <dd><p>Fixture for a stream-unary RPC serviced by a system under test.</p>
 <p>Enables users to “play client” for the RPC.</p>
 <p>Enables users to “play client” for the RPC.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.StreamUnaryServerRpc.cancel">
 <dt id="grpc_testing.StreamUnaryServerRpc.cancel">
 <em class="property">abstract </em><code class="sig-name descname">cancel</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamUnaryServerRpc.cancel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamUnaryServerRpc.cancel" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">cancel</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamUnaryServerRpc.cancel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamUnaryServerRpc.cancel" title="Permalink to this definition">¶</a></dt>
 <dd><p>Cancels the RPC.</p>
 <dd><p>Cancels the RPC.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.StreamUnaryServerRpc.initial_metadata">
 <dt id="grpc_testing.StreamUnaryServerRpc.initial_metadata">
 <em class="property">abstract </em><code class="sig-name descname">initial_metadata</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamUnaryServerRpc.initial_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamUnaryServerRpc.initial_metadata" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">initial_metadata</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamUnaryServerRpc.initial_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamUnaryServerRpc.initial_metadata" title="Permalink to this definition">¶</a></dt>
 <dd><p>Accesses the initial metadata emitted by the system under test.</p>
 <dd><p>Accesses the initial metadata emitted by the system under test.</p>
@@ -514,15 +514,15 @@ synthesize initial metadata for the RPC).</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.StreamUnaryServerRpc.requests_closed">
 <dt id="grpc_testing.StreamUnaryServerRpc.requests_closed">
 <em class="property">abstract </em><code class="sig-name descname">requests_closed</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamUnaryServerRpc.requests_closed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamUnaryServerRpc.requests_closed" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">requests_closed</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamUnaryServerRpc.requests_closed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamUnaryServerRpc.requests_closed" title="Permalink to this definition">¶</a></dt>
 <dd><p>Indicates the end of the RPC’s request stream.</p>
 <dd><p>Indicates the end of the RPC’s request stream.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.StreamUnaryServerRpc.send_request">
 <dt id="grpc_testing.StreamUnaryServerRpc.send_request">
-<em class="property">abstract </em><code class="sig-name descname">send_request</code><span class="sig-paren">(</span><em class="sig-param">request</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamUnaryServerRpc.send_request"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamUnaryServerRpc.send_request" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">send_request</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">request</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamUnaryServerRpc.send_request"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamUnaryServerRpc.send_request" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sends a request to the system under test.</p>
 <dd><p>Sends a request to the system under test.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -532,7 +532,7 @@ under test.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.StreamUnaryServerRpc.termination">
 <dt id="grpc_testing.StreamUnaryServerRpc.termination">
 <em class="property">abstract </em><code class="sig-name descname">termination</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamUnaryServerRpc.termination"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamUnaryServerRpc.termination" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">termination</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#StreamUnaryServerRpc.termination"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.StreamUnaryServerRpc.termination" title="Permalink to this definition">¶</a></dt>
 <dd><p>Blocks until the system under test has terminated the RPC.</p>
 <dd><p>Blocks until the system under test has terminated the RPC.</p>
@@ -549,7 +549,7 @@ under test.</p>
 
 
 </dd></dl>
 </dd></dl>
 
 
-<dl class="class">
+<dl class="py class">
 <dt id="grpc_testing.Time">
 <dt id="grpc_testing.Time">
 <em class="property">class </em><code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">Time</code><a class="reference internal" href="_modules/grpc_testing.html#Time"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Time" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">Time</code><a class="reference internal" href="_modules/grpc_testing.html#Time"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Time" title="Permalink to this definition">¶</a></dt>
 <dd><p>A simulation of time.</p>
 <dd><p>A simulation of time.</p>
@@ -557,9 +557,9 @@ under test.</p>
 Python interpreter, but as long as systems under test use
 Python interpreter, but as long as systems under test use
 RpcContext.is_active and RpcContext.time_remaining for querying RPC liveness
 RpcContext.is_active and RpcContext.time_remaining for querying RPC liveness
 implementations may be used to change passage of time in tests.</p>
 implementations may be used to change passage of time in tests.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.Time.call_at">
 <dt id="grpc_testing.Time.call_at">
-<em class="property">abstract </em><code class="sig-name descname">call_at</code><span class="sig-paren">(</span><em class="sig-param">behavior</em>, <em class="sig-param">time</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Time.call_at"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Time.call_at" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">call_at</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">behavior</span></em>, <em class="sig-param"><span class="n">time</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Time.call_at"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Time.call_at" title="Permalink to this definition">¶</a></dt>
 <dd><p>Adds a behavior to be called at a specific time.</p>
 <dd><p>Adds a behavior to be called at a specific time.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -578,9 +578,9 @@ implementations may be used to change passage of time in tests.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.Time.call_in">
 <dt id="grpc_testing.Time.call_in">
-<em class="property">abstract </em><code class="sig-name descname">call_in</code><span class="sig-paren">(</span><em class="sig-param">behavior</em>, <em class="sig-param">delay</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Time.call_in"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Time.call_in" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">call_in</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">behavior</span></em>, <em class="sig-param"><span class="n">delay</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Time.call_in"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Time.call_in" title="Permalink to this definition">¶</a></dt>
 <dd><p>Adds a behavior to be called after some time.</p>
 <dd><p>Adds a behavior to be called after some time.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -599,9 +599,9 @@ implementations may be used to change passage of time in tests.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.Time.sleep_for">
 <dt id="grpc_testing.Time.sleep_for">
-<em class="property">abstract </em><code class="sig-name descname">sleep_for</code><span class="sig-paren">(</span><em class="sig-param">duration</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Time.sleep_for"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Time.sleep_for" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">sleep_for</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">duration</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Time.sleep_for"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Time.sleep_for" title="Permalink to this definition">¶</a></dt>
 <dd><p>Blocks for some length of test time.</p>
 <dd><p>Blocks for some length of test time.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -610,9 +610,9 @@ implementations may be used to change passage of time in tests.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.Time.sleep_until">
 <dt id="grpc_testing.Time.sleep_until">
-<em class="property">abstract </em><code class="sig-name descname">sleep_until</code><span class="sig-paren">(</span><em class="sig-param">time</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Time.sleep_until"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Time.sleep_until" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">sleep_until</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">time</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Time.sleep_until"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Time.sleep_until" title="Permalink to this definition">¶</a></dt>
 <dd><p>Blocks until some test time.</p>
 <dd><p>Blocks until some test time.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -621,7 +621,7 @@ implementations may be used to change passage of time in tests.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.Time.time">
 <dt id="grpc_testing.Time.time">
 <em class="property">abstract </em><code class="sig-name descname">time</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Time.time"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Time.time" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">time</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#Time.time"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.Time.time" title="Permalink to this definition">¶</a></dt>
 <dd><p>Accesses the current test time.</p>
 <dd><p>Accesses the current test time.</p>
@@ -634,20 +634,20 @@ implementations may be used to change passage of time in tests.</p>
 
 
 </dd></dl>
 </dd></dl>
 
 
-<dl class="class">
+<dl class="py class">
 <dt id="grpc_testing.UnaryStreamChannelRpc">
 <dt id="grpc_testing.UnaryStreamChannelRpc">
 <em class="property">class </em><code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">UnaryStreamChannelRpc</code><a class="reference internal" href="_modules/grpc_testing.html#UnaryStreamChannelRpc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryStreamChannelRpc" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">UnaryStreamChannelRpc</code><a class="reference internal" href="_modules/grpc_testing.html#UnaryStreamChannelRpc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryStreamChannelRpc" title="Permalink to this definition">¶</a></dt>
 <dd><p>Fixture for a unary-stream RPC invoked by a system under test.</p>
 <dd><p>Fixture for a unary-stream RPC invoked by a system under test.</p>
 <p>Enables users to “play server” for the RPC.</p>
 <p>Enables users to “play server” for the RPC.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.UnaryStreamChannelRpc.cancelled">
 <dt id="grpc_testing.UnaryStreamChannelRpc.cancelled">
 <em class="property">abstract </em><code class="sig-name descname">cancelled</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryStreamChannelRpc.cancelled"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryStreamChannelRpc.cancelled" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">cancelled</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryStreamChannelRpc.cancelled"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryStreamChannelRpc.cancelled" title="Permalink to this definition">¶</a></dt>
 <dd><p>Blocks until the system under test has cancelled the RPC.</p>
 <dd><p>Blocks until the system under test has cancelled the RPC.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.UnaryStreamChannelRpc.send_initial_metadata">
 <dt id="grpc_testing.UnaryStreamChannelRpc.send_initial_metadata">
-<em class="property">abstract </em><code class="sig-name descname">send_initial_metadata</code><span class="sig-paren">(</span><em class="sig-param">initial_metadata</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryStreamChannelRpc.send_initial_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryStreamChannelRpc.send_initial_metadata" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">send_initial_metadata</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">initial_metadata</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryStreamChannelRpc.send_initial_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryStreamChannelRpc.send_initial_metadata" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sends the RPC’s initial metadata to the system under test.</p>
 <dd><p>Sends the RPC’s initial metadata to the system under test.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -657,9 +657,9 @@ the system under test.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.UnaryStreamChannelRpc.send_response">
 <dt id="grpc_testing.UnaryStreamChannelRpc.send_response">
-<em class="property">abstract </em><code class="sig-name descname">send_response</code><span class="sig-paren">(</span><em class="sig-param">response</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryStreamChannelRpc.send_response"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryStreamChannelRpc.send_response" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">send_response</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">response</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryStreamChannelRpc.send_response"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryStreamChannelRpc.send_response" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sends a response to the system under test.</p>
 <dd><p>Sends a response to the system under test.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -668,9 +668,9 @@ the system under test.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.UnaryStreamChannelRpc.terminate">
 <dt id="grpc_testing.UnaryStreamChannelRpc.terminate">
-<em class="property">abstract </em><code class="sig-name descname">terminate</code><span class="sig-paren">(</span><em class="sig-param">trailing_metadata</em>, <em class="sig-param">code</em>, <em class="sig-param">details</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryStreamChannelRpc.terminate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryStreamChannelRpc.terminate" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">terminate</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">trailing_metadata</span></em>, <em class="sig-param"><span class="n">code</span></em>, <em class="sig-param"><span class="n">details</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryStreamChannelRpc.terminate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryStreamChannelRpc.terminate" title="Permalink to this definition">¶</a></dt>
 <dd><p>Terminates the RPC.</p>
 <dd><p>Terminates the RPC.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -685,18 +685,18 @@ the system under test.</p>
 
 
 </dd></dl>
 </dd></dl>
 
 
-<dl class="class">
+<dl class="py class">
 <dt id="grpc_testing.UnaryStreamServerRpc">
 <dt id="grpc_testing.UnaryStreamServerRpc">
 <em class="property">class </em><code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">UnaryStreamServerRpc</code><a class="reference internal" href="_modules/grpc_testing.html#UnaryStreamServerRpc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryStreamServerRpc" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">UnaryStreamServerRpc</code><a class="reference internal" href="_modules/grpc_testing.html#UnaryStreamServerRpc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryStreamServerRpc" title="Permalink to this definition">¶</a></dt>
 <dd><p>Fixture for a unary-stream RPC serviced by a system under test.</p>
 <dd><p>Fixture for a unary-stream RPC serviced by a system under test.</p>
 <p>Enables users to “play client” for the RPC.</p>
 <p>Enables users to “play client” for the RPC.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.UnaryStreamServerRpc.cancel">
 <dt id="grpc_testing.UnaryStreamServerRpc.cancel">
 <em class="property">abstract </em><code class="sig-name descname">cancel</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryStreamServerRpc.cancel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryStreamServerRpc.cancel" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">cancel</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryStreamServerRpc.cancel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryStreamServerRpc.cancel" title="Permalink to this definition">¶</a></dt>
 <dd><p>Cancels the RPC.</p>
 <dd><p>Cancels the RPC.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.UnaryStreamServerRpc.initial_metadata">
 <dt id="grpc_testing.UnaryStreamServerRpc.initial_metadata">
 <em class="property">abstract </em><code class="sig-name descname">initial_metadata</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryStreamServerRpc.initial_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryStreamServerRpc.initial_metadata" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">initial_metadata</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryStreamServerRpc.initial_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryStreamServerRpc.initial_metadata" title="Permalink to this definition">¶</a></dt>
 <dd><p>Accesses the initial metadata emitted by the system under test.</p>
 <dd><p>Accesses the initial metadata emitted by the system under test.</p>
@@ -711,7 +711,7 @@ synthesize initial metadata for the RPC).</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.UnaryStreamServerRpc.take_response">
 <dt id="grpc_testing.UnaryStreamServerRpc.take_response">
 <em class="property">abstract </em><code class="sig-name descname">take_response</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryStreamServerRpc.take_response"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryStreamServerRpc.take_response" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">take_response</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryStreamServerRpc.take_response"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryStreamServerRpc.take_response" title="Permalink to this definition">¶</a></dt>
 <dd><p>Draws one of the responses added to the RPC by the system under test.</p>
 <dd><p>Draws one of the responses added to the RPC by the system under test.</p>
@@ -724,7 +724,7 @@ which the system under test added them to the RPC.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.UnaryStreamServerRpc.termination">
 <dt id="grpc_testing.UnaryStreamServerRpc.termination">
 <em class="property">abstract </em><code class="sig-name descname">termination</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryStreamServerRpc.termination"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryStreamServerRpc.termination" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">termination</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryStreamServerRpc.termination"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryStreamServerRpc.termination" title="Permalink to this definition">¶</a></dt>
 <dd><p>Blocks until the system under test has terminated the RPC.</p>
 <dd><p>Blocks until the system under test has terminated the RPC.</p>
@@ -741,20 +741,20 @@ which the system under test added them to the RPC.</p>
 
 
 </dd></dl>
 </dd></dl>
 
 
-<dl class="class">
+<dl class="py class">
 <dt id="grpc_testing.UnaryUnaryChannelRpc">
 <dt id="grpc_testing.UnaryUnaryChannelRpc">
 <em class="property">class </em><code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">UnaryUnaryChannelRpc</code><a class="reference internal" href="_modules/grpc_testing.html#UnaryUnaryChannelRpc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryUnaryChannelRpc" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">UnaryUnaryChannelRpc</code><a class="reference internal" href="_modules/grpc_testing.html#UnaryUnaryChannelRpc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryUnaryChannelRpc" title="Permalink to this definition">¶</a></dt>
 <dd><p>Fixture for a unary-unary RPC invoked by a system under test.</p>
 <dd><p>Fixture for a unary-unary RPC invoked by a system under test.</p>
 <p>Enables users to “play server” for the RPC.</p>
 <p>Enables users to “play server” for the RPC.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.UnaryUnaryChannelRpc.cancelled">
 <dt id="grpc_testing.UnaryUnaryChannelRpc.cancelled">
 <em class="property">abstract </em><code class="sig-name descname">cancelled</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryUnaryChannelRpc.cancelled"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryUnaryChannelRpc.cancelled" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">cancelled</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryUnaryChannelRpc.cancelled"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryUnaryChannelRpc.cancelled" title="Permalink to this definition">¶</a></dt>
 <dd><p>Blocks until the system under test has cancelled the RPC.</p>
 <dd><p>Blocks until the system under test has cancelled the RPC.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.UnaryUnaryChannelRpc.send_initial_metadata">
 <dt id="grpc_testing.UnaryUnaryChannelRpc.send_initial_metadata">
-<em class="property">abstract </em><code class="sig-name descname">send_initial_metadata</code><span class="sig-paren">(</span><em class="sig-param">initial_metadata</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryUnaryChannelRpc.send_initial_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryUnaryChannelRpc.send_initial_metadata" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">send_initial_metadata</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">initial_metadata</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryUnaryChannelRpc.send_initial_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryUnaryChannelRpc.send_initial_metadata" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sends the RPC’s initial metadata to the system under test.</p>
 <dd><p>Sends the RPC’s initial metadata to the system under test.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -764,9 +764,9 @@ the system under test.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.UnaryUnaryChannelRpc.terminate">
 <dt id="grpc_testing.UnaryUnaryChannelRpc.terminate">
-<em class="property">abstract </em><code class="sig-name descname">terminate</code><span class="sig-paren">(</span><em class="sig-param">response</em>, <em class="sig-param">trailing_metadata</em>, <em class="sig-param">code</em>, <em class="sig-param">details</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryUnaryChannelRpc.terminate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryUnaryChannelRpc.terminate" title="Permalink to this definition">¶</a></dt>
+<em class="property">abstract </em><code class="sig-name descname">terminate</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">response</span></em>, <em class="sig-param"><span class="n">trailing_metadata</span></em>, <em class="sig-param"><span class="n">code</span></em>, <em class="sig-param"><span class="n">details</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryUnaryChannelRpc.terminate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryUnaryChannelRpc.terminate" title="Permalink to this definition">¶</a></dt>
 <dd><p>Terminates the RPC.</p>
 <dd><p>Terminates the RPC.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -782,18 +782,18 @@ the system under test.</p>
 
 
 </dd></dl>
 </dd></dl>
 
 
-<dl class="class">
+<dl class="py class">
 <dt id="grpc_testing.UnaryUnaryServerRpc">
 <dt id="grpc_testing.UnaryUnaryServerRpc">
 <em class="property">class </em><code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">UnaryUnaryServerRpc</code><a class="reference internal" href="_modules/grpc_testing.html#UnaryUnaryServerRpc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryUnaryServerRpc" title="Permalink to this definition">¶</a></dt>
 <em class="property">class </em><code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">UnaryUnaryServerRpc</code><a class="reference internal" href="_modules/grpc_testing.html#UnaryUnaryServerRpc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryUnaryServerRpc" title="Permalink to this definition">¶</a></dt>
 <dd><p>Fixture for a unary-unary RPC serviced by a system under test.</p>
 <dd><p>Fixture for a unary-unary RPC serviced by a system under test.</p>
 <p>Enables users to “play client” for the RPC.</p>
 <p>Enables users to “play client” for the RPC.</p>
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.UnaryUnaryServerRpc.cancel">
 <dt id="grpc_testing.UnaryUnaryServerRpc.cancel">
 <em class="property">abstract </em><code class="sig-name descname">cancel</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryUnaryServerRpc.cancel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryUnaryServerRpc.cancel" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">cancel</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryUnaryServerRpc.cancel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryUnaryServerRpc.cancel" title="Permalink to this definition">¶</a></dt>
 <dd><p>Cancels the RPC.</p>
 <dd><p>Cancels the RPC.</p>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.UnaryUnaryServerRpc.initial_metadata">
 <dt id="grpc_testing.UnaryUnaryServerRpc.initial_metadata">
 <em class="property">abstract </em><code class="sig-name descname">initial_metadata</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryUnaryServerRpc.initial_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryUnaryServerRpc.initial_metadata" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">initial_metadata</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryUnaryServerRpc.initial_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryUnaryServerRpc.initial_metadata" title="Permalink to this definition">¶</a></dt>
 <dd><p>Accesses the initial metadata emitted by the system under test.</p>
 <dd><p>Accesses the initial metadata emitted by the system under test.</p>
@@ -808,7 +808,7 @@ synthesize initial metadata for the RPC).</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="method">
+<dl class="py method">
 <dt id="grpc_testing.UnaryUnaryServerRpc.termination">
 <dt id="grpc_testing.UnaryUnaryServerRpc.termination">
 <em class="property">abstract </em><code class="sig-name descname">termination</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryUnaryServerRpc.termination"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryUnaryServerRpc.termination" title="Permalink to this definition">¶</a></dt>
 <em class="property">abstract </em><code class="sig-name descname">termination</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#UnaryUnaryServerRpc.termination"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.UnaryUnaryServerRpc.termination" title="Permalink to this definition">¶</a></dt>
 <dd><p>Blocks until the system under test has terminated the RPC.</p>
 <dd><p>Blocks until the system under test has terminated the RPC.</p>
@@ -825,9 +825,9 @@ synthesize initial metadata for the RPC).</p>
 
 
 </dd></dl>
 </dd></dl>
 
 
-<dl class="function">
+<dl class="py function">
 <dt id="grpc_testing.channel">
 <dt id="grpc_testing.channel">
-<code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">channel</code><span class="sig-paren">(</span><em class="sig-param">service_descriptors</em>, <em class="sig-param">time</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.channel" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">channel</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">service_descriptors</span></em>, <em class="sig-param"><span class="n">time</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.channel" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates a Channel for use in tests of a gRPC Python-using system.</p>
 <dd><p>Creates a Channel for use in tests of a gRPC Python-using system.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -844,9 +844,9 @@ system under test.</p></li>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="function">
+<dl class="py function">
 <dt id="grpc_testing.server_from_dictionary">
 <dt id="grpc_testing.server_from_dictionary">
-<code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">server_from_dictionary</code><span class="sig-paren">(</span><em class="sig-param">descriptors_to_servicers</em>, <em class="sig-param">time</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#server_from_dictionary"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.server_from_dictionary" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">server_from_dictionary</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">descriptors_to_servicers</span></em>, <em class="sig-param"><span class="n">time</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#server_from_dictionary"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.server_from_dictionary" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates a Server for use in tests of a gRPC Python-using system.</p>
 <dd><p>Creates a Server for use in tests of a gRPC Python-using system.</p>
 <dl class="field-list simple">
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dt class="field-odd">Parameters</dt>
@@ -864,9 +864,9 @@ modules) implementing those services.</p></li>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="function">
+<dl class="py function">
 <dt id="grpc_testing.strict_fake_time">
 <dt id="grpc_testing.strict_fake_time">
-<code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">strict_fake_time</code><span class="sig-paren">(</span><em class="sig-param">now</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#strict_fake_time"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.strict_fake_time" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">strict_fake_time</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">now</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#strict_fake_time"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.strict_fake_time" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates a Time that can be manipulated by test code.</p>
 <dd><p>Creates a Time that can be manipulated by test code.</p>
 <p>The returned instance maintains an internal representation of time
 <p>The returned instance maintains an internal representation of time
 independent of real time. This internal representation only advances
 independent of real time. This internal representation only advances
@@ -882,7 +882,7 @@ as having advanced beyond t.</p>
 </dl>
 </dl>
 </dd></dl>
 </dd></dl>
 
 
-<dl class="function">
+<dl class="py function">
 <dt id="grpc_testing.strict_real_time">
 <dt id="grpc_testing.strict_real_time">
 <code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">strict_real_time</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#strict_real_time"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.strict_real_time" title="Permalink to this definition">¶</a></dt>
 <code class="sig-prename descclassname">grpc_testing.</code><code class="sig-name descname">strict_real_time</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/grpc_testing.html#strict_real_time"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#grpc_testing.strict_real_time" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates a Time backed by the Python interpreter’s time.</p>
 <dd><p>Creates a Time backed by the Python interpreter’s time.</p>

+ 4 - 4
python/index.html

@@ -1,10 +1,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>Welcome to gRPC Python’s documentation! &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>Welcome to gRPC Python’s documentation! &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
     <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
@@ -30,7 +30,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 
@@ -86,7 +86,7 @@
             
             
   <div class="section" id="welcome-to-grpc-python-s-documentation">
   <div class="section" id="welcome-to-grpc-python-s-documentation">
 <h1>Welcome to gRPC Python’s documentation!<a class="headerlink" href="#welcome-to-grpc-python-s-documentation" title="Permalink to this headline">¶</a></h1>
 <h1>Welcome to gRPC Python’s documentation!<a class="headerlink" href="#welcome-to-grpc-python-s-documentation" title="Permalink to this headline">¶</a></h1>
-<p>Version: 1.28.1 Release: 1.28.1</p>
+<p>Version: 1.29.0 Release: 1.29.0</p>
 </div>
 </div>
 <div class="section" id="api-reference">
 <div class="section" id="api-reference">
 <h1>API Reference<a class="headerlink" href="#api-reference" title="Permalink to this headline">¶</a></h1>
 <h1>API Reference<a class="headerlink" href="#api-reference" title="Permalink to this headline">¶</a></h1>

BIN
python/objects.inv


+ 3 - 3
python/py-modindex.html

@@ -1,10 +1,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>Python Module Index &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>Python Module Index &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
     <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
@@ -32,7 +32,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 

+ 5 - 7
python/search.html

@@ -1,10 +1,10 @@
 
 
 <!DOCTYPE html>
 <!DOCTYPE html>
 
 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
+<html lang="en">
   <head>
   <head>
     <meta charset="utf-8" />
     <meta charset="utf-8" />
-    <title>Search &#8212; gRPC Python 1.28.1 documentation</title>
+    <title>Search &#8212; gRPC Python 1.29.0 documentation</title>
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
     
     
@@ -34,7 +34,7 @@
 
 
 
 
 
 
-<p class="blurb">1.28.1</p>
+<p class="blurb">1.29.0</p>
 
 
 
 
 
 
@@ -86,10 +86,8 @@
   </p>
   </p>
   </div>
   </div>
   <p>
   <p>
-    From here you can search these documents. Enter your search
-    words into the box below and click "search". Note that the search
-    function will automatically search for all of the words. Pages
-    containing fewer words won't appear in the result list.
+    Searching for multiple words only shows matches that contain
+    all words.
   </p>
   </p>
   <form action="" method="get">
   <form action="" method="get">
     <input type="text" name="q" aria-labelledby="search-documentation" value="" />
     <input type="text" name="q" aria-labelledby="search-documentation" value="" />

File diff suppressed because it is too large
+ 0 - 0
python/searchindex.js


Some files were not shown because too many files changed in this diff