| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542 | <!DOCTYPE html><!--[if IE]><![endif]--><html>    <head>    <meta charset="utf-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">    <title>Class CallInvoker   | gRPC C# </title>    <meta name="viewport" content="width=device-width">    <meta name="title" content="Class CallInvoker   | gRPC C# ">    <meta name="generator" content="docfx 2.36.0.0">        <link rel="shortcut icon" href="../favicon.ico">    <link rel="stylesheet" href="../styles/docfx.vendor.css">    <link rel="stylesheet" href="../styles/docfx.css">    <link rel="stylesheet" href="../styles/main.css">    <meta property="docfx:navrel" content="../toc.html">    <meta property="docfx:tocrel" content="toc.html">        <meta property="docfx:rel" content="../">      </head>  <body data-spy="scroll" data-target="#affix" data-offset="120">    <div id="wrapper">      <header>                <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">          <div class="container">            <div class="navbar-header">              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">                <span class="sr-only">Toggle navigation</span>                <span class="icon-bar"></span>                <span class="icon-bar"></span>                <span class="icon-bar"></span>              </button>                            <a class="navbar-brand" href="../index.html">                <img id="logo" class="svg" src="../logo.svg" alt="">              </a>            </div>            <div class="collapse navbar-collapse" id="navbar">              <form class="navbar-form navbar-right" role="search" id="search">                <div class="form-group">                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">                </div>              </form>            </div>          </div>        </nav>                <div class="subnav navbar navbar-default">          <div class="container hide-when-search" id="breadcrumb">            <ul class="breadcrumb">              <li></li>            </ul>          </div>        </div>      </header>      <div class="container body-content">                <div id="search-results">          <div class="search-list"></div>          <div class="sr-items">            <p><i class="glyphicon glyphicon-refresh index-loading"></i></p>          </div>          <ul id="pagination"></ul>        </div>      </div>      <div role="main" class="container body-content hide-when-search">                <div class="sidenav hide-when-search">          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>          <div class="sidetoggle collapse" id="sidetoggle">            <div id="sidetoc"></div>          </div>        </div>        <div class="article row grid-right">          <div class="col-md-10">            <article class="content wrap" id="_content" data-uid="Grpc.Core.CallInvoker">      <h1 id="Grpc_Core_CallInvoker" data-uid="Grpc.Core.CallInvoker" class="text-break">Class CallInvoker  </h1>  <div class="markdown level0 summary"><p>Abstraction of client-side RPC invocation.</p></div>  <div class="markdown level0 conceptual"></div>  <div class="inheritance">    <h5>Inheritance</h5>    <div class="level0"><span class="xref">System.Object</span></div>    <div class="level1"><span class="xref">CallInvoker</span></div>      <div class="level2"><a class="xref" href="Grpc.Core.DefaultCallInvoker.html">DefaultCallInvoker</a></div>  </div>  <div class="inheritedMembers">    <h5>Inherited Members</h5>    <div>      <span class="xref">System.Object.Equals(System.Object)</span>    </div>    <div>      <span class="xref">System.Object.Equals(System.Object, System.Object)</span>    </div>    <div>      <span class="xref">System.Object.GetHashCode()</span>    </div>    <div>      <span class="xref">System.Object.GetType()</span>    </div>    <div>      <span class="xref">System.Object.MemberwiseClone()</span>    </div>    <div>      <span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>    </div>    <div>      <span class="xref">System.Object.ToString()</span>    </div>  </div>  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.Core.html">Grpc.Core</a></h6>  <h6><strong>Assembly</strong>: Grpc.Core.Api.dll</h6>  <h5 id="Grpc_Core_CallInvoker_syntax">Syntax</h5>  <div class="codewrapper">    <pre><code class="lang-csharp hljs">public abstract class CallInvoker</code></pre>  </div>  <h3 id="methods">Methods  </h3>  <a id="Grpc_Core_CallInvoker_AsyncClientStreamingCall_" data-uid="Grpc.Core.CallInvoker.AsyncClientStreamingCall*"></a>  <h4 id="Grpc_Core_CallInvoker_AsyncClientStreamingCall__2_Grpc_Core_Method___0___1__System_String_Grpc_Core_CallOptions_" data-uid="Grpc.Core.CallInvoker.AsyncClientStreamingCall``2(Grpc.Core.Method{``0,``1},System.String,Grpc.Core.CallOptions)">AsyncClientStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse>, String, CallOptions)</h4>  <div class="markdown level1 summary"><p>Invokes a client streaming call asynchronously.In client streaming scenario, client sends a stream of requests and server responds with a single response.</p></div>  <div class="markdown level1 conceptual"></div>  <h5 class="decalaration">Declaration</h5>  <div class="codewrapper">    <pre><code class="lang-csharp hljs">public abstract AsyncClientStreamingCall<TRequest, TResponse> AsyncClientStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options)    where TRequest : class where TResponse : class</code></pre>  </div>  <h5 class="parameters">Parameters</h5>  <table class="table table-bordered table-striped table-condensed">    <thead>      <tr>        <th>Type</th>        <th>Name</th>        <th>Description</th>      </tr>    </thead>    <tbody>      <tr>        <td><a class="xref" href="Grpc.Core.Method-2.html">Method</a><TRequest, TResponse></td>        <td><span class="parametername">method</span></td>        <td></td>      </tr>      <tr>        <td><span class="xref">System.String</span></td>        <td><span class="parametername">host</span></td>        <td></td>      </tr>      <tr>        <td><a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a></td>        <td><span class="parametername">options</span></td>        <td></td>      </tr>    </tbody>  </table>  <h5 class="returns">Returns</h5>  <table class="table table-bordered table-striped table-condensed">    <thead>      <tr>        <th>Type</th>        <th>Description</th>      </tr>    </thead>    <tbody>      <tr>        <td><a class="xref" href="Grpc.Core.AsyncClientStreamingCall-2.html">AsyncClientStreamingCall</a><TRequest, TResponse></td>        <td></td>      </tr>    </tbody>  </table>  <h5 class="typeParameters">Type Parameters</h5>  <table class="table table-bordered table-striped table-condensed">    <thead>      <tr>        <th>Name</th>        <th>Description</th>      </tr>    </thead>    <tbody>      <tr>        <td><span class="parametername">TRequest</span></td>        <td></td>      </tr>      <tr>        <td><span class="parametername">TResponse</span></td>        <td></td>      </tr>    </tbody>  </table>  <a id="Grpc_Core_CallInvoker_AsyncDuplexStreamingCall_" data-uid="Grpc.Core.CallInvoker.AsyncDuplexStreamingCall*"></a>  <h4 id="Grpc_Core_CallInvoker_AsyncDuplexStreamingCall__2_Grpc_Core_Method___0___1__System_String_Grpc_Core_CallOptions_" data-uid="Grpc.Core.CallInvoker.AsyncDuplexStreamingCall``2(Grpc.Core.Method{``0,``1},System.String,Grpc.Core.CallOptions)">AsyncDuplexStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse>, String, CallOptions)</h4>  <div class="markdown level1 summary"><p>Invokes a duplex streaming call asynchronously.In duplex streaming scenario, client sends a stream of requests and server responds with a stream of responses.The response stream is completely independent and both side can be sending messages at the same time.</p></div>  <div class="markdown level1 conceptual"></div>  <h5 class="decalaration">Declaration</h5>  <div class="codewrapper">    <pre><code class="lang-csharp hljs">public abstract AsyncDuplexStreamingCall<TRequest, TResponse> AsyncDuplexStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options)    where TRequest : class where TResponse : class</code></pre>  </div>  <h5 class="parameters">Parameters</h5>  <table class="table table-bordered table-striped table-condensed">    <thead>      <tr>        <th>Type</th>        <th>Name</th>        <th>Description</th>      </tr>    </thead>    <tbody>      <tr>        <td><a class="xref" href="Grpc.Core.Method-2.html">Method</a><TRequest, TResponse></td>        <td><span class="parametername">method</span></td>        <td></td>      </tr>      <tr>        <td><span class="xref">System.String</span></td>        <td><span class="parametername">host</span></td>        <td></td>      </tr>      <tr>        <td><a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a></td>        <td><span class="parametername">options</span></td>        <td></td>      </tr>    </tbody>  </table>  <h5 class="returns">Returns</h5>  <table class="table table-bordered table-striped table-condensed">    <thead>      <tr>        <th>Type</th>        <th>Description</th>      </tr>    </thead>    <tbody>      <tr>        <td><a class="xref" href="Grpc.Core.AsyncDuplexStreamingCall-2.html">AsyncDuplexStreamingCall</a><TRequest, TResponse></td>        <td></td>      </tr>    </tbody>  </table>  <h5 class="typeParameters">Type Parameters</h5>  <table class="table table-bordered table-striped table-condensed">    <thead>      <tr>        <th>Name</th>        <th>Description</th>      </tr>    </thead>    <tbody>      <tr>        <td><span class="parametername">TRequest</span></td>        <td></td>      </tr>      <tr>        <td><span class="parametername">TResponse</span></td>        <td></td>      </tr>    </tbody>  </table>  <a id="Grpc_Core_CallInvoker_AsyncServerStreamingCall_" data-uid="Grpc.Core.CallInvoker.AsyncServerStreamingCall*"></a>  <h4 id="Grpc_Core_CallInvoker_AsyncServerStreamingCall__2_Grpc_Core_Method___0___1__System_String_Grpc_Core_CallOptions___0_" data-uid="Grpc.Core.CallInvoker.AsyncServerStreamingCall``2(Grpc.Core.Method{``0,``1},System.String,Grpc.Core.CallOptions,``0)">AsyncServerStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse>, String, CallOptions, TRequest)</h4>  <div class="markdown level1 summary"><p>Invokes a server streaming call asynchronously.In server streaming scenario, client sends on request and server responds with a stream of responses.</p></div>  <div class="markdown level1 conceptual"></div>  <h5 class="decalaration">Declaration</h5>  <div class="codewrapper">    <pre><code class="lang-csharp hljs">public abstract AsyncServerStreamingCall<TResponse> AsyncServerStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request)    where TRequest : class where TResponse : class</code></pre>  </div>  <h5 class="parameters">Parameters</h5>  <table class="table table-bordered table-striped table-condensed">    <thead>      <tr>        <th>Type</th>        <th>Name</th>        <th>Description</th>      </tr>    </thead>    <tbody>      <tr>        <td><a class="xref" href="Grpc.Core.Method-2.html">Method</a><TRequest, TResponse></td>        <td><span class="parametername">method</span></td>        <td></td>      </tr>      <tr>        <td><span class="xref">System.String</span></td>        <td><span class="parametername">host</span></td>        <td></td>      </tr>      <tr>        <td><a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a></td>        <td><span class="parametername">options</span></td>        <td></td>      </tr>      <tr>        <td><span class="xref">TRequest</span></td>        <td><span class="parametername">request</span></td>        <td></td>      </tr>    </tbody>  </table>  <h5 class="returns">Returns</h5>  <table class="table table-bordered table-striped table-condensed">    <thead>      <tr>        <th>Type</th>        <th>Description</th>      </tr>    </thead>    <tbody>      <tr>        <td><a class="xref" href="Grpc.Core.AsyncServerStreamingCall-1.html">AsyncServerStreamingCall</a><TResponse></td>        <td></td>      </tr>    </tbody>  </table>  <h5 class="typeParameters">Type Parameters</h5>  <table class="table table-bordered table-striped table-condensed">    <thead>      <tr>        <th>Name</th>        <th>Description</th>      </tr>    </thead>    <tbody>      <tr>        <td><span class="parametername">TRequest</span></td>        <td></td>      </tr>      <tr>        <td><span class="parametername">TResponse</span></td>        <td></td>      </tr>    </tbody>  </table>  <a id="Grpc_Core_CallInvoker_AsyncUnaryCall_" data-uid="Grpc.Core.CallInvoker.AsyncUnaryCall*"></a>  <h4 id="Grpc_Core_CallInvoker_AsyncUnaryCall__2_Grpc_Core_Method___0___1__System_String_Grpc_Core_CallOptions___0_" data-uid="Grpc.Core.CallInvoker.AsyncUnaryCall``2(Grpc.Core.Method{``0,``1},System.String,Grpc.Core.CallOptions,``0)">AsyncUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse>, String, CallOptions, TRequest)</h4>  <div class="markdown level1 summary"><p>Invokes a simple remote call asynchronously.</p></div>  <div class="markdown level1 conceptual"></div>  <h5 class="decalaration">Declaration</h5>  <div class="codewrapper">    <pre><code class="lang-csharp hljs">public abstract AsyncUnaryCall<TResponse> AsyncUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request)    where TRequest : class where TResponse : class</code></pre>  </div>  <h5 class="parameters">Parameters</h5>  <table class="table table-bordered table-striped table-condensed">    <thead>      <tr>        <th>Type</th>        <th>Name</th>        <th>Description</th>      </tr>    </thead>    <tbody>      <tr>        <td><a class="xref" href="Grpc.Core.Method-2.html">Method</a><TRequest, TResponse></td>        <td><span class="parametername">method</span></td>        <td></td>      </tr>      <tr>        <td><span class="xref">System.String</span></td>        <td><span class="parametername">host</span></td>        <td></td>      </tr>      <tr>        <td><a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a></td>        <td><span class="parametername">options</span></td>        <td></td>      </tr>      <tr>        <td><span class="xref">TRequest</span></td>        <td><span class="parametername">request</span></td>        <td></td>      </tr>    </tbody>  </table>  <h5 class="returns">Returns</h5>  <table class="table table-bordered table-striped table-condensed">    <thead>      <tr>        <th>Type</th>        <th>Description</th>      </tr>    </thead>    <tbody>      <tr>        <td><a class="xref" href="Grpc.Core.AsyncUnaryCall-1.html">AsyncUnaryCall</a><TResponse></td>        <td></td>      </tr>    </tbody>  </table>  <h5 class="typeParameters">Type Parameters</h5>  <table class="table table-bordered table-striped table-condensed">    <thead>      <tr>        <th>Name</th>        <th>Description</th>      </tr>    </thead>    <tbody>      <tr>        <td><span class="parametername">TRequest</span></td>        <td></td>      </tr>      <tr>        <td><span class="parametername">TResponse</span></td>        <td></td>      </tr>    </tbody>  </table>  <a id="Grpc_Core_CallInvoker_BlockingUnaryCall_" data-uid="Grpc.Core.CallInvoker.BlockingUnaryCall*"></a>  <h4 id="Grpc_Core_CallInvoker_BlockingUnaryCall__2_Grpc_Core_Method___0___1__System_String_Grpc_Core_CallOptions___0_" data-uid="Grpc.Core.CallInvoker.BlockingUnaryCall``2(Grpc.Core.Method{``0,``1},System.String,Grpc.Core.CallOptions,``0)">BlockingUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse>, String, CallOptions, TRequest)</h4>  <div class="markdown level1 summary"><p>Invokes a simple remote call in a blocking fashion.</p></div>  <div class="markdown level1 conceptual"></div>  <h5 class="decalaration">Declaration</h5>  <div class="codewrapper">    <pre><code class="lang-csharp hljs">public abstract TResponse BlockingUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request)    where TRequest : class where TResponse : class</code></pre>  </div>  <h5 class="parameters">Parameters</h5>  <table class="table table-bordered table-striped table-condensed">    <thead>      <tr>        <th>Type</th>        <th>Name</th>        <th>Description</th>      </tr>    </thead>    <tbody>      <tr>        <td><a class="xref" href="Grpc.Core.Method-2.html">Method</a><TRequest, TResponse></td>        <td><span class="parametername">method</span></td>        <td></td>      </tr>      <tr>        <td><span class="xref">System.String</span></td>        <td><span class="parametername">host</span></td>        <td></td>      </tr>      <tr>        <td><a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a></td>        <td><span class="parametername">options</span></td>        <td></td>      </tr>      <tr>        <td><span class="xref">TRequest</span></td>        <td><span class="parametername">request</span></td>        <td></td>      </tr>    </tbody>  </table>  <h5 class="returns">Returns</h5>  <table class="table table-bordered table-striped table-condensed">    <thead>      <tr>        <th>Type</th>        <th>Description</th>      </tr>    </thead>    <tbody>      <tr>        <td><span class="xref">TResponse</span></td>        <td></td>      </tr>    </tbody>  </table>  <h5 class="typeParameters">Type Parameters</h5>  <table class="table table-bordered table-striped table-condensed">    <thead>      <tr>        <th>Name</th>        <th>Description</th>      </tr>    </thead>    <tbody>      <tr>        <td><span class="parametername">TRequest</span></td>        <td></td>      </tr>      <tr>        <td><span class="parametername">TResponse</span></td>        <td></td>      </tr>    </tbody>  </table>  <h3 id="extensionmethods">Extension Methods</h3>  <div>      <a class="xref" href="Grpc.Core.Interceptors.CallInvokerExtensions.html#Grpc_Core_Interceptors_CallInvokerExtensions_Intercept_Grpc_Core_CallInvoker_Grpc_Core_Interceptors_Interceptor_">CallInvokerExtensions.Intercept(CallInvoker, Interceptor)</a>  </div>  <div>      <a class="xref" href="Grpc.Core.Interceptors.CallInvokerExtensions.html#Grpc_Core_Interceptors_CallInvokerExtensions_Intercept_Grpc_Core_CallInvoker_Grpc_Core_Interceptors_Interceptor___">CallInvokerExtensions.Intercept(CallInvoker, Interceptor[])</a>  </div>  <div>      <a class="xref" href="Grpc.Core.Interceptors.CallInvokerExtensions.html#Grpc_Core_Interceptors_CallInvokerExtensions_Intercept_Grpc_Core_CallInvoker_System_Func_Grpc_Core_Metadata_Grpc_Core_Metadata__">CallInvokerExtensions.Intercept(CallInvoker, Func<Metadata, Metadata>)</a>  </div></article>          </div>                    <div class="hidden-sm col-md-2" role="complementary">            <div class="sideaffix">              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">              <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->              </nav>            </div>          </div>        </div>      </div>            <footer>        <div class="grad-bottom"></div>        <div class="footer">          <div class="container">            <span class="pull-right">              <a href="#top">Back to top</a>            </span>                        <span>Generated by <strong>DocFX</strong></span>          </div>        </div>      </footer>    </div>        <script type="text/javascript" src="../styles/docfx.vendor.js"></script>    <script type="text/javascript" src="../styles/docfx.js"></script>    <script type="text/javascript" src="../styles/main.js"></script>  </body></html>
 |