grpc_asyncio.html 108 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624
  1. <!DOCTYPE html>
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>gRPC AsyncIO API &#8212; gRPC Python 1.28.1 documentation</title>
  6. <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
  7. <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
  8. <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
  9. <script src="_static/jquery.js"></script>
  10. <script src="_static/underscore.js"></script>
  11. <script src="_static/doctools.js"></script>
  12. <script src="_static/language_data.js"></script>
  13. <link rel="index" title="Index" href="genindex.html" />
  14. <link rel="search" title="Search" href="search.html" />
  15. <link rel="next" title="gRPC Channelz" href="grpc_channelz.html" />
  16. <link rel="prev" title="gRPC" href="grpc.html" />
  17. <link rel="stylesheet" href="_static/custom.css" type="text/css" />
  18. <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
  19. </head><body>
  20. <div class="document">
  21. <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
  22. <div class="sphinxsidebarwrapper">
  23. <h1 class="logo"><a href="index.html">gRPC Python</a></h1>
  24. <p class="blurb">1.28.1</p>
  25. <h3>Navigation</h3>
  26. <p class="caption"><span class="caption-text">Contents:</span></p>
  27. <ul class="current">
  28. <li class="toctree-l1"><a class="reference internal" href="grpc.html">gRPC</a></li>
  29. <li class="toctree-l1 current"><a class="current reference internal" href="#">gRPC AsyncIO API</a><ul>
  30. <li class="toctree-l2"><a class="reference internal" href="#overview">Overview</a></li>
  31. <li class="toctree-l2"><a class="reference internal" href="#caveats">Caveats</a></li>
  32. <li class="toctree-l2"><a class="reference internal" href="#module-contents">Module Contents</a><ul>
  33. <li class="toctree-l3"><a class="reference internal" href="#enable-asyncio-in-grpc">Enable AsyncIO in gRPC</a></li>
  34. <li class="toctree-l3"><a class="reference internal" href="#create-channel">Create Channel</a></li>
  35. <li class="toctree-l3"><a class="reference internal" href="#channel-object">Channel Object</a></li>
  36. <li class="toctree-l3"><a class="reference internal" href="#create-server">Create Server</a></li>
  37. <li class="toctree-l3"><a class="reference internal" href="#server-object">Server Object</a></li>
  38. <li class="toctree-l3"><a class="reference internal" href="#grpc-exceptions">gRPC Exceptions</a></li>
  39. <li class="toctree-l3"><a class="reference internal" href="#shared-context">Shared Context</a></li>
  40. <li class="toctree-l3"><a class="reference internal" href="#client-side-context">Client-Side Context</a></li>
  41. <li class="toctree-l3"><a class="reference internal" href="#server-side-context">Server-Side Context</a></li>
  42. <li class="toctree-l3"><a class="reference internal" href="#client-side-interceptor">Client-Side Interceptor</a></li>
  43. <li class="toctree-l3"><a class="reference internal" href="#multi-callable-interfaces">Multi-Callable Interfaces</a></li>
  44. </ul>
  45. </li>
  46. </ul>
  47. </li>
  48. <li class="toctree-l1"><a class="reference internal" href="grpc_channelz.html">gRPC Channelz</a></li>
  49. <li class="toctree-l1"><a class="reference internal" href="grpc_health_checking.html">gRPC Health Checking</a></li>
  50. <li class="toctree-l1"><a class="reference internal" href="grpc_reflection.html">gRPC Reflection</a></li>
  51. <li class="toctree-l1"><a class="reference internal" href="grpc_status.html">gRPC Status</a></li>
  52. <li class="toctree-l1"><a class="reference internal" href="grpc_testing.html">gRPC Testing</a></li>
  53. <li class="toctree-l1"><a class="reference internal" href="glossary.html">Glossary</a></li>
  54. </ul>
  55. <div class="relations">
  56. <h3>Related Topics</h3>
  57. <ul>
  58. <li><a href="index.html">Documentation overview</a><ul>
  59. <li>Previous: <a href="grpc.html" title="previous chapter">gRPC</a></li>
  60. <li>Next: <a href="grpc_channelz.html" title="next chapter">gRPC Channelz</a></li>
  61. </ul></li>
  62. </ul>
  63. </div>
  64. <div id="searchbox" style="display: none" role="search">
  65. <h3 id="searchlabel">Quick search</h3>
  66. <div class="searchformwrapper">
  67. <form class="search" action="search.html" method="get">
  68. <input type="text" name="q" aria-labelledby="searchlabel" />
  69. <input type="submit" value="Go" />
  70. </form>
  71. </div>
  72. </div>
  73. <script>$('#searchbox').show(0);</script>
  74. </div>
  75. </div>
  76. <div class="documentwrapper">
  77. <div class="bodywrapper">
  78. <div class="body" role="main">
  79. <div class="section" id="module-grpc.experimental.aio">
  80. <span id="grpc-asyncio-api"></span><h1>gRPC AsyncIO API<a class="headerlink" href="#module-grpc.experimental.aio" title="Permalink to this headline">¶</a></h1>
  81. <div class="section" id="overview">
  82. <h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h2>
  83. <p>gRPC AsyncIO API is the <strong>new version</strong> of gRPC Python whose architecture is
  84. tailored to AsyncIO. Underlying, it utilizes the same C-extension, gRPC C-Core,
  85. as existing stack, and it replaces all gRPC IO operations with methods provided
  86. by the AsyncIO library.</p>
  87. <p>This stack currently is under active development. Feel free to offer
  88. suggestions by opening issues on our GitHub repo <a class="reference external" href="https://github.com/grpc/grpc">grpc/grpc</a>.</p>
  89. <p>The design doc can be found here as <a class="reference external" href="https://github.com/grpc/proposal/pull/155">gRFC</a>.</p>
  90. </div>
  91. <div class="section" id="caveats">
  92. <h2>Caveats<a class="headerlink" href="#caveats" title="Permalink to this headline">¶</a></h2>
  93. <p>gRPC Async API objects may only be used on the thread on which they were
  94. created. AsyncIO doesn’t provide thread safety for most of its APIs.</p>
  95. </div>
  96. <div class="section" id="module-contents">
  97. <h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
  98. <div class="section" id="enable-asyncio-in-grpc">
  99. <h3>Enable AsyncIO in gRPC<a class="headerlink" href="#enable-asyncio-in-grpc" title="Permalink to this headline">¶</a></h3>
  100. <dl class="function">
  101. <dt id="grpc.experimental.aio.init_grpc_aio">
  102. <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>
  103. <dd><p>Enable AsyncIO for gRPC Python.</p>
  104. <p>This function is idempotent and it should be invoked before creation of
  105. AsyncIO stack objects. Otherwise, the application might deadlock.</p>
  106. <p>This function configurates the gRPC C-Core to invoke AsyncIO methods for IO
  107. operations (e.g., socket read, write). The configuration applies to the
  108. entire process.</p>
  109. <p>After invoking this function, making blocking function calls in coroutines
  110. or in the thread running event loop will block the event loop, potentially
  111. starving all RPCs in the process. Refer to the Python language
  112. documentation on AsyncIO for more details (<a class="reference external" href="https://docs.python.org/3/library/asyncio-dev.html#running-blocking-code">running-blocking-code</a>).</p>
  113. </dd></dl>
  114. </div>
  115. <div class="section" id="create-channel">
  116. <h3>Create Channel<a class="headerlink" href="#create-channel" title="Permalink to this headline">¶</a></h3>
  117. <p>Channels are the abstraction of clients, where most of networking logic
  118. happens, for example, managing one or more underlying connections, name
  119. resolution, load balancing, flow control, etc.. If you are using ProtoBuf,
  120. Channel objects works best when further encapsulate into stub objects, then the
  121. application can invoke remote functions as if they are local functions.</p>
  122. <dl class="function">
  123. <dt id="grpc.experimental.aio.insecure_channel">
  124. <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>
  125. <dd><p>Creates an insecure asynchronous Channel to a server.</p>
  126. <dl class="field-list simple">
  127. <dt class="field-odd">Parameters</dt>
  128. <dd class="field-odd"><ul class="simple">
  129. <li><p><strong>target</strong> (<em>str</em>) – The server address</p></li>
  130. <li><p><strong>options</strong> (<em>Optional</em><em>[</em><em>Sequence</em><em>[</em><em>Tuple</em><em>[</em><em>str</em><em>, </em><em>Any</em><em>]</em><em>]</em><em>]</em>) – An optional list of key-value pairs (channel args
  131. in gRPC Core runtime) to configure the channel.</p></li>
  132. <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 optional value indicating the compression method to be
  133. used over the lifetime of the channel. This is an EXPERIMENTAL option.</p></li>
  134. <li><p><strong>interceptors</strong> (<em>Optional</em><em>[</em><em>Sequence</em><em>[</em><em>grpc.experimental.aio._interceptor.UnaryUnaryClientInterceptor</em><em>]</em><em>]</em>) – An optional sequence of interceptors that will be executed for
  135. any call executed with this channel.</p></li>
  136. </ul>
  137. </dd>
  138. <dt class="field-even">Returns</dt>
  139. <dd class="field-even"><p>A Channel.</p>
  140. </dd>
  141. </dl>
  142. </dd></dl>
  143. <dl class="function">
  144. <dt id="grpc.experimental.aio.secure_channel">
  145. <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>
  146. <dd><p>Creates a secure asynchronous Channel to a server.</p>
  147. <dl class="field-list simple">
  148. <dt class="field-odd">Parameters</dt>
  149. <dd class="field-odd"><ul class="simple">
  150. <li><p><strong>target</strong> (<em>str</em>) – The server address.</p></li>
  151. <li><p><strong>credentials</strong> (<a class="reference internal" href="grpc.html#grpc.ChannelCredentials" title="grpc.ChannelCredentials"><em>grpc.ChannelCredentials</em></a>) – A ChannelCredentials instance.</p></li>
  152. <li><p><strong>options</strong> (<em>Optional</em><em>[</em><em>Sequence</em><em>[</em><em>Tuple</em><em>[</em><em>str</em><em>, </em><em>Any</em><em>]</em><em>]</em><em>]</em>) – An optional list of key-value pairs (channel args
  153. in gRPC Core runtime) to configure the channel.</p></li>
  154. <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 optional value indicating the compression method to be
  155. used over the lifetime of the channel. This is an EXPERIMENTAL option.</p></li>
  156. <li><p><strong>interceptors</strong> (<em>Optional</em><em>[</em><em>Sequence</em><em>[</em><em>grpc.experimental.aio._interceptor.UnaryUnaryClientInterceptor</em><em>]</em><em>]</em>) – An optional sequence of interceptors that will be executed for
  157. any call executed with this channel.</p></li>
  158. </ul>
  159. </dd>
  160. <dt class="field-even">Returns</dt>
  161. <dd class="field-even"><p>An aio.Channel.</p>
  162. </dd>
  163. </dl>
  164. </dd></dl>
  165. </div>
  166. <div class="section" id="channel-object">
  167. <h3>Channel Object<a class="headerlink" href="#channel-object" title="Permalink to this headline">¶</a></h3>
  168. <dl class="class">
  169. <dt id="grpc.experimental.aio.Channel">
  170. <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>
  171. <dd><p>Enables asynchronous RPC invocation as a client.</p>
  172. <p>Channel objects implement the Asynchronous Context Manager (aka. async
  173. with) type, although they are not supportted to be entered and exited
  174. multiple times.</p>
  175. <dl class="method">
  176. <dt id="grpc.experimental.aio.Channel.__aenter__">
  177. <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>
  178. <dd><p>Starts an asynchronous context manager.</p>
  179. <dl class="field-list simple">
  180. <dt class="field-odd">Returns</dt>
  181. <dd class="field-odd"><p>Channel the channel that was instantiated.</p>
  182. </dd>
  183. </dl>
  184. </dd></dl>
  185. <dl class="method">
  186. <dt id="grpc.experimental.aio.Channel.__aexit__">
  187. <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>
  188. <dd><p>Finishes the asynchronous context manager by closing the channel.</p>
  189. <p>Still active RPCs will be cancelled.</p>
  190. </dd></dl>
  191. <dl class="method">
  192. <dt id="grpc.experimental.aio.Channel.channel_ready">
  193. <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>
  194. <dd><p>Creates a coroutine that blocks until the Channel is READY.</p>
  195. <dl class="field-list simple">
  196. <dt class="field-odd">Return type</dt>
  197. <dd class="field-odd"><p>None</p>
  198. </dd>
  199. </dl>
  200. </dd></dl>
  201. <dl class="method">
  202. <dt id="grpc.experimental.aio.Channel.close">
  203. <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>
  204. <dd><p>Closes this Channel and releases all resources held by it.</p>
  205. <p>This method immediately stops the channel from executing new RPCs in
  206. all cases.</p>
  207. <p>If a grace period is specified, this method wait until all active
  208. RPCs are finshed, once the grace period is reached the ones that haven’t
  209. been terminated are cancelled. If a grace period is not specified
  210. (by passing None for grace), all existing RPCs are cancelled immediately.</p>
  211. <p>This method is idempotent.</p>
  212. <dl class="field-list simple">
  213. <dt class="field-odd">Parameters</dt>
  214. <dd class="field-odd"><p><strong>grace</strong> (<em>Optional</em><em>[</em><em>float</em><em>]</em>) – </p>
  215. </dd>
  216. </dl>
  217. </dd></dl>
  218. <dl class="method">
  219. <dt id="grpc.experimental.aio.Channel.get_state">
  220. <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>
  221. <dd><p>Checks the connectivity state of a channel.</p>
  222. <p>This is an EXPERIMENTAL API.</p>
  223. <p>If the channel reaches a stable connectivity state, it is guaranteed
  224. that the return value of this function will eventually converge to that
  225. state.</p>
  226. <dl class="field-list simple">
  227. <dt class="field-odd">Parameters</dt>
  228. <dd class="field-odd"><p><strong>try_to_connect</strong> (<em>bool</em>) – a bool indicate whether the Channel should try to
  229. connect to peer or not.</p>
  230. </dd>
  231. <dt class="field-even">Return type</dt>
  232. <dd class="field-even"><p><a class="reference internal" href="grpc.html#grpc.ChannelConnectivity" title="grpc.ChannelConnectivity">grpc.ChannelConnectivity</a></p>
  233. </dd>
  234. </dl>
  235. <p>Returns: A ChannelConnectivity object.</p>
  236. </dd></dl>
  237. <dl class="method">
  238. <dt id="grpc.experimental.aio.Channel.stream_stream">
  239. <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>
  240. <dd><p>Creates a StreamStreamMultiCallable for a stream-stream method.</p>
  241. <dl class="field-list simple">
  242. <dt class="field-odd">Parameters</dt>
  243. <dd class="field-odd"><ul class="simple">
  244. <li><p><strong>method</strong> (<em>str</em>) – The name of the RPC method.</p></li>
  245. <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
  246. message. Request goes unserialized in case None is passed.</p></li>
  247. <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
  248. response message. Response goes undeserialized in case None
  249. is passed.</p></li>
  250. </ul>
  251. </dd>
  252. <dt class="field-even">Returns</dt>
  253. <dd class="field-even"><p>A StreamStreamMultiCallable value for the named stream-stream method.</p>
  254. </dd>
  255. <dt class="field-odd">Return type</dt>
  256. <dd class="field-odd"><p>grpc.experimental.aio._base_channel.StreamStreamMultiCallable</p>
  257. </dd>
  258. </dl>
  259. </dd></dl>
  260. <dl class="method">
  261. <dt id="grpc.experimental.aio.Channel.stream_unary">
  262. <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>
  263. <dd><p>Creates a StreamUnaryMultiCallable for a stream-unary method.</p>
  264. <dl class="field-list simple">
  265. <dt class="field-odd">Parameters</dt>
  266. <dd class="field-odd"><ul class="simple">
  267. <li><p><strong>method</strong> (<em>str</em>) – The name of the RPC method.</p></li>
  268. <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
  269. message. Request goes unserialized in case None is passed.</p></li>
  270. <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
  271. response message. Response goes undeserialized in case None
  272. is passed.</p></li>
  273. </ul>
  274. </dd>
  275. <dt class="field-even">Returns</dt>
  276. <dd class="field-even"><p>A StreamUnaryMultiCallable value for the named stream-unary method.</p>
  277. </dd>
  278. <dt class="field-odd">Return type</dt>
  279. <dd class="field-odd"><p>grpc.experimental.aio._base_channel.StreamUnaryMultiCallable</p>
  280. </dd>
  281. </dl>
  282. </dd></dl>
  283. <dl class="method">
  284. <dt id="grpc.experimental.aio.Channel.unary_stream">
  285. <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>
  286. <dd><p>Creates a UnaryStreamMultiCallable for a unary-stream method.</p>
  287. <dl class="field-list simple">
  288. <dt class="field-odd">Parameters</dt>
  289. <dd class="field-odd"><ul class="simple">
  290. <li><p><strong>method</strong> (<em>str</em>) – The name of the RPC method.</p></li>
  291. <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
  292. message. Request goes unserialized in case None is passed.</p></li>
  293. <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
  294. response message. Response goes undeserialized in case None
  295. is passed.</p></li>
  296. </ul>
  297. </dd>
  298. <dt class="field-even">Returns</dt>
  299. <dd class="field-even"><p>A UnarySteramMultiCallable value for the named unary-stream method.</p>
  300. </dd>
  301. <dt class="field-odd">Return type</dt>
  302. <dd class="field-odd"><p>grpc.experimental.aio._base_channel.UnaryStreamMultiCallable</p>
  303. </dd>
  304. </dl>
  305. </dd></dl>
  306. <dl class="method">
  307. <dt id="grpc.experimental.aio.Channel.unary_unary">
  308. <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>
  309. <dd><p>Creates a UnaryUnaryMultiCallable for a unary-unary method.</p>
  310. <dl class="field-list simple">
  311. <dt class="field-odd">Parameters</dt>
  312. <dd class="field-odd"><ul class="simple">
  313. <li><p><strong>method</strong> (<em>str</em>) – The name of the RPC method.</p></li>
  314. <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
  315. message. Request goes unserialized in case None is passed.</p></li>
  316. <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
  317. response message. Response goes undeserialized in case None
  318. is passed.</p></li>
  319. </ul>
  320. </dd>
  321. <dt class="field-even">Returns</dt>
  322. <dd class="field-even"><p>A UnaryUnaryMultiCallable value for the named unary-unary method.</p>
  323. </dd>
  324. <dt class="field-odd">Return type</dt>
  325. <dd class="field-odd"><p>grpc.experimental.aio._base_channel.UnaryUnaryMultiCallable</p>
  326. </dd>
  327. </dl>
  328. </dd></dl>
  329. <dl class="method">
  330. <dt id="grpc.experimental.aio.Channel.wait_for_state_change">
  331. <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>
  332. <dd><p>Waits for a change in connectivity state.</p>
  333. <p>This is an EXPERIMENTAL API.</p>
  334. <p>The function blocks until there is a change in the channel connectivity
  335. state from the “last_observed_state”. If the state is already
  336. different, this function will return immediately.</p>
  337. <p>There is an inherent race between the invocation of
  338. “Channel.wait_for_state_change” and “Channel.get_state”. The state can
  339. change arbitrary many times during the race, so there is no way to
  340. observe every state transition.</p>
  341. <p>If there is a need to put a timeout for this function, please refer to
  342. “asyncio.wait_for”.</p>
  343. <dl class="field-list simple">
  344. <dt class="field-odd">Parameters</dt>
  345. <dd class="field-odd"><p><strong>last_observed_state</strong> (<a class="reference internal" href="grpc.html#grpc.ChannelConnectivity" title="grpc.ChannelConnectivity"><em>grpc.ChannelConnectivity</em></a>) – A grpc.ChannelConnectivity object representing
  346. the last known state.</p>
  347. </dd>
  348. <dt class="field-even">Return type</dt>
  349. <dd class="field-even"><p>None</p>
  350. </dd>
  351. </dl>
  352. </dd></dl>
  353. </dd></dl>
  354. </div>
  355. <div class="section" id="create-server">
  356. <h3>Create Server<a class="headerlink" href="#create-server" title="Permalink to this headline">¶</a></h3>
  357. <dl class="function">
  358. <dt id="grpc.experimental.aio.server">
  359. <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>
  360. <dd><p>Creates a Server with which RPCs can be serviced.</p>
  361. <dl class="field-list simple">
  362. <dt class="field-odd">Parameters</dt>
  363. <dd class="field-odd"><ul class="simple">
  364. <li><p><strong>migration_thread_pool</strong> (<em>Optional</em><em>[</em><em>concurrent.futures._base.Executor</em><em>]</em>) – A futures.ThreadPoolExecutor to be used by the
  365. Server to execute non-AsyncIO RPC handlers for migration purpose.</p></li>
  366. <li><p><strong>handlers</strong> (<em>Optional</em><em>[</em><em>Sequence</em><em>[</em><a class="reference internal" href="grpc.html#grpc.GenericRpcHandler" title="grpc.GenericRpcHandler"><em>grpc.GenericRpcHandler</em></a><em>]</em><em>]</em>) – An optional list of GenericRpcHandlers used for executing RPCs.
  367. More handlers may be added by calling add_generic_rpc_handlers any time
  368. before the server is started.</p></li>
  369. <li><p><strong>interceptors</strong> (<em>Optional</em><em>[</em><em>Sequence</em><em>[</em><em>Any</em><em>]</em><em>]</em>) – An optional list of ServerInterceptor objects that observe
  370. and optionally manipulate the incoming RPCs before handing them over to
  371. handlers. The interceptors are given control in the order they are
  372. specified. This is an EXPERIMENTAL API.</p></li>
  373. <li><p><strong>options</strong> (<em>Optional</em><em>[</em><em>Sequence</em><em>[</em><em>Tuple</em><em>[</em><em>str</em><em>, </em><em>Any</em><em>]</em><em>]</em><em>]</em>) – An optional list of key-value pairs (channel args in gRPC runtime)
  374. to configure the channel.</p></li>
  375. <li><p><strong>maximum_concurrent_rpcs</strong> (<em>Optional</em><em>[</em><em>int</em><em>]</em>) – The maximum number of concurrent RPCs this server
  376. will service before returning RESOURCE_EXHAUSTED status, or None to
  377. indicate no limit.</p></li>
  378. <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.
  379. grpc.compression.Gzip. This compression algorithm will be used for the
  380. lifetime of the server unless overridden by set_compression. This is an
  381. EXPERIMENTAL option.</p></li>
  382. </ul>
  383. </dd>
  384. <dt class="field-even">Returns</dt>
  385. <dd class="field-even"><p>A Server object.</p>
  386. </dd>
  387. </dl>
  388. </dd></dl>
  389. </div>
  390. <div class="section" id="server-object">
  391. <h3>Server Object<a class="headerlink" href="#server-object" title="Permalink to this headline">¶</a></h3>
  392. <dl class="class">
  393. <dt id="grpc.experimental.aio.Server">
  394. <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>
  395. <dd><p>Serves RPCs.</p>
  396. <dl class="method">
  397. <dt id="grpc.experimental.aio.Server.add_generic_rpc_handlers">
  398. <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>
  399. <dd><p>Registers GenericRpcHandlers with this Server.</p>
  400. <p>This method is only safe to call before the server is started.</p>
  401. <dl class="field-list simple">
  402. <dt class="field-odd">Parameters</dt>
  403. <dd class="field-odd"><ul class="simple">
  404. <li><p><strong>generic_rpc_handlers</strong> (<em>Sequence</em><em>[</em><a class="reference internal" href="grpc.html#grpc.GenericRpcHandler" title="grpc.GenericRpcHandler"><em>grpc.GenericRpcHandler</em></a><em>]</em>) – A sequence of GenericRpcHandlers that will be</p></li>
  405. <li><p><strong>to service RPCs.</strong> (<em>used</em>) – </p></li>
  406. </ul>
  407. </dd>
  408. <dt class="field-even">Return type</dt>
  409. <dd class="field-even"><p>None</p>
  410. </dd>
  411. </dl>
  412. </dd></dl>
  413. <dl class="method">
  414. <dt id="grpc.experimental.aio.Server.add_insecure_port">
  415. <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>
  416. <dd><p>Opens an insecure port for accepting RPCs.</p>
  417. <p>A port is a communication endpoint that used by networking protocols,
  418. like TCP and UDP. To date, we only support TCP.</p>
  419. <p>This method may only be called before starting the server.</p>
  420. <dl class="field-list simple">
  421. <dt class="field-odd">Parameters</dt>
  422. <dd class="field-odd"><p><strong>address</strong> (<em>str</em>) – The address for which to open a port. If the port is 0,
  423. or not specified in the address, then the gRPC runtime will choose a port.</p>
  424. </dd>
  425. <dt class="field-even">Returns</dt>
  426. <dd class="field-even"><p>An integer port on which the server will accept RPC requests.</p>
  427. </dd>
  428. <dt class="field-odd">Return type</dt>
  429. <dd class="field-odd"><p>int</p>
  430. </dd>
  431. </dl>
  432. </dd></dl>
  433. <dl class="method">
  434. <dt id="grpc.experimental.aio.Server.add_secure_port">
  435. <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>
  436. <dd><p>Opens a secure port for accepting RPCs.</p>
  437. <p>A port is a communication endpoint that used by networking protocols,
  438. like TCP and UDP. To date, we only support TCP.</p>
  439. <p>This method may only be called before starting the server.</p>
  440. <dl class="field-list simple">
  441. <dt class="field-odd">Parameters</dt>
  442. <dd class="field-odd"><ul class="simple">
  443. <li><p><strong>address</strong> (<em>str</em>) – The address for which to open a port.
  444. if the port is 0, or not specified in the address, then the gRPC
  445. runtime will choose a port.</p></li>
  446. <li><p><strong>server_credentials</strong> (<a class="reference internal" href="grpc.html#grpc.ServerCredentials" title="grpc.ServerCredentials"><em>grpc.ServerCredentials</em></a>) – A ServerCredentials object.</p></li>
  447. </ul>
  448. </dd>
  449. <dt class="field-even">Returns</dt>
  450. <dd class="field-even"><p>An integer port on which the server will accept RPC requests.</p>
  451. </dd>
  452. <dt class="field-odd">Return type</dt>
  453. <dd class="field-odd"><p>int</p>
  454. </dd>
  455. </dl>
  456. </dd></dl>
  457. <dl class="method">
  458. <dt id="grpc.experimental.aio.Server.start">
  459. <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>
  460. <dd><p>Starts this Server.</p>
  461. <p>This method may only be called once. (i.e. it is not idempotent).</p>
  462. <dl class="field-list simple">
  463. <dt class="field-odd">Return type</dt>
  464. <dd class="field-odd"><p>None</p>
  465. </dd>
  466. </dl>
  467. </dd></dl>
  468. <dl class="method">
  469. <dt id="grpc.experimental.aio.Server.stop">
  470. <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>
  471. <dd><p>Stops this Server.</p>
  472. <p>This method immediately stops the server from servicing new RPCs in
  473. all cases.</p>
  474. <p>If a grace period is specified, this method returns immediately and all
  475. RPCs active at the end of the grace period are aborted. If a grace
  476. period is not specified (by passing None for grace), all existing RPCs
  477. are aborted immediately and this method blocks until the last RPC
  478. handler terminates.</p>
  479. <p>This method is idempotent and may be called at any time. Passing a
  480. smaller grace value in a subsequent call will have the effect of
  481. stopping the Server sooner (passing None will have the effect of
  482. stopping the server immediately). Passing a larger grace value in a
  483. subsequent call will not have the effect of stopping the server later
  484. (i.e. the most restrictive grace value is used).</p>
  485. <dl class="field-list simple">
  486. <dt class="field-odd">Parameters</dt>
  487. <dd class="field-odd"><p><strong>grace</strong> (<em>Optional</em><em>[</em><em>float</em><em>]</em>) – A duration of time in seconds or None.</p>
  488. </dd>
  489. <dt class="field-even">Return type</dt>
  490. <dd class="field-even"><p>None</p>
  491. </dd>
  492. </dl>
  493. </dd></dl>
  494. <dl class="method">
  495. <dt id="grpc.experimental.aio.Server.wait_for_termination">
  496. <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>
  497. <dd><p>Continues current coroutine once the server stops.</p>
  498. <p>This is an EXPERIMENTAL API.</p>
  499. <p>The wait will not consume computational resources during blocking, and
  500. it will block until one of the two following conditions are met:</p>
  501. <ol class="arabic simple">
  502. <li><p>The server is stopped or terminated;</p></li>
  503. <li><p>A timeout occurs if timeout is not <cite>None</cite>.</p></li>
  504. </ol>
  505. <p>The timeout argument works in the same way as <cite>threading.Event.wait()</cite>.
  506. <a class="reference external" href="https://docs.python.org/3/library/threading.html#threading.Event.wait">https://docs.python.org/3/library/threading.html#threading.Event.wait</a></p>
  507. <dl class="field-list simple">
  508. <dt class="field-odd">Parameters</dt>
  509. <dd class="field-odd"><p><strong>timeout</strong> (<em>Optional</em><em>[</em><em>float</em><em>]</em>) – A floating point number specifying a timeout for the
  510. operation in seconds.</p>
  511. </dd>
  512. <dt class="field-even">Returns</dt>
  513. <dd class="field-even"><p>A bool indicates if the operation times out.</p>
  514. </dd>
  515. <dt class="field-odd">Return type</dt>
  516. <dd class="field-odd"><p>bool</p>
  517. </dd>
  518. </dl>
  519. </dd></dl>
  520. </dd></dl>
  521. </div>
  522. <div class="section" id="grpc-exceptions">
  523. <h3>gRPC Exceptions<a class="headerlink" href="#grpc-exceptions" title="Permalink to this headline">¶</a></h3>
  524. <dl class="exception">
  525. <dt id="grpc.experimental.aio.BaseError">
  526. <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>
  527. <dd><p>The base class for exceptions generated by gRPC AsyncIO stack.</p>
  528. </dd></dl>
  529. <dl class="exception">
  530. <dt id="grpc.experimental.aio.UsageError">
  531. <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>
  532. <dd><p>Raised when the usage of API by applications is inappropriate.</p>
  533. <p>For example, trying to invoke RPC on a closed channel, mixing two styles
  534. of streaming API on the client side. This exception should not be
  535. suppressed.</p>
  536. </dd></dl>
  537. <dl class="exception">
  538. <dt id="grpc.experimental.aio.AbortError">
  539. <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>
  540. <dd><p>Raised when calling abort in servicer methods.</p>
  541. <p>This exception should not be suppressed. Applications may catch it to
  542. perform certain clean-up logic, and then re-raise it.</p>
  543. </dd></dl>
  544. <dl class="exception">
  545. <dt id="grpc.experimental.aio.InternalError">
  546. <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>
  547. <dd><p>Raised upon unexpected errors in native code.</p>
  548. </dd></dl>
  549. <dl class="exception">
  550. <dt id="grpc.experimental.aio.AioRpcError">
  551. <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>
  552. <dd><p>An implementation of RpcError to be used by the asynchronous API.</p>
  553. <p>Raised RpcError is a snapshot of the final status of the RPC, values are
  554. determined. Hence, its methods no longer needs to be coroutines.</p>
  555. <dl class="field-list simple">
  556. <dt class="field-odd">Parameters</dt>
  557. <dd class="field-odd"><ul class="simple">
  558. <li><p><strong>code</strong> (<a class="reference internal" href="grpc.html#grpc.StatusCode" title="grpc.StatusCode"><em>grpc.StatusCode</em></a>) – </p></li>
  559. <li><p><strong>details</strong> (<em>Optional</em><em>[</em><em>str</em><em>]</em>) – </p></li>
  560. <li><p><strong>AnyStr</strong><strong>]</strong><strong>]</strong><strong>] </strong><strong>initial_metadata</strong> (<em>Optional</em><em>[</em><em>Sequence</em><em>[</em><em>Tuple</em><em>[</em><em>str</em><em>,</em>) – </p></li>
  561. <li><p><strong>AnyStr</strong><strong>]</strong><strong>]</strong><strong>] </strong><strong>trailing_metadata</strong> (<em>Optional</em><em>[</em><em>Sequence</em><em>[</em><em>Tuple</em><em>[</em><em>str</em><em>,</em>) – </p></li>
  562. <li><p><strong>debug_error_string</strong> (<em>Optional</em><em>[</em><em>str</em><em>]</em>) – </p></li>
  563. </ul>
  564. </dd>
  565. <dt class="field-even">Return type</dt>
  566. <dd class="field-even"><p>None</p>
  567. </dd>
  568. </dl>
  569. <dl class="method">
  570. <dt id="grpc.experimental.aio.AioRpcError.code">
  571. <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>
  572. <dd><p>Accesses the status code sent by the server.</p>
  573. <dl class="field-list simple">
  574. <dt class="field-odd">Returns</dt>
  575. <dd class="field-odd"><p>The <cite>grpc.StatusCode</cite> status code.</p>
  576. </dd>
  577. <dt class="field-even">Return type</dt>
  578. <dd class="field-even"><p><a class="reference internal" href="grpc.html#grpc.StatusCode" title="grpc.StatusCode">grpc.StatusCode</a></p>
  579. </dd>
  580. </dl>
  581. </dd></dl>
  582. <dl class="method">
  583. <dt id="grpc.experimental.aio.AioRpcError.debug_error_string">
  584. <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>
  585. <dd><p>Accesses the debug error string sent by the server.</p>
  586. <dl class="field-list simple">
  587. <dt class="field-odd">Returns</dt>
  588. <dd class="field-odd"><p>The debug error string received.</p>
  589. </dd>
  590. <dt class="field-even">Return type</dt>
  591. <dd class="field-even"><p>str</p>
  592. </dd>
  593. </dl>
  594. </dd></dl>
  595. <dl class="method">
  596. <dt id="grpc.experimental.aio.AioRpcError.details">
  597. <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>
  598. <dd><p>Accesses the details sent by the server.</p>
  599. <dl class="field-list simple">
  600. <dt class="field-odd">Returns</dt>
  601. <dd class="field-odd"><p>The description of the error.</p>
  602. </dd>
  603. <dt class="field-even">Return type</dt>
  604. <dd class="field-even"><p>Optional[str]</p>
  605. </dd>
  606. </dl>
  607. </dd></dl>
  608. <dl class="method">
  609. <dt id="grpc.experimental.aio.AioRpcError.initial_metadata">
  610. <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>
  611. <dd><p>Accesses the initial metadata sent by the server.</p>
  612. <dl class="field-list simple">
  613. <dt class="field-odd">Returns</dt>
  614. <dd class="field-odd"><p>The initial metadata received.</p>
  615. </dd>
  616. <dt class="field-even">Return type</dt>
  617. <dd class="field-even"><p>Optional[Dict]</p>
  618. </dd>
  619. </dl>
  620. </dd></dl>
  621. <dl class="method">
  622. <dt id="grpc.experimental.aio.AioRpcError.trailing_metadata">
  623. <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>
  624. <dd><p>Accesses the trailing metadata sent by the server.</p>
  625. <dl class="field-list simple">
  626. <dt class="field-odd">Returns</dt>
  627. <dd class="field-odd"><p>The trailing metadata received.</p>
  628. </dd>
  629. <dt class="field-even">Return type</dt>
  630. <dd class="field-even"><p>Optional[Dict]</p>
  631. </dd>
  632. </dl>
  633. </dd></dl>
  634. </dd></dl>
  635. </div>
  636. <div class="section" id="shared-context">
  637. <h3>Shared Context<a class="headerlink" href="#shared-context" title="Permalink to this headline">¶</a></h3>
  638. <dl class="class">
  639. <dt id="grpc.experimental.aio.RpcContext">
  640. <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>
  641. <dd><p>Provides RPC-related information and action.</p>
  642. <dl class="method">
  643. <dt id="grpc.experimental.aio.RpcContext.add_done_callback">
  644. <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>
  645. <dd><p>Registers a callback to be called on RPC termination.</p>
  646. <dl class="field-list simple">
  647. <dt class="field-odd">Parameters</dt>
  648. <dd class="field-odd"><ul class="simple">
  649. <li><p><strong>callback</strong> (<em>Callable</em><em>[</em><em>[</em><em>Any</em><em>]</em><em>, </em><em>None</em><em>]</em>) – A callable object will be called with the call object as</p></li>
  650. <li><p><strong>only argument.</strong> (<em>its</em>) – </p></li>
  651. </ul>
  652. </dd>
  653. <dt class="field-even">Return type</dt>
  654. <dd class="field-even"><p>None</p>
  655. </dd>
  656. </dl>
  657. </dd></dl>
  658. <dl class="method">
  659. <dt id="grpc.experimental.aio.RpcContext.cancel">
  660. <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>
  661. <dd><p>Cancels the RPC.</p>
  662. <p>Idempotent and has no effect if the RPC has already terminated.</p>
  663. <dl class="field-list simple">
  664. <dt class="field-odd">Returns</dt>
  665. <dd class="field-odd"><p>A bool indicates if the cancellation is performed or not.</p>
  666. </dd>
  667. <dt class="field-even">Return type</dt>
  668. <dd class="field-even"><p>bool</p>
  669. </dd>
  670. </dl>
  671. </dd></dl>
  672. <dl class="method">
  673. <dt id="grpc.experimental.aio.RpcContext.cancelled">
  674. <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>
  675. <dd><p>Return True if the RPC is cancelled.</p>
  676. <p>The RPC is cancelled when the cancellation was requested with cancel().</p>
  677. <dl class="field-list simple">
  678. <dt class="field-odd">Returns</dt>
  679. <dd class="field-odd"><p>A bool indicates whether the RPC is cancelled or not.</p>
  680. </dd>
  681. <dt class="field-even">Return type</dt>
  682. <dd class="field-even"><p>bool</p>
  683. </dd>
  684. </dl>
  685. </dd></dl>
  686. <dl class="method">
  687. <dt id="grpc.experimental.aio.RpcContext.done">
  688. <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>
  689. <dd><p>Return True if the RPC is done.</p>
  690. <p>An RPC is done if the RPC is completed, cancelled or aborted.</p>
  691. <dl class="field-list simple">
  692. <dt class="field-odd">Returns</dt>
  693. <dd class="field-odd"><p>A bool indicates if the RPC is done.</p>
  694. </dd>
  695. <dt class="field-even">Return type</dt>
  696. <dd class="field-even"><p>bool</p>
  697. </dd>
  698. </dl>
  699. </dd></dl>
  700. <dl class="method">
  701. <dt id="grpc.experimental.aio.RpcContext.time_remaining">
  702. <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>
  703. <dd><p>Describes the length of allowed time remaining for the RPC.</p>
  704. <dl class="field-list simple">
  705. <dt class="field-odd">Returns</dt>
  706. <dd class="field-odd"><p>A nonnegative float indicating the length of allowed time in seconds
  707. remaining for the RPC to complete before it is considered to have
  708. timed out, or None if no deadline was specified for the RPC.</p>
  709. </dd>
  710. <dt class="field-even">Return type</dt>
  711. <dd class="field-even"><p>Optional[float]</p>
  712. </dd>
  713. </dl>
  714. </dd></dl>
  715. </dd></dl>
  716. </div>
  717. <div class="section" id="client-side-context">
  718. <h3>Client-Side Context<a class="headerlink" href="#client-side-context" title="Permalink to this headline">¶</a></h3>
  719. <dl class="class">
  720. <dt id="grpc.experimental.aio.Call">
  721. <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>
  722. <dd><p>The abstract base class of an RPC on the client-side.</p>
  723. <dl class="method">
  724. <dt id="grpc.experimental.aio.Call.code">
  725. <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>
  726. <dd><p>Accesses the status code sent by the server.</p>
  727. <dl class="field-list simple">
  728. <dt class="field-odd">Returns</dt>
  729. <dd class="field-odd"><p>The StatusCode value for the RPC.</p>
  730. </dd>
  731. <dt class="field-even">Return type</dt>
  732. <dd class="field-even"><p><a class="reference internal" href="grpc.html#grpc.StatusCode" title="grpc.StatusCode">grpc.StatusCode</a></p>
  733. </dd>
  734. </dl>
  735. </dd></dl>
  736. <dl class="method">
  737. <dt id="grpc.experimental.aio.Call.details">
  738. <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>
  739. <dd><p>Accesses the details sent by the server.</p>
  740. <dl class="field-list simple">
  741. <dt class="field-odd">Returns</dt>
  742. <dd class="field-odd"><p>The details string of the RPC.</p>
  743. </dd>
  744. <dt class="field-even">Return type</dt>
  745. <dd class="field-even"><p>str</p>
  746. </dd>
  747. </dl>
  748. </dd></dl>
  749. <dl class="method">
  750. <dt id="grpc.experimental.aio.Call.initial_metadata">
  751. <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>
  752. <dd><p>Accesses the initial metadata sent by the server.</p>
  753. <dl class="field-list simple">
  754. <dt class="field-odd">Returns</dt>
  755. <dd class="field-odd"><p>The initial <a class="reference internal" href="glossary.html#term-metadata"><span class="xref std std-term">metadata</span></a>.</p>
  756. </dd>
  757. <dt class="field-even">Return type</dt>
  758. <dd class="field-even"><p>Sequence[Tuple[str, AnyStr]]</p>
  759. </dd>
  760. </dl>
  761. </dd></dl>
  762. <dl class="method">
  763. <dt id="grpc.experimental.aio.Call.trailing_metadata">
  764. <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>
  765. <dd><p>Accesses the trailing metadata sent by the server.</p>
  766. <dl class="field-list simple">
  767. <dt class="field-odd">Returns</dt>
  768. <dd class="field-odd"><p>The trailing <a class="reference internal" href="glossary.html#term-metadata"><span class="xref std std-term">metadata</span></a>.</p>
  769. </dd>
  770. <dt class="field-even">Return type</dt>
  771. <dd class="field-even"><p>Sequence[Tuple[str, AnyStr]]</p>
  772. </dd>
  773. </dl>
  774. </dd></dl>
  775. </dd></dl>
  776. <dl class="class">
  777. <dt id="grpc.experimental.aio.UnaryUnaryCall">
  778. <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>
  779. <dd><p>The abstract base class of an unary-unary RPC on the client-side.</p>
  780. <dl class="method">
  781. <dt id="grpc.experimental.aio.UnaryUnaryCall.__await__">
  782. <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>
  783. <dd><p>Await the response message to be ready.</p>
  784. <dl class="field-list simple">
  785. <dt class="field-odd">Returns</dt>
  786. <dd class="field-odd"><p>The response message of the RPC.</p>
  787. </dd>
  788. <dt class="field-even">Return type</dt>
  789. <dd class="field-even"><p>Awaitable[ResponseType]</p>
  790. </dd>
  791. </dl>
  792. </dd></dl>
  793. </dd></dl>
  794. <dl class="class">
  795. <dt id="grpc.experimental.aio.UnaryStreamCall">
  796. <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>
  797. <dd><dl class="method">
  798. <dt id="grpc.experimental.aio.UnaryStreamCall.__aiter__">
  799. <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>
  800. <dd><p>Returns the async iterable representation that yields messages.</p>
  801. <p>Under the hood, it is calling the “read” method.</p>
  802. <dl class="field-list simple">
  803. <dt class="field-odd">Returns</dt>
  804. <dd class="field-odd"><p>An async iterable object that yields messages.</p>
  805. </dd>
  806. <dt class="field-even">Return type</dt>
  807. <dd class="field-even"><p>AsyncIterable[ResponseType]</p>
  808. </dd>
  809. </dl>
  810. </dd></dl>
  811. <dl class="method">
  812. <dt id="grpc.experimental.aio.UnaryStreamCall.read">
  813. <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>
  814. <dd><p>Reads one message from the stream.</p>
  815. <p>Read operations must be serialized when called from multiple
  816. coroutines.</p>
  817. <dl class="field-list simple">
  818. <dt class="field-odd">Returns</dt>
  819. <dd class="field-odd"><p>A response message, or an <cite>grpc.aio.EOF</cite> to indicate the end of the
  820. stream.</p>
  821. </dd>
  822. <dt class="field-even">Return type</dt>
  823. <dd class="field-even"><p>Union[grpc._cython.cygrpc._EOF, ResponseType]</p>
  824. </dd>
  825. </dl>
  826. </dd></dl>
  827. </dd></dl>
  828. <dl class="class">
  829. <dt id="grpc.experimental.aio.StreamUnaryCall">
  830. <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>
  831. <dd><dl class="method">
  832. <dt id="grpc.experimental.aio.StreamUnaryCall.__await__">
  833. <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>
  834. <dd><p>Await the response message to be ready.</p>
  835. <dl class="field-list simple">
  836. <dt class="field-odd">Returns</dt>
  837. <dd class="field-odd"><p>The response message of the stream.</p>
  838. </dd>
  839. <dt class="field-even">Return type</dt>
  840. <dd class="field-even"><p>Awaitable[ResponseType]</p>
  841. </dd>
  842. </dl>
  843. </dd></dl>
  844. <dl class="method">
  845. <dt id="grpc.experimental.aio.StreamUnaryCall.done_writing">
  846. <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>
  847. <dd><p>Notifies server that the client is done sending messages.</p>
  848. <p>After done_writing is called, any additional invocation to the write
  849. function will fail. This function is idempotent.</p>
  850. <dl class="field-list simple">
  851. <dt class="field-odd">Return type</dt>
  852. <dd class="field-odd"><p>None</p>
  853. </dd>
  854. </dl>
  855. </dd></dl>
  856. <dl class="method">
  857. <dt id="grpc.experimental.aio.StreamUnaryCall.write">
  858. <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>
  859. <dd><p>Writes one message to the stream.</p>
  860. <dl class="field-list simple">
  861. <dt class="field-odd">Raises</dt>
  862. <dd class="field-odd"><p><strong>An RpcError exception if the write failed.</strong> – </p>
  863. </dd>
  864. <dt class="field-even">Parameters</dt>
  865. <dd class="field-even"><p><strong>request</strong> (<em>RequestType</em>) – </p>
  866. </dd>
  867. <dt class="field-odd">Return type</dt>
  868. <dd class="field-odd"><p>None</p>
  869. </dd>
  870. </dl>
  871. </dd></dl>
  872. </dd></dl>
  873. <dl class="class">
  874. <dt id="grpc.experimental.aio.StreamStreamCall">
  875. <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>
  876. <dd><dl class="method">
  877. <dt id="grpc.experimental.aio.StreamStreamCall.__aiter__">
  878. <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>
  879. <dd><p>Returns the async iterable representation that yields messages.</p>
  880. <p>Under the hood, it is calling the “read” method.</p>
  881. <dl class="field-list simple">
  882. <dt class="field-odd">Returns</dt>
  883. <dd class="field-odd"><p>An async iterable object that yields messages.</p>
  884. </dd>
  885. <dt class="field-even">Return type</dt>
  886. <dd class="field-even"><p>AsyncIterable[ResponseType]</p>
  887. </dd>
  888. </dl>
  889. </dd></dl>
  890. <dl class="method">
  891. <dt id="grpc.experimental.aio.StreamStreamCall.done_writing">
  892. <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>
  893. <dd><p>Notifies server that the client is done sending messages.</p>
  894. <p>After done_writing is called, any additional invocation to the write
  895. function will fail. This function is idempotent.</p>
  896. <dl class="field-list simple">
  897. <dt class="field-odd">Return type</dt>
  898. <dd class="field-odd"><p>None</p>
  899. </dd>
  900. </dl>
  901. </dd></dl>
  902. <dl class="method">
  903. <dt id="grpc.experimental.aio.StreamStreamCall.read">
  904. <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>
  905. <dd><p>Reads one message from the stream.</p>
  906. <p>Read operations must be serialized when called from multiple
  907. coroutines.</p>
  908. <dl class="field-list simple">
  909. <dt class="field-odd">Returns</dt>
  910. <dd class="field-odd"><p>A response message, or an <cite>grpc.aio.EOF</cite> to indicate the end of the
  911. stream.</p>
  912. </dd>
  913. <dt class="field-even">Return type</dt>
  914. <dd class="field-even"><p>Union[grpc._cython.cygrpc._EOF, ResponseType]</p>
  915. </dd>
  916. </dl>
  917. </dd></dl>
  918. <dl class="method">
  919. <dt id="grpc.experimental.aio.StreamStreamCall.write">
  920. <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>
  921. <dd><p>Writes one message to the stream.</p>
  922. <dl class="field-list simple">
  923. <dt class="field-odd">Raises</dt>
  924. <dd class="field-odd"><p><strong>An RpcError exception if the write failed.</strong> – </p>
  925. </dd>
  926. <dt class="field-even">Parameters</dt>
  927. <dd class="field-even"><p><strong>request</strong> (<em>RequestType</em>) – </p>
  928. </dd>
  929. <dt class="field-odd">Return type</dt>
  930. <dd class="field-odd"><p>None</p>
  931. </dd>
  932. </dl>
  933. </dd></dl>
  934. </dd></dl>
  935. </div>
  936. <div class="section" id="server-side-context">
  937. <h3>Server-Side Context<a class="headerlink" href="#server-side-context" title="Permalink to this headline">¶</a></h3>
  938. <dl class="class">
  939. <dt id="grpc.experimental.aio.ServicerContext">
  940. <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>
  941. <dd><p>A context object passed to method implementations.</p>
  942. <dl class="method">
  943. <dt id="grpc.experimental.aio.ServicerContext.abort">
  944. <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>
  945. <dd><p>Raises an exception to terminate the RPC with a non-OK status.</p>
  946. <p>The code and details passed as arguments will supercede any existing
  947. ones.</p>
  948. <dl class="field-list simple">
  949. <dt class="field-odd">Parameters</dt>
  950. <dd class="field-odd"><ul class="simple">
  951. <li><p><strong>code</strong> (<a class="reference internal" href="grpc.html#grpc.StatusCode" title="grpc.StatusCode"><em>grpc.StatusCode</em></a>) – A StatusCode object to be sent to the client.
  952. It must not be StatusCode.OK.</p></li>
  953. <li><p><strong>details</strong> (<em>str</em>) – A UTF-8-encodable string to be sent to the client upon
  954. termination of the RPC.</p></li>
  955. <li><p><strong>trailing_metadata</strong> (<em>Sequence</em><em>[</em><em>Tuple</em><em>[</em><em>str</em><em>, </em><em>AnyStr</em><em>]</em><em>]</em>) – A sequence of tuple represents the trailing
  956. <a class="reference internal" href="glossary.html#term-metadata"><span class="xref std std-term">metadata</span></a>.</p></li>
  957. </ul>
  958. </dd>
  959. <dt class="field-even">Raises</dt>
  960. <dd class="field-even"><p><strong>Exception</strong> – An exception is always raised to signal the abortion the
  961. RPC to the gRPC runtime.</p>
  962. </dd>
  963. <dt class="field-odd">Return type</dt>
  964. <dd class="field-odd"><p>None</p>
  965. </dd>
  966. </dl>
  967. </dd></dl>
  968. <dl class="method">
  969. <dt id="grpc.experimental.aio.ServicerContext.disable_next_message_compression">
  970. <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>
  971. <dd><p>Disables compression for the next response message.</p>
  972. <p>This is an EXPERIMENTAL method.</p>
  973. <p>This method will override any compression configuration set during
  974. server creation or set on the call.</p>
  975. <dl class="field-list simple">
  976. <dt class="field-odd">Return type</dt>
  977. <dd class="field-odd"><p>None</p>
  978. </dd>
  979. </dl>
  980. </dd></dl>
  981. <dl class="method">
  982. <dt id="grpc.experimental.aio.ServicerContext.invocation_metadata">
  983. <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>
  984. <dd><p>Accesses the metadata from the sent by the client.</p>
  985. <dl class="field-list simple">
  986. <dt class="field-odd">Returns</dt>
  987. <dd class="field-odd"><p>The invocation <a class="reference internal" href="glossary.html#term-metadata"><span class="xref std std-term">metadata</span></a>.</p>
  988. </dd>
  989. <dt class="field-even">Return type</dt>
  990. <dd class="field-even"><p>Optional[Sequence[Tuple[str, AnyStr]]]</p>
  991. </dd>
  992. </dl>
  993. </dd></dl>
  994. <dl class="method">
  995. <dt id="grpc.experimental.aio.ServicerContext.read">
  996. <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>
  997. <dd><p>Reads one message from the RPC.</p>
  998. <p>Only one read operation is allowed simultaneously.</p>
  999. <dl class="field-list simple">
  1000. <dt class="field-odd">Returns</dt>
  1001. <dd class="field-odd"><p>A response message of the RPC.</p>
  1002. </dd>
  1003. <dt class="field-even">Raises</dt>
  1004. <dd class="field-even"><p><strong>An RpcError exception if the read failed.</strong> – </p>
  1005. </dd>
  1006. <dt class="field-odd">Return type</dt>
  1007. <dd class="field-odd"><p>RequestType</p>
  1008. </dd>
  1009. </dl>
  1010. </dd></dl>
  1011. <dl class="method">
  1012. <dt id="grpc.experimental.aio.ServicerContext.send_initial_metadata">
  1013. <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>
  1014. <dd><p>Sends the initial metadata value to the client.</p>
  1015. <p>This method need not be called by implementations if they have no
  1016. metadata to add to what the gRPC runtime will transmit.</p>
  1017. <dl class="field-list simple">
  1018. <dt class="field-odd">Parameters</dt>
  1019. <dd class="field-odd"><p><strong>initial_metadata</strong> (<em>Sequence</em><em>[</em><em>Tuple</em><em>[</em><em>str</em><em>, </em><em>AnyStr</em><em>]</em><em>]</em>) – The initial <a class="reference internal" href="glossary.html#term-metadata"><span class="xref std std-term">metadata</span></a>.</p>
  1020. </dd>
  1021. <dt class="field-even">Return type</dt>
  1022. <dd class="field-even"><p>None</p>
  1023. </dd>
  1024. </dl>
  1025. </dd></dl>
  1026. <dl class="method">
  1027. <dt id="grpc.experimental.aio.ServicerContext.set_code">
  1028. <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>
  1029. <dd><p>Sets the value to be used as status code upon RPC completion.</p>
  1030. <p>This method need not be called by method implementations if they wish
  1031. the gRPC runtime to determine the status code of the RPC.</p>
  1032. <dl class="field-list simple">
  1033. <dt class="field-odd">Parameters</dt>
  1034. <dd class="field-odd"><p><strong>code</strong> (<a class="reference internal" href="grpc.html#grpc.StatusCode" title="grpc.StatusCode"><em>grpc.StatusCode</em></a>) – A StatusCode object to be sent to the client.</p>
  1035. </dd>
  1036. <dt class="field-even">Return type</dt>
  1037. <dd class="field-even"><p>None</p>
  1038. </dd>
  1039. </dl>
  1040. </dd></dl>
  1041. <dl class="method">
  1042. <dt id="grpc.experimental.aio.ServicerContext.set_compression">
  1043. <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>
  1044. <dd><p>Set the compression algorithm to be used for the entire call.</p>
  1045. <p>This is an EXPERIMENTAL method.</p>
  1046. <dl class="field-list simple">
  1047. <dt class="field-odd">Parameters</dt>
  1048. <dd class="field-odd"><p><strong>compression</strong> (<a class="reference internal" href="grpc.html#grpc.Compression" title="grpc.Compression"><em>grpc.Compression</em></a>) – An element of grpc.compression, e.g.
  1049. grpc.compression.Gzip.</p>
  1050. </dd>
  1051. <dt class="field-even">Return type</dt>
  1052. <dd class="field-even"><p>None</p>
  1053. </dd>
  1054. </dl>
  1055. </dd></dl>
  1056. <dl class="method">
  1057. <dt id="grpc.experimental.aio.ServicerContext.set_details">
  1058. <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>
  1059. <dd><p>Sets the value to be used the as detail string upon RPC completion.</p>
  1060. <p>This method need not be called by method implementations if they have
  1061. no details to transmit.</p>
  1062. <dl class="field-list simple">
  1063. <dt class="field-odd">Parameters</dt>
  1064. <dd class="field-odd"><p><strong>details</strong> (<em>str</em>) – A UTF-8-encodable string to be sent to the client upon
  1065. termination of the RPC.</p>
  1066. </dd>
  1067. <dt class="field-even">Return type</dt>
  1068. <dd class="field-even"><p>None</p>
  1069. </dd>
  1070. </dl>
  1071. </dd></dl>
  1072. <dl class="method">
  1073. <dt id="grpc.experimental.aio.ServicerContext.set_trailing_metadata">
  1074. <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>
  1075. <dd><p>Sends the trailing metadata for the RPC.</p>
  1076. <p>This method need not be called by implementations if they have no
  1077. metadata to add to what the gRPC runtime will transmit.</p>
  1078. <dl class="field-list simple">
  1079. <dt class="field-odd">Parameters</dt>
  1080. <dd class="field-odd"><p><strong>trailing_metadata</strong> (<em>Sequence</em><em>[</em><em>Tuple</em><em>[</em><em>str</em><em>, </em><em>AnyStr</em><em>]</em><em>]</em>) – The trailing <a class="reference internal" href="glossary.html#term-metadata"><span class="xref std std-term">metadata</span></a>.</p>
  1081. </dd>
  1082. <dt class="field-even">Return type</dt>
  1083. <dd class="field-even"><p>None</p>
  1084. </dd>
  1085. </dl>
  1086. </dd></dl>
  1087. <dl class="method">
  1088. <dt id="grpc.experimental.aio.ServicerContext.write">
  1089. <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>
  1090. <dd><p>Writes one message to the RPC.</p>
  1091. <p>Only one write operation is allowed simultaneously.</p>
  1092. <dl class="field-list simple">
  1093. <dt class="field-odd">Raises</dt>
  1094. <dd class="field-odd"><p><strong>An RpcError exception if the write failed.</strong> – </p>
  1095. </dd>
  1096. <dt class="field-even">Parameters</dt>
  1097. <dd class="field-even"><p><strong>message</strong> (<em>ResponseType</em>) – </p>
  1098. </dd>
  1099. <dt class="field-odd">Return type</dt>
  1100. <dd class="field-odd"><p>None</p>
  1101. </dd>
  1102. </dl>
  1103. </dd></dl>
  1104. </dd></dl>
  1105. </div>
  1106. <div class="section" id="client-side-interceptor">
  1107. <h3>Client-Side Interceptor<a class="headerlink" href="#client-side-interceptor" title="Permalink to this headline">¶</a></h3>
  1108. <dl class="class">
  1109. <dt id="grpc.experimental.aio.ClientCallDetails">
  1110. <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>
  1111. <dd><p>Describes an RPC to be invoked.</p>
  1112. <p>This is an EXPERIMENTAL API.</p>
  1113. <dl class="field-list simple">
  1114. <dt class="field-odd">Parameters</dt>
  1115. <dd class="field-odd"><ul class="simple">
  1116. <li><p><strong>method</strong> – The method name of the RPC.</p></li>
  1117. <li><p><strong>timeout</strong> – An optional duration of time in seconds to allow for the RPC.</p></li>
  1118. <li><p><strong>metadata</strong> – Optional metadata to be transmitted to the service-side of
  1119. the RPC.</p></li>
  1120. <li><p><strong>credentials</strong> – An optional CallCredentials for the RPC.</p></li>
  1121. <li><p><strong>wait_for_ready</strong> – This is an EXPERIMENTAL argument. An optional flag to
  1122. enable wait for ready mechanism.</p></li>
  1123. </ul>
  1124. </dd>
  1125. </dl>
  1126. </dd></dl>
  1127. <dl class="class">
  1128. <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall">
  1129. <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>
  1130. <dd><p>Used for running a <cite>UnaryUnaryCall</cite> wrapped by interceptors.</p>
  1131. <p>Interceptors might have some work to do before the RPC invocation with
  1132. the capacity of changing the invocation parameters, and some work to do
  1133. after the RPC invocation with the capacity for accessing to the wrapped
  1134. <cite>UnaryUnaryCall</cite>.</p>
  1135. <p>It handles also early and later cancellations, when the RPC has not even
  1136. started and the execution is still held by the interceptors or when the
  1137. RPC has finished but again the execution is still held by the interceptors.</p>
  1138. <p>Once the RPC is finally executed, all methods are finally done against the
  1139. intercepted call, being at the same time the same call returned to the
  1140. interceptors.</p>
  1141. <p>For most of the methods, like <cite>initial_metadata()</cite> the caller does not need
  1142. to wait until the interceptors task is finished, once the RPC is done the
  1143. caller will have the freedom for accessing to the results.</p>
  1144. <p>For the <cite>__await__</cite> method is it is proxied to the intercepted call only when
  1145. the interceptor task is finished.</p>
  1146. <dl class="method">
  1147. <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.add_done_callback">
  1148. <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>
  1149. <dd><p>Registers a callback to be called on RPC termination.</p>
  1150. <dl class="field-list simple">
  1151. <dt class="field-odd">Parameters</dt>
  1152. <dd class="field-odd"><ul class="simple">
  1153. <li><p><strong>callback</strong> (<em>Callable</em><em>[</em><em>[</em><em>Any</em><em>]</em><em>, </em><em>None</em><em>]</em>) – A callable object will be called with the call object as</p></li>
  1154. <li><p><strong>only argument.</strong> (<em>its</em>) – </p></li>
  1155. </ul>
  1156. </dd>
  1157. <dt class="field-even">Return type</dt>
  1158. <dd class="field-even"><p>None</p>
  1159. </dd>
  1160. </dl>
  1161. </dd></dl>
  1162. <dl class="method">
  1163. <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.cancel">
  1164. <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>
  1165. <dd><p>Cancels the RPC.</p>
  1166. <p>Idempotent and has no effect if the RPC has already terminated.</p>
  1167. <dl class="field-list simple">
  1168. <dt class="field-odd">Returns</dt>
  1169. <dd class="field-odd"><p>A bool indicates if the cancellation is performed or not.</p>
  1170. </dd>
  1171. <dt class="field-even">Return type</dt>
  1172. <dd class="field-even"><p>bool</p>
  1173. </dd>
  1174. </dl>
  1175. </dd></dl>
  1176. <dl class="method">
  1177. <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.cancelled">
  1178. <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>
  1179. <dd><p>Return True if the RPC is cancelled.</p>
  1180. <p>The RPC is cancelled when the cancellation was requested with cancel().</p>
  1181. <dl class="field-list simple">
  1182. <dt class="field-odd">Returns</dt>
  1183. <dd class="field-odd"><p>A bool indicates whether the RPC is cancelled or not.</p>
  1184. </dd>
  1185. <dt class="field-even">Return type</dt>
  1186. <dd class="field-even"><p>bool</p>
  1187. </dd>
  1188. </dl>
  1189. </dd></dl>
  1190. <dl class="method">
  1191. <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.code">
  1192. <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>
  1193. <dd><p>Accesses the status code sent by the server.</p>
  1194. <dl class="field-list simple">
  1195. <dt class="field-odd">Returns</dt>
  1196. <dd class="field-odd"><p>The StatusCode value for the RPC.</p>
  1197. </dd>
  1198. <dt class="field-even">Return type</dt>
  1199. <dd class="field-even"><p><a class="reference internal" href="grpc.html#grpc.StatusCode" title="grpc.StatusCode">grpc.StatusCode</a></p>
  1200. </dd>
  1201. </dl>
  1202. </dd></dl>
  1203. <dl class="method">
  1204. <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.details">
  1205. <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>
  1206. <dd><p>Accesses the details sent by the server.</p>
  1207. <dl class="field-list simple">
  1208. <dt class="field-odd">Returns</dt>
  1209. <dd class="field-odd"><p>The details string of the RPC.</p>
  1210. </dd>
  1211. <dt class="field-even">Return type</dt>
  1212. <dd class="field-even"><p>str</p>
  1213. </dd>
  1214. </dl>
  1215. </dd></dl>
  1216. <dl class="method">
  1217. <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.done">
  1218. <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>
  1219. <dd><p>Return True if the RPC is done.</p>
  1220. <p>An RPC is done if the RPC is completed, cancelled or aborted.</p>
  1221. <dl class="field-list simple">
  1222. <dt class="field-odd">Returns</dt>
  1223. <dd class="field-odd"><p>A bool indicates if the RPC is done.</p>
  1224. </dd>
  1225. <dt class="field-even">Return type</dt>
  1226. <dd class="field-even"><p>bool</p>
  1227. </dd>
  1228. </dl>
  1229. </dd></dl>
  1230. <dl class="method">
  1231. <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.initial_metadata">
  1232. <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>
  1233. <dd><p>Accesses the initial metadata sent by the server.</p>
  1234. <dl class="field-list simple">
  1235. <dt class="field-odd">Returns</dt>
  1236. <dd class="field-odd"><p>The initial <a class="reference internal" href="glossary.html#term-metadata"><span class="xref std std-term">metadata</span></a>.</p>
  1237. </dd>
  1238. <dt class="field-even">Return type</dt>
  1239. <dd class="field-even"><p>Optional[Sequence[Tuple[str, AnyStr]]]</p>
  1240. </dd>
  1241. </dl>
  1242. </dd></dl>
  1243. <dl class="method">
  1244. <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.time_remaining">
  1245. <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>
  1246. <dd><p>Describes the length of allowed time remaining for the RPC.</p>
  1247. <dl class="field-list simple">
  1248. <dt class="field-odd">Returns</dt>
  1249. <dd class="field-odd"><p>A nonnegative float indicating the length of allowed time in seconds
  1250. remaining for the RPC to complete before it is considered to have
  1251. timed out, or None if no deadline was specified for the RPC.</p>
  1252. </dd>
  1253. <dt class="field-even">Return type</dt>
  1254. <dd class="field-even"><p>Optional[float]</p>
  1255. </dd>
  1256. </dl>
  1257. </dd></dl>
  1258. <dl class="method">
  1259. <dt id="grpc.experimental.aio.InterceptedUnaryUnaryCall.trailing_metadata">
  1260. <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>
  1261. <dd><p>Accesses the trailing metadata sent by the server.</p>
  1262. <dl class="field-list simple">
  1263. <dt class="field-odd">Returns</dt>
  1264. <dd class="field-odd"><p>The trailing <a class="reference internal" href="glossary.html#term-metadata"><span class="xref std std-term">metadata</span></a>.</p>
  1265. </dd>
  1266. <dt class="field-even">Return type</dt>
  1267. <dd class="field-even"><p>Optional[Sequence[Tuple[str, AnyStr]]]</p>
  1268. </dd>
  1269. </dl>
  1270. </dd></dl>
  1271. </dd></dl>
  1272. <dl class="class">
  1273. <dt id="grpc.experimental.aio.UnaryUnaryClientInterceptor">
  1274. <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>
  1275. <dd><p>Affords intercepting unary-unary invocations.</p>
  1276. <dl class="method">
  1277. <dt id="grpc.experimental.aio.UnaryUnaryClientInterceptor.intercept_unary_unary">
  1278. <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>
  1279. <dd><p>Intercepts a unary-unary invocation asynchronously.</p>
  1280. <dl class="field-list simple">
  1281. <dt class="field-odd">Parameters</dt>
  1282. <dd class="field-odd"><ul class="simple">
  1283. <li><p><strong>continuation</strong> (<em>Callable</em><em>[</em><em>[</em><em>grpc.experimental.aio._interceptor.ClientCallDetails</em><em>, </em><em>RequestType</em><em>]</em><em>, </em><em>grpc.experimental.aio._call.UnaryUnaryCall</em><em>]</em>) – A coroutine that proceeds with the invocation by
  1284. executing the next interceptor in chain or invoking the
  1285. actual RPC on the underlying Channel. It is the interceptor’s
  1286. responsibility to call it if it decides to move the RPC forward.
  1287. The interceptor can use
  1288. <cite>response_future = await continuation(client_call_details, request)</cite>
  1289. to continue with the RPC. <cite>continuation</cite> returns the response of the
  1290. RPC.</p></li>
  1291. <li><p><strong>client_call_details</strong> (<em>grpc.experimental.aio._interceptor.ClientCallDetails</em>) – A ClientCallDetails object describing the
  1292. outgoing RPC.</p></li>
  1293. <li><p><strong>request</strong> (<em>RequestType</em>) – The request value for the RPC.</p></li>
  1294. </ul>
  1295. </dd>
  1296. <dt class="field-even">Returns</dt>
  1297. <dd class="field-even"><p>An object with the RPC response.</p>
  1298. </dd>
  1299. <dt class="field-odd">Raises</dt>
  1300. <dd class="field-odd"><ul class="simple">
  1301. <li><p><a class="reference internal" href="#grpc.experimental.aio.AioRpcError" title="grpc.experimental.aio.AioRpcError"><strong>AioRpcError</strong></a> – Indicating that the RPC terminated with non-OK status.</p></li>
  1302. <li><p><strong>asyncio.CancelledError</strong> – Indicating that the RPC was canceled.</p></li>
  1303. </ul>
  1304. </dd>
  1305. <dt class="field-even">Return type</dt>
  1306. <dd class="field-even"><p>Union[grpc.experimental.aio._call.UnaryUnaryCall, ResponseType]</p>
  1307. </dd>
  1308. </dl>
  1309. </dd></dl>
  1310. </dd></dl>
  1311. </div>
  1312. <div class="section" id="multi-callable-interfaces">
  1313. <h3>Multi-Callable Interfaces<a class="headerlink" href="#multi-callable-interfaces" title="Permalink to this headline">¶</a></h3>
  1314. <dl class="class">
  1315. <dt id="grpc.experimental.aio.UnaryUnaryMultiCallable">
  1316. <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>
  1317. <dd><p>Enables asynchronous invocation of a unary-call RPC.</p>
  1318. <dl class="method">
  1319. <dt id="grpc.experimental.aio.UnaryUnaryMultiCallable.__call__">
  1320. <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>
  1321. <dd><p>Asynchronously invokes the underlying RPC.</p>
  1322. <dl class="field-list simple">
  1323. <dt class="field-odd">Parameters</dt>
  1324. <dd class="field-odd"><ul class="simple">
  1325. <li><p><strong>request</strong> (<em>Any</em>) – The request value for the RPC.</p></li>
  1326. <li><p><strong>timeout</strong> (<em>Optional</em><em>[</em><em>float</em><em>]</em>) – An optional duration of time in seconds to allow
  1327. for the RPC.</p></li>
  1328. <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
  1329. service-side of the RPC.</p></li>
  1330. <li><p><strong>credentials</strong> (<em>Optional</em><em>[</em><a class="reference internal" href="grpc.html#grpc.CallCredentials" title="grpc.CallCredentials"><em>grpc.CallCredentials</em></a><em>]</em>) – An optional CallCredentials for the RPC. Only valid for
  1331. secure Channel.</p></li>
  1332. <li><p><strong>wait_for_ready</strong> (<em>Optional</em><em>[</em><em>bool</em><em>]</em>) – This is an EXPERIMENTAL argument. An optional
  1333. flag to enable wait for ready mechanism</p></li>
  1334. <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.
  1335. grpc.compression.Gzip. This is an EXPERIMENTAL option.</p></li>
  1336. </ul>
  1337. </dd>
  1338. <dt class="field-even">Returns</dt>
  1339. <dd class="field-even"><p>A UnaryUnaryCall object.</p>
  1340. </dd>
  1341. <dt class="field-odd">Raises</dt>
  1342. <dd class="field-odd"><p><a class="reference internal" href="grpc.html#grpc.RpcError" title="grpc.RpcError"><strong>RpcError</strong></a> – Indicates that the RPC terminated with non-OK status. The
  1343. raised RpcError will also be a Call for the RPC affording the RPC’s
  1344. metadata, status code, and details.</p>
  1345. </dd>
  1346. <dt class="field-even">Return type</dt>
  1347. <dd class="field-even"><p>grpc.experimental.aio._base_call.UnaryUnaryCall</p>
  1348. </dd>
  1349. </dl>
  1350. </dd></dl>
  1351. </dd></dl>
  1352. <dl class="class">
  1353. <dt id="grpc.experimental.aio.UnaryStreamMultiCallable">
  1354. <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>
  1355. <dd><p>Enables asynchronous invocation of a server-streaming RPC.</p>
  1356. <dl class="method">
  1357. <dt id="grpc.experimental.aio.UnaryStreamMultiCallable.__call__">
  1358. <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>
  1359. <dd><p>Asynchronously invokes the underlying RPC.</p>
  1360. <dl class="field-list simple">
  1361. <dt class="field-odd">Parameters</dt>
  1362. <dd class="field-odd"><ul class="simple">
  1363. <li><p><strong>request</strong> (<em>Any</em>) – The request value for the RPC.</p></li>
  1364. <li><p><strong>timeout</strong> (<em>Optional</em><em>[</em><em>float</em><em>]</em>) – An optional duration of time in seconds to allow
  1365. for the RPC.</p></li>
  1366. <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
  1367. service-side of the RPC.</p></li>
  1368. <li><p><strong>credentials</strong> (<em>Optional</em><em>[</em><a class="reference internal" href="grpc.html#grpc.CallCredentials" title="grpc.CallCredentials"><em>grpc.CallCredentials</em></a><em>]</em>) – An optional CallCredentials for the RPC. Only valid for
  1369. secure Channel.</p></li>
  1370. <li><p><strong>wait_for_ready</strong> (<em>Optional</em><em>[</em><em>bool</em><em>]</em>) – This is an EXPERIMENTAL argument. An optional
  1371. flag to enable wait for ready mechanism</p></li>
  1372. <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.
  1373. grpc.compression.Gzip. This is an EXPERIMENTAL option.</p></li>
  1374. </ul>
  1375. </dd>
  1376. <dt class="field-even">Returns</dt>
  1377. <dd class="field-even"><p>A UnaryStreamCall object.</p>
  1378. </dd>
  1379. <dt class="field-odd">Raises</dt>
  1380. <dd class="field-odd"><p><a class="reference internal" href="grpc.html#grpc.RpcError" title="grpc.RpcError"><strong>RpcError</strong></a> – Indicates that the RPC terminated with non-OK status. The
  1381. raised RpcError will also be a Call for the RPC affording the RPC’s
  1382. metadata, status code, and details.</p>
  1383. </dd>
  1384. <dt class="field-even">Return type</dt>
  1385. <dd class="field-even"><p>grpc.experimental.aio._base_call.UnaryStreamCall</p>
  1386. </dd>
  1387. </dl>
  1388. </dd></dl>
  1389. </dd></dl>
  1390. <dl class="class">
  1391. <dt id="grpc.experimental.aio.StreamUnaryMultiCallable">
  1392. <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>
  1393. <dd><p>Enables asynchronous invocation of a client-streaming RPC.</p>
  1394. <dl class="method">
  1395. <dt id="grpc.experimental.aio.StreamUnaryMultiCallable.__call__">
  1396. <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>
  1397. <dd><p>Asynchronously invokes the underlying RPC.</p>
  1398. <dl class="field-list simple">
  1399. <dt class="field-odd">Parameters</dt>
  1400. <dd class="field-odd"><ul class="simple">
  1401. <li><p><strong>request</strong> – The request value for the RPC.</p></li>
  1402. <li><p><strong>timeout</strong> (<em>Optional</em><em>[</em><em>float</em><em>]</em>) – An optional duration of time in seconds to allow
  1403. for the RPC.</p></li>
  1404. <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
  1405. service-side of the RPC.</p></li>
  1406. <li><p><strong>credentials</strong> (<em>Optional</em><em>[</em><a class="reference internal" href="grpc.html#grpc.CallCredentials" title="grpc.CallCredentials"><em>grpc.CallCredentials</em></a><em>]</em>) – An optional CallCredentials for the RPC. Only valid for
  1407. secure Channel.</p></li>
  1408. <li><p><strong>wait_for_ready</strong> (<em>Optional</em><em>[</em><em>bool</em><em>]</em>) – This is an EXPERIMENTAL argument. An optional
  1409. flag to enable wait for ready mechanism</p></li>
  1410. <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.
  1411. grpc.compression.Gzip. This is an EXPERIMENTAL option.</p></li>
  1412. <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>
  1413. </ul>
  1414. </dd>
  1415. <dt class="field-even">Returns</dt>
  1416. <dd class="field-even"><p>A StreamUnaryCall object.</p>
  1417. </dd>
  1418. <dt class="field-odd">Raises</dt>
  1419. <dd class="field-odd"><p><a class="reference internal" href="grpc.html#grpc.RpcError" title="grpc.RpcError"><strong>RpcError</strong></a> – Indicates that the RPC terminated with non-OK status. The
  1420. raised RpcError will also be a Call for the RPC affording the RPC’s
  1421. metadata, status code, and details.</p>
  1422. </dd>
  1423. <dt class="field-even">Return type</dt>
  1424. <dd class="field-even"><p>grpc.experimental.aio._base_call.StreamUnaryCall</p>
  1425. </dd>
  1426. </dl>
  1427. </dd></dl>
  1428. </dd></dl>
  1429. <dl class="class">
  1430. <dt id="grpc.experimental.aio.StreamStreamMultiCallable">
  1431. <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>
  1432. <dd><p>Enables asynchronous invocation of a bidirectional-streaming RPC.</p>
  1433. <dl class="method">
  1434. <dt id="grpc.experimental.aio.StreamStreamMultiCallable.__call__">
  1435. <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>
  1436. <dd><p>Asynchronously invokes the underlying RPC.</p>
  1437. <dl class="field-list simple">
  1438. <dt class="field-odd">Parameters</dt>
  1439. <dd class="field-odd"><ul class="simple">
  1440. <li><p><strong>request</strong> – The request value for the RPC.</p></li>
  1441. <li><p><strong>timeout</strong> (<em>Optional</em><em>[</em><em>float</em><em>]</em>) – An optional duration of time in seconds to allow
  1442. for the RPC.</p></li>
  1443. <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
  1444. service-side of the RPC.</p></li>
  1445. <li><p><strong>credentials</strong> (<em>Optional</em><em>[</em><a class="reference internal" href="grpc.html#grpc.CallCredentials" title="grpc.CallCredentials"><em>grpc.CallCredentials</em></a><em>]</em>) – An optional CallCredentials for the RPC. Only valid for
  1446. secure Channel.</p></li>
  1447. <li><p><strong>wait_for_ready</strong> (<em>Optional</em><em>[</em><em>bool</em><em>]</em>) – This is an EXPERIMENTAL argument. An optional
  1448. flag to enable wait for ready mechanism</p></li>
  1449. <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.
  1450. grpc.compression.Gzip. This is an EXPERIMENTAL option.</p></li>
  1451. <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>
  1452. </ul>
  1453. </dd>
  1454. <dt class="field-even">Returns</dt>
  1455. <dd class="field-even"><p>A StreamStreamCall object.</p>
  1456. </dd>
  1457. <dt class="field-odd">Raises</dt>
  1458. <dd class="field-odd"><p><a class="reference internal" href="grpc.html#grpc.RpcError" title="grpc.RpcError"><strong>RpcError</strong></a> – Indicates that the RPC terminated with non-OK status. The
  1459. raised RpcError will also be a Call for the RPC affording the RPC’s
  1460. metadata, status code, and details.</p>
  1461. </dd>
  1462. <dt class="field-even">Return type</dt>
  1463. <dd class="field-even"><p>grpc.experimental.aio._base_call.StreamStreamCall</p>
  1464. </dd>
  1465. </dl>
  1466. </dd></dl>
  1467. </dd></dl>
  1468. </div>
  1469. </div>
  1470. </div>
  1471. </div>
  1472. </div>
  1473. </div>
  1474. <div class="clearer"></div>
  1475. </div>
  1476. <div class="footer">
  1477. &copy;2018, The gRPC Authors.
  1478. |
  1479. <a href="_sources/grpc_asyncio.rst.txt"
  1480. rel="nofollow">Page source</a>
  1481. </div>
  1482. <script type="text/javascript">
  1483. var _gaq = _gaq || [];
  1484. _gaq.push(['_setAccount', 'UA-60127042-1']);
  1485. _gaq.push(['_setDomainName', 'none']);
  1486. _gaq.push(['_setAllowLinker', true]);
  1487. _gaq.push(['_trackPageview']);
  1488. (function() {
  1489. var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  1490. ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  1491. var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  1492. })();
  1493. </script>
  1494. </body>
  1495. </html>