Pārlūkot izejas kodu

update C# generated docs to v1.18.0

Jan Tattermusch 6 gadi atpakaļ
vecāks
revīzija
bb9d1fe14a

+ 47 - 0
csharp/api/Grpc.Core.Channel.html

@@ -462,6 +462,53 @@ all the calls on this channel have finished (successfully or with an error)
 before shutting down the channel to ensure channel shutdown won't impact
 the outcome of those remote calls.</p>
 </div>
+  <a id="Grpc_Core_Channel_TryWaitForStateChangedAsync_" data-uid="Grpc.Core.Channel.TryWaitForStateChangedAsync*"></a>
+  <h4 id="Grpc_Core_Channel_TryWaitForStateChangedAsync_Grpc_Core_ChannelState_System_Nullable_System_DateTime__" data-uid="Grpc.Core.Channel.TryWaitForStateChangedAsync(Grpc.Core.ChannelState,System.Nullable{System.DateTime})">TryWaitForStateChangedAsync(ChannelState, Nullable&lt;DateTime&gt;)</h4>
+  <div class="markdown level1 summary"><p>Returned tasks completes once channel state has become different from
+given lastObservedState (<code>true</code> is returned) or if the wait has timed out (<code>false</code> is returned).</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Task&lt;bool&gt; TryWaitForStateChangedAsync(ChannelState lastObservedState, DateTime? deadline = default(DateTime? ))</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.ChannelState.html">ChannelState</a></td>
+        <td><span class="parametername">lastObservedState</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.Nullable</span>&lt;<span class="xref">System.DateTime</span>&gt;</td>
+        <td><span class="parametername">deadline</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">System.Threading.Tasks.Task</span>&lt;<span class="xref">System.Boolean</span>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
   <a id="Grpc_Core_Channel_WaitForStateChangedAsync_" data-uid="Grpc.Core.Channel.WaitForStateChangedAsync*"></a>
   <h4 id="Grpc_Core_Channel_WaitForStateChangedAsync_Grpc_Core_ChannelState_System_Nullable_System_DateTime__" data-uid="Grpc.Core.Channel.WaitForStateChangedAsync(Grpc.Core.ChannelState,System.Nullable{System.DateTime})">WaitForStateChangedAsync(ChannelState, Nullable&lt;DateTime&gt;)</h4>
   <div class="markdown level1 summary"><p>Returned tasks completes once channel state has become different from 

+ 218 - 8
csharp/api/Grpc.Core.ChannelOption.html

@@ -84,7 +84,9 @@
   <h1 id="Grpc_Core_ChannelOption" data-uid="Grpc.Core.ChannelOption" class="text-break">Class ChannelOption
   </h1>
   <div class="markdown level0 summary"><p>Channel option specified when creating a channel.
-Corresponds to grpc_channel_args from grpc/grpc.h.</p>
+Corresponds to grpc_channel_args from grpc/grpc.h.
+Commonly used channel option names are defined in <code>ChannelOptions</code>,
+but any of the GRPC_ARG_* channel options names defined in grpc_types.h can be used.</p>
 </div>
   <div class="markdown level0 conceptual"></div>
   <div class="inheritance">
@@ -92,17 +94,15 @@ Corresponds to grpc_channel_args from grpc/grpc.h.</p>
     <div class="level0"><span class="xref">System.Object</span></div>
     <div class="level1"><span class="xref">ChannelOption</span></div>
   </div>
+  <div classs="implements">
+    <h5>Implements</h5>
+    <div><span class="xref">System.IEquatable</span>&lt;<a class="xref" href="Grpc.Core.ChannelOption.html">ChannelOption</a>&gt;</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>
@@ -120,7 +120,7 @@ Corresponds to grpc_channel_args from grpc/grpc.h.</p>
   <h6><strong>Assembly</strong>: Grpc.Core.dll</h6>
   <h5 id="Grpc_Core_ChannelOption_syntax">Syntax</h5>
   <div class="codewrapper">
-    <pre><code class="lang-csharp hljs">public sealed class ChannelOption</code></pre>
+    <pre><code class="lang-csharp hljs">public sealed class ChannelOption : IEquatable&lt;ChannelOption&gt;</code></pre>
   </div>
   <h3 id="constructors">Constructors
   </h3>
@@ -288,6 +288,216 @@ Corresponds to grpc_channel_args from grpc/grpc.h.</p>
       </tr>
     </tbody>
   </table>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_ChannelOption_Equals_" data-uid="Grpc.Core.ChannelOption.Equals*"></a>
+  <h4 id="Grpc_Core_ChannelOption_Equals_Grpc_Core_ChannelOption_" data-uid="Grpc.Core.ChannelOption.Equals(Grpc.Core.ChannelOption)">Equals(ChannelOption)</h4>
+  <div class="markdown level1 summary"><p>Determines whether the specified object is equal to the current object.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public bool Equals(ChannelOption other)</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.ChannelOption.html">ChannelOption</a></td>
+        <td><span class="parametername">other</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">System.Boolean</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ChannelOption_Equals_" data-uid="Grpc.Core.ChannelOption.Equals*"></a>
+  <h4 id="Grpc_Core_ChannelOption_Equals_System_Object_" data-uid="Grpc.Core.ChannelOption.Equals(System.Object)">Equals(Object)</h4>
+  <div class="markdown level1 summary"><p>Determines whether the specified object is equal to the current object.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public override bool Equals(object obj)</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><span class="xref">System.Object</span></td>
+        <td><span class="parametername">obj</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">System.Boolean</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="overrides">Overrides</h5>
+  <div><span class="xref">System.Object.Equals(System.Object)</span></div>
+  <a id="Grpc_Core_ChannelOption_GetHashCode_" data-uid="Grpc.Core.ChannelOption.GetHashCode*"></a>
+  <h4 id="Grpc_Core_ChannelOption_GetHashCode" data-uid="Grpc.Core.ChannelOption.GetHashCode">GetHashCode()</h4>
+  <div class="markdown level1 summary"><p>A hash code for the current object.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public override int GetHashCode()</code></pre>
+  </div>
+  <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">System.Int32</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="overrides">Overrides</h5>
+  <div><span class="xref">System.Object.GetHashCode()</span></div>
+  <h3 id="operators">Operators
+  </h3>
+  <a id="Grpc_Core_ChannelOption_op_Equality_" data-uid="Grpc.Core.ChannelOption.op_Equality*"></a>
+  <h4 id="Grpc_Core_ChannelOption_op_Equality_Grpc_Core_ChannelOption_Grpc_Core_ChannelOption_" data-uid="Grpc.Core.ChannelOption.op_Equality(Grpc.Core.ChannelOption,Grpc.Core.ChannelOption)">Equality(ChannelOption, ChannelOption)</h4>
+  <div class="markdown level1 summary"><p>Equality operator.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static bool operator ==(ChannelOption option1, ChannelOption option2)</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.ChannelOption.html">ChannelOption</a></td>
+        <td><span class="parametername">option1</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.ChannelOption.html">ChannelOption</a></td>
+        <td><span class="parametername">option2</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">System.Boolean</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ChannelOption_op_Inequality_" data-uid="Grpc.Core.ChannelOption.op_Inequality*"></a>
+  <h4 id="Grpc_Core_ChannelOption_op_Inequality_Grpc_Core_ChannelOption_Grpc_Core_ChannelOption_" data-uid="Grpc.Core.ChannelOption.op_Inequality(Grpc.Core.ChannelOption,Grpc.Core.ChannelOption)">Inequality(ChannelOption, ChannelOption)</h4>
+  <div class="markdown level1 summary"><p>Inequality operator.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static bool operator !=(ChannelOption option1, ChannelOption option2)</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.ChannelOption.html">ChannelOption</a></td>
+        <td><span class="parametername">option1</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.ChannelOption.html">ChannelOption</a></td>
+        <td><span class="parametername">option2</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">System.Boolean</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="implements">Implements</h3>
+  <div>
+      <span class="xref">System.IEquatable&lt;T&gt;</span>
+  </div>
 </article>
           </div>
           

+ 2 - 1
csharp/api/Grpc.Core.ChannelOptions.html

@@ -83,7 +83,8 @@
   
   <h1 id="Grpc_Core_ChannelOptions" data-uid="Grpc.Core.ChannelOptions" class="text-break">Class ChannelOptions
   </h1>
-  <div class="markdown level0 summary"><p>Defines names of supported channel options.</p>
+  <div class="markdown level0 summary"><p>Defines names of most commonly used channel options.
+Other supported options names can be found in grpc_types.h (GRPC_ARG_* definitions)</p>
 </div>
   <div class="markdown level0 conceptual"></div>
   <div class="inheritance">

+ 217 - 0
csharp/api/Grpc.Core.DeserializationContext.html

@@ -0,0 +1,217 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class DeserializationContext
+   | gRPC C# </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class DeserializationContext
+   | 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.DeserializationContext">
+  
+  
+  <h1 id="Grpc_Core_DeserializationContext" data-uid="Grpc.Core.DeserializationContext" class="text-break">Class DeserializationContext
+  </h1>
+  <div class="markdown level0 summary"><p>Provides access to the payload being deserialized when deserializing messages.</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">DeserializationContext</span></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.dll</h6>
+  <h5 id="Grpc_Core_DeserializationContext_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract class DeserializationContext</code></pre>
+  </div>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_DeserializationContext_PayloadLength_" data-uid="Grpc.Core.DeserializationContext.PayloadLength*"></a>
+  <h4 id="Grpc_Core_DeserializationContext_PayloadLength" data-uid="Grpc.Core.DeserializationContext.PayloadLength">PayloadLength</h4>
+  <div class="markdown level1 summary"><p>Get the total length of the payload in bytes.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract int PayloadLength { get; }</code></pre>
+  </div>
+  <h5 class="propertyValue">Property Value</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">System.Int32</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_DeserializationContext_PayloadAsNewBuffer_" data-uid="Grpc.Core.DeserializationContext.PayloadAsNewBuffer*"></a>
+  <h4 id="Grpc_Core_DeserializationContext_PayloadAsNewBuffer" data-uid="Grpc.Core.DeserializationContext.PayloadAsNewBuffer">PayloadAsNewBuffer()</h4>
+  <div class="markdown level1 summary"><p>Gets the entire payload as a newly allocated byte array.
+Once the byte array is returned, the byte array becomes owned by the caller and won&apos;t be ever accessed or reused by gRPC again.
+NOTE: Obtaining the buffer as a newly allocated byte array is the simplest way of accessing the payload,
+but it can have important consequences in high-performance scenarios.
+In particular, using this method usually requires copying of the entire buffer one extra time.
+Also, allocating a new buffer each time can put excessive pressure on GC, especially if
+the payload is more than 86700 bytes large (which means the newly allocated buffer will be placed in LOH,
+and LOH object can only be garbage collected via a full (&quot;stop the world&quot;) GC run).
+NOTE: Deserializers are expected not to call this method more than once per received message
+(as there is no practical reason for doing so) and <code>DeserializationContext</code> implementations are free to assume so.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual byte[] PayloadAsNewBuffer()</code></pre>
+  </div>
+  <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">System.Byte</span>[]</td>
+        <td><p>byte array containing the entire payload.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 87 - 1
csharp/api/Grpc.Core.Marshaller-1.html

@@ -139,8 +139,44 @@
   <h3 id="constructors">Constructors
   </h3>
   <a id="Grpc_Core_Marshaller_1__ctor_" data-uid="Grpc.Core.Marshaller`1.#ctor*"></a>
+  <h4 id="Grpc_Core_Marshaller_1__ctor_System_Action__0_Grpc_Core_SerializationContext__System_Func_Grpc_Core_DeserializationContext__0__" data-uid="Grpc.Core.Marshaller`1.#ctor(System.Action{`0,Grpc.Core.SerializationContext},System.Func{Grpc.Core.DeserializationContext,`0})">Marshaller(Action&lt;T, SerializationContext&gt;, Func&lt;DeserializationContext, T&gt;)</h4>
+  <div class="markdown level1 summary"><p>Initializes a new marshaller from serialize/deserialize fuctions that can access serialization and deserialization
+context. Compared to the simple serializer/deserializer functions, using the contextual version provides more
+flexibility and can lead to increased efficiency (and better performance).
+Note: This constructor is part of an experimental API that can change or be removed without any prior notice.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Marshaller(Action&lt;T, SerializationContext&gt; serializer, Func&lt;DeserializationContext, T&gt; deserializer)</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><span class="xref">System.Action</span>&lt;T, <a class="xref" href="Grpc.Core.SerializationContext.html">SerializationContext</a>&gt;</td>
+        <td><span class="parametername">serializer</span></td>
+        <td><p>Function that will be used to serialize messages.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.Func</span>&lt;<a class="xref" href="Grpc.Core.DeserializationContext.html">DeserializationContext</a>, T&gt;</td>
+        <td><span class="parametername">deserializer</span></td>
+        <td><p>Function that will be used to deserialize messages.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Marshaller_1__ctor_" data-uid="Grpc.Core.Marshaller`1.#ctor*"></a>
   <h4 id="Grpc_Core_Marshaller_1__ctor_System_Func__0_System_Byte____System_Func_System_Byte____0__" data-uid="Grpc.Core.Marshaller`1.#ctor(System.Func{`0,System.Byte[]},System.Func{System.Byte[],`0})">Marshaller(Func&lt;T, Byte[]&gt;, Func&lt;Byte[], T&gt;)</h4>
-  <div class="markdown level1 summary"><p>Initializes a new marshaller.</p>
+  <div class="markdown level1 summary"><p>Initializes a new marshaller from simple serialize/deserialize functions.</p>
 </div>
   <div class="markdown level1 conceptual"></div>
   <h5 class="decalaration">Declaration</h5>
@@ -173,6 +209,56 @@
   </table>
   <h3 id="properties">Properties
   </h3>
+  <a id="Grpc_Core_Marshaller_1_ContextualDeserializer_" data-uid="Grpc.Core.Marshaller`1.ContextualDeserializer*"></a>
+  <h4 id="Grpc_Core_Marshaller_1_ContextualDeserializer" data-uid="Grpc.Core.Marshaller`1.ContextualDeserializer">ContextualDeserializer</h4>
+  <div class="markdown level1 summary"><p>Gets the serializer function.
+Note: experimental API that can change or be removed without any prior notice.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Func&lt;DeserializationContext, T&gt; ContextualDeserializer { get; }</code></pre>
+  </div>
+  <h5 class="propertyValue">Property Value</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">System.Func</span>&lt;<a class="xref" href="Grpc.Core.DeserializationContext.html">DeserializationContext</a>, T&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Marshaller_1_ContextualSerializer_" data-uid="Grpc.Core.Marshaller`1.ContextualSerializer*"></a>
+  <h4 id="Grpc_Core_Marshaller_1_ContextualSerializer" data-uid="Grpc.Core.Marshaller`1.ContextualSerializer">ContextualSerializer</h4>
+  <div class="markdown level1 summary"><p>Gets the serializer function.
+Note: experimental API that can change or be removed without any prior notice.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Action&lt;T, SerializationContext&gt; ContextualSerializer { get; }</code></pre>
+  </div>
+  <h5 class="propertyValue">Property Value</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">System.Action</span>&lt;T, <a class="xref" href="Grpc.Core.SerializationContext.html">SerializationContext</a>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
   <a id="Grpc_Core_Marshaller_1_Deserializer_" data-uid="Grpc.Core.Marshaller`1.Deserializer*"></a>
   <h4 id="Grpc_Core_Marshaller_1_Deserializer" data-uid="Grpc.Core.Marshaller`1.Deserializer">Deserializer</h4>
   <div class="markdown level1 summary"><p>Gets the deserializer function.</p>

+ 62 - 0
csharp/api/Grpc.Core.Marshallers.html

@@ -150,6 +150,68 @@
   <h3 id="methods">Methods
   </h3>
   <a id="Grpc_Core_Marshallers_Create_" data-uid="Grpc.Core.Marshallers.Create*"></a>
+  <h4 id="Grpc_Core_Marshallers_Create__1_System_Action___0_Grpc_Core_SerializationContext__System_Func_Grpc_Core_DeserializationContext___0__" data-uid="Grpc.Core.Marshallers.Create``1(System.Action{``0,Grpc.Core.SerializationContext},System.Func{Grpc.Core.DeserializationContext,``0})">Create&lt;T&gt;(Action&lt;T, SerializationContext&gt;, Func&lt;DeserializationContext, T&gt;)</h4>
+  <div class="markdown level1 summary"><p>Creates a marshaller from specified contextual serializer and deserializer.
+Note: This method is part of an experimental API that can change or be removed without any prior notice.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static Marshaller&lt;T&gt; Create&lt;T&gt;(Action&lt;T, SerializationContext&gt; serializer, Func&lt;DeserializationContext, T&gt; deserializer)</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><span class="xref">System.Action</span>&lt;T, <a class="xref" href="Grpc.Core.SerializationContext.html">SerializationContext</a>&gt;</td>
+        <td><span class="parametername">serializer</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.Func</span>&lt;<a class="xref" href="Grpc.Core.DeserializationContext.html">DeserializationContext</a>, T&gt;</td>
+        <td><span class="parametername">deserializer</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.Marshaller-1.html">Marshaller</a>&lt;T&gt;</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">T</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Marshallers_Create_" data-uid="Grpc.Core.Marshallers.Create*"></a>
   <h4 id="Grpc_Core_Marshallers_Create__1_System_Func___0_System_Byte____System_Func_System_Byte_____0__" data-uid="Grpc.Core.Marshallers.Create``1(System.Func{``0,System.Byte[]},System.Func{System.Byte[],``0})">Create&lt;T&gt;(Func&lt;T, Byte[]&gt;, Func&lt;Byte[], T&gt;)</h4>
   <div class="markdown level1 summary"><p>Creates a marshaller from specified serializer and deserializer.</p>
 </div>

+ 3 - 3
csharp/api/Grpc.Core.Metadata.Entry.html

@@ -142,7 +142,7 @@
       <tr>
         <td><span class="xref">System.String</span></td>
         <td><span class="parametername">key</span></td>
-        <td><p>Metadata key, needs to have suffix indicating a binary valued metadata entry.</p>
+        <td><p>Metadata key. Gets converted to lowercase. Needs to have suffix indicating a binary valued metadata entry. Can only contain lowercase alphanumeric characters, underscores, hyphens and dots.</p>
 </td>
       </tr>
       <tr>
@@ -155,7 +155,7 @@
   </table>
   <a id="Grpc_Core_Metadata_Entry__ctor_" data-uid="Grpc.Core.Metadata.Entry.#ctor*"></a>
   <h4 id="Grpc_Core_Metadata_Entry__ctor_System_String_System_String_" data-uid="Grpc.Core.Metadata.Entry.#ctor(System.String,System.String)">Entry(String, String)</h4>
-  <div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Grpc.Core.Metadata.Entry.html">Metadata.Entry</a> struct holding an ASCII value.</p>
+  <div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Grpc.Core.Metadata.Entry.html">Metadata.Entry</a> struct with an ASCII value.</p>
 </div>
   <div class="markdown level1 conceptual"></div>
   <h5 class="decalaration">Declaration</h5>
@@ -175,7 +175,7 @@
       <tr>
         <td><span class="xref">System.String</span></td>
         <td><span class="parametername">key</span></td>
-        <td><p>Metadata key, must not use suffix indicating a binary valued metadata entry.</p>
+        <td><p>Metadata key. Gets converted to lowercase. Must not use suffix indicating a binary valued metadata entry. Can only contain lowercase alphanumeric characters, underscores, hyphens and dots.</p>
 </td>
       </tr>
       <tr>

+ 2 - 2
csharp/api/Grpc.Core.Metadata.html

@@ -310,7 +310,7 @@ gRPC supports these types of metadata:
   </table>
   <a id="Grpc_Core_Metadata_Add_" data-uid="Grpc.Core.Metadata.Add*"></a>
   <h4 id="Grpc_Core_Metadata_Add_System_String_System_Byte___" data-uid="Grpc.Core.Metadata.Add(System.String,System.Byte[])">Add(String, Byte[])</h4>
-  <div class="markdown level1 summary"><span class="xref">IList`1</span>
+  <div class="markdown level1 summary"><p>Adds a new binary-valued metadata entry. See <code>Metadata.Entry</code> constructor for params.</p>
 </div>
   <div class="markdown level1 conceptual"></div>
   <h5 class="decalaration">Declaration</h5>
@@ -341,7 +341,7 @@ gRPC supports these types of metadata:
   </table>
   <a id="Grpc_Core_Metadata_Add_" data-uid="Grpc.Core.Metadata.Add*"></a>
   <h4 id="Grpc_Core_Metadata_Add_System_String_System_String_" data-uid="Grpc.Core.Metadata.Add(System.String,System.String)">Add(String, String)</h4>
-  <div class="markdown level1 summary"><span class="xref">IList`1</span>
+  <div class="markdown level1 summary"><p>Adds a new ASCII-valued metadata entry. See <code>Metadata.Entry</code> constructor for params.</p>
 </div>
   <div class="markdown level1 conceptual"></div>
   <h5 class="decalaration">Declaration</h5>

+ 39 - 0
csharp/api/Grpc.Core.RpcException.html

@@ -218,6 +218,45 @@
         <td><a class="xref" href="Grpc.Core.Metadata.html">Metadata</a></td>
         <td><span class="parametername">trailers</span></td>
         <td><p>Response trailing metadata.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_RpcException__ctor_" data-uid="Grpc.Core.RpcException.#ctor*"></a>
+  <h4 id="Grpc_Core_RpcException__ctor_Grpc_Core_Status_Grpc_Core_Metadata_System_String_" data-uid="Grpc.Core.RpcException.#ctor(Grpc.Core.Status,Grpc.Core.Metadata,System.String)">RpcException(Status, Metadata, String)</h4>
+  <div class="markdown level1 summary"><p>Creates a new <code>RpcException</code> associated with given status, message and trailing response metadata.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public RpcException(Status status, Metadata trailers, string message)</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.Status.html">Status</a></td>
+        <td><span class="parametername">status</span></td>
+        <td><p>Resulting status of a call.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.Metadata.html">Metadata</a></td>
+        <td><span class="parametername">trailers</span></td>
+        <td><p>Response trailing metadata.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">message</span></td>
+        <td><p>The exception message.</p>
 </td>
       </tr>
     </tbody>

+ 186 - 0
csharp/api/Grpc.Core.SerializationContext.html

@@ -0,0 +1,186 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class SerializationContext
+   | gRPC C# </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class SerializationContext
+   | 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.SerializationContext">
+  
+  
+  <h1 id="Grpc_Core_SerializationContext" data-uid="Grpc.Core.SerializationContext" class="text-break">Class SerializationContext
+  </h1>
+  <div class="markdown level0 summary"><p>Provides storage for payload when serializing a message.</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">SerializationContext</span></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.dll</h6>
+  <h5 id="Grpc_Core_SerializationContext_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract class SerializationContext</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_SerializationContext_Complete_" data-uid="Grpc.Core.SerializationContext.Complete*"></a>
+  <h4 id="Grpc_Core_SerializationContext_Complete_System_Byte___" data-uid="Grpc.Core.SerializationContext.Complete(System.Byte[])">Complete(Byte[])</h4>
+  <div class="markdown level1 summary"><p>Use the byte array as serialized form of current message and mark serialization process as complete.
+Complete() can only be called once. By calling this method the caller gives up the ownership of the
+payload which must not be accessed afterwards.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual void Complete(byte[] payload)</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><span class="xref">System.Byte</span>[]</td>
+        <td><span class="parametername">payload</span></td>
+        <td><p>the serialized form of current message</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 4 - 4
csharp/api/Grpc.Core.ServerServiceDefinition.Builder.html

@@ -136,7 +136,7 @@
   </h3>
   <a id="Grpc_Core_ServerServiceDefinition_Builder_AddMethod_" data-uid="Grpc.Core.ServerServiceDefinition.Builder.AddMethod*"></a>
   <h4 id="Grpc_Core_ServerServiceDefinition_Builder_AddMethod__2_Grpc_Core_Method___0___1__Grpc_Core_ClientStreamingServerMethod___0___1__" data-uid="Grpc.Core.ServerServiceDefinition.Builder.AddMethod``2(Grpc.Core.Method{``0,``1},Grpc.Core.ClientStreamingServerMethod{``0,``1})">AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, ClientStreamingServerMethod&lt;TRequest, TResponse&gt;)</h4>
-  <div class="markdown level1 summary"><p>Adds a definitions for a client streaming method.</p>
+  <div class="markdown level1 summary"><p>Adds a definition for a client streaming method.</p>
 </div>
   <div class="markdown level1 conceptual"></div>
   <h5 class="decalaration">Declaration</h5>
@@ -207,7 +207,7 @@
   </table>
   <a id="Grpc_Core_ServerServiceDefinition_Builder_AddMethod_" data-uid="Grpc.Core.ServerServiceDefinition.Builder.AddMethod*"></a>
   <h4 id="Grpc_Core_ServerServiceDefinition_Builder_AddMethod__2_Grpc_Core_Method___0___1__Grpc_Core_DuplexStreamingServerMethod___0___1__" data-uid="Grpc.Core.ServerServiceDefinition.Builder.AddMethod``2(Grpc.Core.Method{``0,``1},Grpc.Core.DuplexStreamingServerMethod{``0,``1})">AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, DuplexStreamingServerMethod&lt;TRequest, TResponse&gt;)</h4>
-  <div class="markdown level1 summary"><p>Adds a definitions for a bidirectional streaming method.</p>
+  <div class="markdown level1 summary"><p>Adds a definition for a bidirectional streaming method.</p>
 </div>
   <div class="markdown level1 conceptual"></div>
   <h5 class="decalaration">Declaration</h5>
@@ -278,7 +278,7 @@
   </table>
   <a id="Grpc_Core_ServerServiceDefinition_Builder_AddMethod_" data-uid="Grpc.Core.ServerServiceDefinition.Builder.AddMethod*"></a>
   <h4 id="Grpc_Core_ServerServiceDefinition_Builder_AddMethod__2_Grpc_Core_Method___0___1__Grpc_Core_ServerStreamingServerMethod___0___1__" data-uid="Grpc.Core.ServerServiceDefinition.Builder.AddMethod``2(Grpc.Core.Method{``0,``1},Grpc.Core.ServerStreamingServerMethod{``0,``1})">AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, ServerStreamingServerMethod&lt;TRequest, TResponse&gt;)</h4>
-  <div class="markdown level1 summary"><p>Adds a definitions for a server streaming method.</p>
+  <div class="markdown level1 summary"><p>Adds a definition for a server streaming method.</p>
 </div>
   <div class="markdown level1 conceptual"></div>
   <h5 class="decalaration">Declaration</h5>
@@ -349,7 +349,7 @@
   </table>
   <a id="Grpc_Core_ServerServiceDefinition_Builder_AddMethod_" data-uid="Grpc.Core.ServerServiceDefinition.Builder.AddMethod*"></a>
   <h4 id="Grpc_Core_ServerServiceDefinition_Builder_AddMethod__2_Grpc_Core_Method___0___1__Grpc_Core_UnaryServerMethod___0___1__" data-uid="Grpc.Core.ServerServiceDefinition.Builder.AddMethod``2(Grpc.Core.Method{``0,``1},Grpc.Core.UnaryServerMethod{``0,``1})">AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, UnaryServerMethod&lt;TRequest, TResponse&gt;)</h4>
-  <div class="markdown level1 summary"><p>Adds a definitions for a single request - single response method.</p>
+  <div class="markdown level1 summary"><p>Adds a definition for a single request - single response method.</p>
 </div>
   <div class="markdown level1 conceptual"></div>
   <h5 class="decalaration">Declaration</h5>

+ 380 - 0
csharp/api/Grpc.Core.ServiceBinderBase.html

@@ -0,0 +1,380 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class ServiceBinderBase
+   | gRPC C# </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class ServiceBinderBase
+   | 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.ServiceBinderBase">
+  
+  
+  <h1 id="Grpc_Core_ServiceBinderBase" data-uid="Grpc.Core.ServiceBinderBase" class="text-break">Class ServiceBinderBase
+  </h1>
+  <div class="markdown level0 summary"><p>Allows binding server-side method implementations in alternative serving stacks.
+Instances of this class are usually populated by the <code>BindService</code> method
+that is part of the autogenerated code for a protocol buffers service definition.
+<a class="xref" href="Grpc.Core.ServerServiceDefinition.html">ServerServiceDefinition</a></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">ServiceBinderBase</span></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.dll</h6>
+  <h5 id="Grpc_Core_ServiceBinderBase_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public class ServiceBinderBase</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_ServiceBinderBase_AddMethod_" data-uid="Grpc.Core.ServiceBinderBase.AddMethod*"></a>
+  <h4 id="Grpc_Core_ServiceBinderBase_AddMethod__2_Grpc_Core_Method___0___1__Grpc_Core_ClientStreamingServerMethod___0___1__" data-uid="Grpc.Core.ServiceBinderBase.AddMethod``2(Grpc.Core.Method{``0,``1},Grpc.Core.ClientStreamingServerMethod{``0,``1})">AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, ClientStreamingServerMethod&lt;TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds a definition for a client streaming method.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual void AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt; method, ClientStreamingServerMethod&lt;TRequest, TResponse&gt; handler)
+    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>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">method</span></td>
+        <td><p>The method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.ClientStreamingServerMethod-2.html">ClientStreamingServerMethod</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">handler</span></td>
+        <td><p>The method handler.</p>
+</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><p>The request message class.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>The response message class.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServiceBinderBase_AddMethod_" data-uid="Grpc.Core.ServiceBinderBase.AddMethod*"></a>
+  <h4 id="Grpc_Core_ServiceBinderBase_AddMethod__2_Grpc_Core_Method___0___1__Grpc_Core_DuplexStreamingServerMethod___0___1__" data-uid="Grpc.Core.ServiceBinderBase.AddMethod``2(Grpc.Core.Method{``0,``1},Grpc.Core.DuplexStreamingServerMethod{``0,``1})">AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, DuplexStreamingServerMethod&lt;TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds a definition for a bidirectional streaming method.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual void AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt; method, DuplexStreamingServerMethod&lt;TRequest, TResponse&gt; handler)
+    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>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">method</span></td>
+        <td><p>The method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.DuplexStreamingServerMethod-2.html">DuplexStreamingServerMethod</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">handler</span></td>
+        <td><p>The method handler.</p>
+</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><p>The request message class.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>The response message class.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServiceBinderBase_AddMethod_" data-uid="Grpc.Core.ServiceBinderBase.AddMethod*"></a>
+  <h4 id="Grpc_Core_ServiceBinderBase_AddMethod__2_Grpc_Core_Method___0___1__Grpc_Core_ServerStreamingServerMethod___0___1__" data-uid="Grpc.Core.ServiceBinderBase.AddMethod``2(Grpc.Core.Method{``0,``1},Grpc.Core.ServerStreamingServerMethod{``0,``1})">AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, ServerStreamingServerMethod&lt;TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds a definition for a server streaming method.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual void AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt; method, ServerStreamingServerMethod&lt;TRequest, TResponse&gt; handler)
+    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>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">method</span></td>
+        <td><p>The method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.ServerStreamingServerMethod-2.html">ServerStreamingServerMethod</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">handler</span></td>
+        <td><p>The method handler.</p>
+</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><p>The request message class.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>The response message class.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServiceBinderBase_AddMethod_" data-uid="Grpc.Core.ServiceBinderBase.AddMethod*"></a>
+  <h4 id="Grpc_Core_ServiceBinderBase_AddMethod__2_Grpc_Core_Method___0___1__Grpc_Core_UnaryServerMethod___0___1__" data-uid="Grpc.Core.ServiceBinderBase.AddMethod``2(Grpc.Core.Method{``0,``1},Grpc.Core.UnaryServerMethod{``0,``1})">AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, UnaryServerMethod&lt;TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds a definition for a single request - single response method.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual void AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt; method, UnaryServerMethod&lt;TRequest, TResponse&gt; handler)
+    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>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">method</span></td>
+        <td><p>The method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.UnaryServerMethod-2.html">UnaryServerMethod</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">handler</span></td>
+        <td><p>The method handler.</p>
+</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><p>The request message class.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>The response message class.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 192 - 0
csharp/api/Grpc.Core.SslClientCertificateRequestType.html

@@ -0,0 +1,192 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Enum SslClientCertificateRequestType
+   | gRPC C# </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Enum SslClientCertificateRequestType
+   | 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.SslClientCertificateRequestType">
+  
+  
+  <h1 id="Grpc_Core_SslClientCertificateRequestType" data-uid="Grpc.Core.SslClientCertificateRequestType" class="text-break">Enum SslClientCertificateRequestType
+  </h1>
+  <div class="markdown level0 summary"><p>Modes of requesting client&apos;s SSL certificate by the server.
+Corresponds to <code>grpc_ssl_client_certificate_request_type</code>.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.Core.html">Grpc.Core</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.Core.dll</h6>
+  <h5 id="Grpc_Core_SslClientCertificateRequestType_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public enum SslClientCertificateRequestType</code></pre>
+  </div>
+  <h3 id="fields">Fields
+  </h3>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    <thead>
+    <tbody>
+      <tr>
+        <td id="Grpc_Core_SslClientCertificateRequestType_DontRequest">DontRequest</td>
+        <td><p>Server does not request client certificate.
+The certificate presented by the client is not checked by the server at
+all. (A client may present a self signed or signed certificate or not
+present a certificate at all and any of those option would be accepted)</p>
+</td>
+      </tr>
+      <tr>
+        <td id="Grpc_Core_SslClientCertificateRequestType_RequestAndRequireAndVerify">RequestAndRequireAndVerify</td>
+        <td><p>Server requests client certificate and enforces that the client presents a
+certificate.
+The cerificate presented by the client is verified by the gRPC framework.
+(For a successful connection the client needs to present a certificate that
+can be verified against the root certificate configured by the server)
+The client&apos;s key certificate pair must be valid for the SSL connection to
+be established.</p>
+</td>
+      </tr>
+      <tr>
+        <td id="Grpc_Core_SslClientCertificateRequestType_RequestAndRequireButDontVerify">RequestAndRequireButDontVerify</td>
+        <td><p>Server requests client certificate and enforces that the client presents a
+certificate.
+If the client presents a certificate, the client authentication is left to
+the application (the necessary metadata will be available to the
+application via authentication context properties, see grpc_auth_context).
+The client&apos;s key certificate pair must be valid for the SSL connection to
+be established.</p>
+</td>
+      </tr>
+      <tr>
+        <td id="Grpc_Core_SslClientCertificateRequestType_RequestAndVerify">RequestAndVerify</td>
+        <td><p>Server requests client certificate but does not enforce that the client
+presents a certificate.
+If the client presents a certificate, the client authentication is done by
+the gRPC framework. (For a successful connection the client needs to either
+present a certificate that can be verified against the root certificate
+configured by the server or not present a certificate at all)
+The client&apos;s key certificate pair must be valid for the SSL connection to
+be established.</p>
+</td>
+      </tr>
+      <tr>
+        <td id="Grpc_Core_SslClientCertificateRequestType_RequestButDontVerify">RequestButDontVerify</td>
+        <td><p>Server requests client certificate but does not enforce that the client
+presents a certificate.
+If the client presents a certificate, the client authentication is left to
+the application (the necessary metadata will be available to the
+application via authentication context properties, see grpc_auth_context).
+The client&apos;s key certificate pair must be valid for the SSL connection to
+be established.</p>
+</td>
+      </tr>
+    </tbody>
+  </thead></thead></table>
+</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>

+ 67 - 4
csharp/api/Grpc.Core.SslServerCredentials.html

@@ -130,8 +130,8 @@
   <a id="Grpc_Core_SslServerCredentials__ctor_" data-uid="Grpc.Core.SslServerCredentials.#ctor*"></a>
   <h4 id="Grpc_Core_SslServerCredentials__ctor_System_Collections_Generic_IEnumerable_Grpc_Core_KeyCertificatePair__" data-uid="Grpc.Core.SslServerCredentials.#ctor(System.Collections.Generic.IEnumerable{Grpc.Core.KeyCertificatePair})">SslServerCredentials(IEnumerable&lt;KeyCertificatePair&gt;)</h4>
   <div class="markdown level1 summary"><p>Creates server-side SSL credentials.
-This constructor should be use if you do not wish to autheticate client
-using client root certificates.</p>
+This constructor should be used if you do not wish to authenticate the client.
+(client certificate won&apos;t be requested and checked by the server at all).</p>
 </div>
   <div class="markdown level1 conceptual"></div>
   <h5 class="decalaration">Declaration</h5>
@@ -152,6 +152,45 @@ using client root certificates.</p>
         <td><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;<a class="xref" href="Grpc.Core.KeyCertificatePair.html">KeyCertificatePair</a>&gt;</td>
         <td><span class="parametername">keyCertificatePairs</span></td>
         <td><p>Key-certificates to use.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_SslServerCredentials__ctor_" data-uid="Grpc.Core.SslServerCredentials.#ctor*"></a>
+  <h4 id="Grpc_Core_SslServerCredentials__ctor_System_Collections_Generic_IEnumerable_Grpc_Core_KeyCertificatePair__System_String_Grpc_Core_SslClientCertificateRequestType_" data-uid="Grpc.Core.SslServerCredentials.#ctor(System.Collections.Generic.IEnumerable{Grpc.Core.KeyCertificatePair},System.String,Grpc.Core.SslClientCertificateRequestType)">SslServerCredentials(IEnumerable&lt;KeyCertificatePair&gt;, String, SslClientCertificateRequestType)</h4>
+  <div class="markdown level1 summary"><p>Creates server-side SSL credentials.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public SslServerCredentials(IEnumerable&lt;KeyCertificatePair&gt; keyCertificatePairs, string rootCertificates, SslClientCertificateRequestType clientCertificateRequest)</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><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;<a class="xref" href="Grpc.Core.KeyCertificatePair.html">KeyCertificatePair</a>&gt;</td>
+        <td><span class="parametername">keyCertificatePairs</span></td>
+        <td><p>Key-certificates to use.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">rootCertificates</span></td>
+        <td><p>PEM encoded client root certificates used to authenticate client.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.SslClientCertificateRequestType.html">SslClientCertificateRequestType</a></td>
+        <td><span class="parametername">clientCertificateRequest</span></td>
+        <td><p>Options for requesting and verifying client certificate.</p>
 </td>
       </tr>
     </tbody>
@@ -190,16 +229,40 @@ using client root certificates.</p>
       <tr>
         <td><span class="xref">System.Boolean</span></td>
         <td><span class="parametername">forceClientAuth</span></td>
-        <td><p>If true, client will be rejected unless it proves its unthenticity using against rootCertificates.</p>
+        <td><p>Deprecated, use clientCertificateRequest overload instead.</p>
 </td>
       </tr>
     </tbody>
   </table>
   <h3 id="properties">Properties
   </h3>
+  <a id="Grpc_Core_SslServerCredentials_ClientCertificateRequest_" data-uid="Grpc.Core.SslServerCredentials.ClientCertificateRequest*"></a>
+  <h4 id="Grpc_Core_SslServerCredentials_ClientCertificateRequest" data-uid="Grpc.Core.SslServerCredentials.ClientCertificateRequest">ClientCertificateRequest</h4>
+  <div class="markdown level1 summary"><p>Mode of requesting certificate from client by the server.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public SslClientCertificateRequestType ClientCertificateRequest { get; }</code></pre>
+  </div>
+  <h5 class="propertyValue">Property Value</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.SslClientCertificateRequestType.html">SslClientCertificateRequestType</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
   <a id="Grpc_Core_SslServerCredentials_ForceClientAuthentication_" data-uid="Grpc.Core.SslServerCredentials.ForceClientAuthentication*"></a>
   <h4 id="Grpc_Core_SslServerCredentials_ForceClientAuthentication" data-uid="Grpc.Core.SslServerCredentials.ForceClientAuthentication">ForceClientAuthentication</h4>
-  <div class="markdown level1 summary"><p>If true, the authenticity of client check will be enforced.</p>
+  <div class="markdown level1 summary"><p>Deprecated. If true, the authenticity of client check will be enforced.</p>
 </div>
   <div class="markdown level1 conceptual"></div>
   <h5 class="decalaration">Declaration</h5>

+ 2 - 2
csharp/api/Grpc.Core.VersionInfo.html

@@ -131,7 +131,7 @@ for rationale about assembly versioning.</p>
   <div class="markdown level1 conceptual"></div>
   <h5 class="decalaration">Declaration</h5>
   <div class="codewrapper">
-    <pre><code class="lang-csharp hljs">public const string CurrentAssemblyFileVersion = &quot;1.15.0.0&quot;</code></pre>
+    <pre><code class="lang-csharp hljs">public const string CurrentAssemblyFileVersion = &quot;1.18.0.0&quot;</code></pre>
   </div>
   <h5 class="fieldValue">Field Value</h5>
   <table class="table table-bordered table-striped table-condensed">
@@ -177,7 +177,7 @@ for rationale about assembly versioning.</p>
   <div class="markdown level1 conceptual"></div>
   <h5 class="decalaration">Declaration</h5>
   <div class="codewrapper">
-    <pre><code class="lang-csharp hljs">public const string CurrentVersion = &quot;1.15.0&quot;</code></pre>
+    <pre><code class="lang-csharp hljs">public const string CurrentVersion = &quot;1.18.0&quot;</code></pre>
   </div>
   <h5 class="fieldValue">Field Value</h5>
   <table class="table table-bordered table-striped table-condensed">

+ 21 - 2
csharp/api/Grpc.Core.html

@@ -134,10 +134,13 @@ a remote call so in general you should reuse a single channel for as many calls
 </section>
       <h4><a class="xref" href="Grpc.Core.ChannelOption.html">ChannelOption</a></h4>
       <section><p>Channel option specified when creating a channel.
-Corresponds to grpc_channel_args from grpc/grpc.h.</p>
+Corresponds to grpc_channel_args from grpc/grpc.h.
+Commonly used channel option names are defined in <code>ChannelOptions</code>,
+but any of the GRPC_ARG_* channel options names defined in grpc_types.h can be used.</p>
 </section>
       <h4><a class="xref" href="Grpc.Core.ChannelOptions.html">ChannelOptions</a></h4>
-      <section><p>Defines names of supported channel options.</p>
+      <section><p>Defines names of most commonly used channel options.
+Other supported options names can be found in grpc_types.h (GRPC_ARG_* definitions)</p>
 </section>
       <h4><a class="xref" href="Grpc.Core.ClientBase.html">ClientBase</a></h4>
       <section><p>Base class for client-side stubs.</p>
@@ -164,6 +167,9 @@ are not accessible to explicitly C# layer, but this token still allows propagati
 </section>
       <h4><a class="xref" href="Grpc.Core.DefaultCallInvoker.html">DefaultCallInvoker</a></h4>
       <section><p>Invokes client RPCs using <a class="xref" href="Grpc.Core.Calls.html">Calls</a>.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.DeserializationContext.html">DeserializationContext</a></h4>
+      <section><p>Provides access to the payload being deserialized when deserializing messages.</p>
 </section>
       <h4><a class="xref" href="Grpc.Core.GrpcEnvironment.html">GrpcEnvironment</a></h4>
       <section><p>Encapsulates initialization and shutdown of gRPC library.</p>
@@ -190,6 +196,9 @@ gRPC supports these types of metadata:
 </section>
       <h4><a class="xref" href="Grpc.Core.RpcException.html">RpcException</a></h4>
       <section><p>Thrown when remote procedure call fails. Every <code>RpcException</code> is associated with a resulting <a class="xref" href="Grpc.Core.RpcException.html#Grpc_Core_RpcException_Status">Status</a> of the call.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.SerializationContext.html">SerializationContext</a></h4>
+      <section><p>Provides storage for payload when serializing a message.</p>
 </section>
       <h4><a class="xref" href="Grpc.Core.Server.html">Server</a></h4>
       <section><p>gRPC server. A single server can serve an arbitrary number of services and can listen on more than one port.</p>
@@ -216,6 +225,12 @@ that is part of the autogenerated code for a protocol buffers service definition
 </section>
       <h4><a class="xref" href="Grpc.Core.ServerServiceDefinition.Builder.html">ServerServiceDefinition.Builder</a></h4>
       <section><p>Builder class for <a class="xref" href="Grpc.Core.ServerServiceDefinition.html">ServerServiceDefinition</a>.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.ServiceBinderBase.html">ServiceBinderBase</a></h4>
+      <section><p>Allows binding server-side method implementations in alternative serving stacks.
+Instances of this class are usually populated by the <code>BindService</code> method
+that is part of the autogenerated code for a protocol buffers service definition.
+<a class="xref" href="Grpc.Core.ServerServiceDefinition.html">ServerServiceDefinition</a></p>
 </section>
       <h4><a class="xref" href="Grpc.Core.SslCredentials.html">SslCredentials</a></h4>
       <section><p>Client-side SSL credentials.</p>
@@ -295,6 +310,10 @@ Based on grpc_connectivity_state from grpc/grpc.h</p>
 </section>
       <h4><a class="xref" href="Grpc.Core.MethodType.html">MethodType</a></h4>
       <section><p>Method types supported by gRPC.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.SslClientCertificateRequestType.html">SslClientCertificateRequestType</a></h4>
+      <section><p>Modes of requesting client&apos;s SSL certificate by the server.
+Corresponds to <code>grpc_ssl_client_certificate_request_type</code>.</p>
 </section>
       <h4><a class="xref" href="Grpc.Core.StatusCode.html">StatusCode</a></h4>
       <section><p>Result of a remote procedure call.

+ 76 - 4
csharp/api/Grpc.Health.V1.Health.HealthBase.html

@@ -126,7 +126,9 @@
   </h3>
   <a id="Grpc_Health_V1_Health_HealthBase_Check_" data-uid="Grpc.Health.V1.Health.HealthBase.Check*"></a>
   <h4 id="Grpc_Health_V1_Health_HealthBase_Check_Grpc_Health_V1_HealthCheckRequest_Grpc_Core_ServerCallContext_" data-uid="Grpc.Health.V1.Health.HealthBase.Check(Grpc.Health.V1.HealthCheckRequest,Grpc.Core.ServerCallContext)">Check(HealthCheckRequest, ServerCallContext)</h4>
-  <div class="markdown level1 summary"></div>
+  <div class="markdown level1 summary"><p>If the requested service is unknown, the call will fail with status
+NOT_FOUND.</p>
+</div>
   <div class="markdown level1 conceptual"></div>
   <h5 class="decalaration">Declaration</h5>
   <div class="codewrapper">
@@ -145,12 +147,14 @@
       <tr>
         <td><a class="xref" href="Grpc.Health.V1.HealthCheckRequest.html">HealthCheckRequest</a></td>
         <td><span class="parametername">request</span></td>
-        <td></td>
+        <td><p>The request received from the client.</p>
+</td>
       </tr>
       <tr>
         <td><a class="xref" href="Grpc.Core.ServerCallContext.html">ServerCallContext</a></td>
         <td><span class="parametername">context</span></td>
-        <td></td>
+        <td><p>The context of the server-side call handler being invoked.</p>
+</td>
       </tr>
     </tbody>
   </table>
@@ -165,7 +169,75 @@
     <tbody>
       <tr>
         <td><span class="xref">System.Threading.Tasks.Task</span>&lt;<a class="xref" href="Grpc.Health.V1.HealthCheckResponse.html">HealthCheckResponse</a>&gt;</td>
-        <td></td>
+        <td><p>The response to send back to the client (wrapped by a task).</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Health_V1_Health_HealthBase_Watch_" data-uid="Grpc.Health.V1.Health.HealthBase.Watch*"></a>
+  <h4 id="Grpc_Health_V1_Health_HealthBase_Watch_Grpc_Health_V1_HealthCheckRequest_Grpc_Core_IServerStreamWriter_Grpc_Health_V1_HealthCheckResponse__Grpc_Core_ServerCallContext_" data-uid="Grpc.Health.V1.Health.HealthBase.Watch(Grpc.Health.V1.HealthCheckRequest,Grpc.Core.IServerStreamWriter{Grpc.Health.V1.HealthCheckResponse},Grpc.Core.ServerCallContext)">Watch(HealthCheckRequest, IServerStreamWriter&lt;HealthCheckResponse&gt;, ServerCallContext)</h4>
+  <div class="markdown level1 summary"><p>Performs a watch for the serving status of the requested service.
+The server will immediately send back a message indicating the current
+serving status.  It will then subsequently send a new message whenever
+the service&apos;s serving status changes.</p>
+<p>If the requested service is unknown when the call is received, the
+server will send a message setting the serving status to
+SERVICE_UNKNOWN but will <em>not</em> terminate the call.  If at some
+future point, the serving status of the service becomes known, the
+server will send a new message with the service&apos;s serving status.</p>
+<p>If the call terminates with status UNIMPLEMENTED, then clients
+should assume this method is not supported and should not retry the
+call.  If the call terminates with any other status (including OK),
+clients should retry the call with appropriate exponential backoff.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual Task Watch(HealthCheckRequest request, IServerStreamWriter&lt;HealthCheckResponse&gt; responseStream, ServerCallContext context)</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.Health.V1.HealthCheckRequest.html">HealthCheckRequest</a></td>
+        <td><span class="parametername">request</span></td>
+        <td><p>The request received from the client.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.IServerStreamWriter-1.html">IServerStreamWriter</a>&lt;<a class="xref" href="Grpc.Health.V1.HealthCheckResponse.html">HealthCheckResponse</a>&gt;</td>
+        <td><span class="parametername">responseStream</span></td>
+        <td><p>Used for sending responses back to the client.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.ServerCallContext.html">ServerCallContext</a></td>
+        <td><span class="parametername">context</span></td>
+        <td><p>The context of the server-side call handler being invoked.</p>
+</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">System.Threading.Tasks.Task</span></td>
+        <td><p>A task indicating completion of the handler.</p>
+</td>
       </tr>
     </tbody>
   </table>

+ 178 - 20
csharp/api/Grpc.Health.V1.Health.HealthClient.html

@@ -225,7 +225,9 @@
   </h3>
   <a id="Grpc_Health_V1_Health_HealthClient_Check_" data-uid="Grpc.Health.V1.Health.HealthClient.Check*"></a>
   <h4 id="Grpc_Health_V1_Health_HealthClient_Check_Grpc_Health_V1_HealthCheckRequest_Grpc_Core_CallOptions_" data-uid="Grpc.Health.V1.Health.HealthClient.Check(Grpc.Health.V1.HealthCheckRequest,Grpc.Core.CallOptions)">Check(HealthCheckRequest, CallOptions)</h4>
-  <div class="markdown level1 summary"></div>
+  <div class="markdown level1 summary"><p>If the requested service is unknown, the call will fail with status
+NOT_FOUND.</p>
+</div>
   <div class="markdown level1 conceptual"></div>
   <h5 class="decalaration">Declaration</h5>
   <div class="codewrapper">
@@ -244,12 +246,14 @@
       <tr>
         <td><a class="xref" href="Grpc.Health.V1.HealthCheckRequest.html">HealthCheckRequest</a></td>
         <td><span class="parametername">request</span></td>
-        <td></td>
+        <td><p>The request to send to the server.</p>
+</td>
       </tr>
       <tr>
         <td><a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a></td>
         <td><span class="parametername">options</span></td>
-        <td></td>
+        <td><p>The options for the call.</p>
+</td>
       </tr>
     </tbody>
   </table>
@@ -264,13 +268,16 @@
     <tbody>
       <tr>
         <td><a class="xref" href="Grpc.Health.V1.HealthCheckResponse.html">HealthCheckResponse</a></td>
-        <td></td>
+        <td><p>The response received from the server.</p>
+</td>
       </tr>
     </tbody>
   </table>
   <a id="Grpc_Health_V1_Health_HealthClient_Check_" data-uid="Grpc.Health.V1.Health.HealthClient.Check*"></a>
   <h4 id="Grpc_Health_V1_Health_HealthClient_Check_Grpc_Health_V1_HealthCheckRequest_Grpc_Core_Metadata_System_Nullable_System_DateTime__System_Threading_CancellationToken_" data-uid="Grpc.Health.V1.Health.HealthClient.Check(Grpc.Health.V1.HealthCheckRequest,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)">Check(HealthCheckRequest, Metadata, Nullable&lt;DateTime&gt;, CancellationToken)</h4>
-  <div class="markdown level1 summary"></div>
+  <div class="markdown level1 summary"><p>If the requested service is unknown, the call will fail with status
+NOT_FOUND.</p>
+</div>
   <div class="markdown level1 conceptual"></div>
   <h5 class="decalaration">Declaration</h5>
   <div class="codewrapper">
@@ -289,22 +296,26 @@
       <tr>
         <td><a class="xref" href="Grpc.Health.V1.HealthCheckRequest.html">HealthCheckRequest</a></td>
         <td><span class="parametername">request</span></td>
-        <td></td>
+        <td><p>The request to send to the server.</p>
+</td>
       </tr>
       <tr>
         <td><a class="xref" href="Grpc.Core.Metadata.html">Metadata</a></td>
         <td><span class="parametername">headers</span></td>
-        <td></td>
+        <td><p>The initial metadata to send with the call. This parameter is optional.</p>
+</td>
       </tr>
       <tr>
         <td><span class="xref">System.Nullable</span>&lt;<span class="xref">System.DateTime</span>&gt;</td>
         <td><span class="parametername">deadline</span></td>
-        <td></td>
+        <td><p>An optional deadline for the call. The call will be cancelled if deadline is hit.</p>
+</td>
       </tr>
       <tr>
         <td><span class="xref">System.Threading.CancellationToken</span></td>
         <td><span class="parametername">cancellationToken</span></td>
-        <td></td>
+        <td><p>An optional token for canceling the call.</p>
+</td>
       </tr>
     </tbody>
   </table>
@@ -319,13 +330,16 @@
     <tbody>
       <tr>
         <td><a class="xref" href="Grpc.Health.V1.HealthCheckResponse.html">HealthCheckResponse</a></td>
-        <td></td>
+        <td><p>The response received from the server.</p>
+</td>
       </tr>
     </tbody>
   </table>
   <a id="Grpc_Health_V1_Health_HealthClient_CheckAsync_" data-uid="Grpc.Health.V1.Health.HealthClient.CheckAsync*"></a>
   <h4 id="Grpc_Health_V1_Health_HealthClient_CheckAsync_Grpc_Health_V1_HealthCheckRequest_Grpc_Core_CallOptions_" data-uid="Grpc.Health.V1.Health.HealthClient.CheckAsync(Grpc.Health.V1.HealthCheckRequest,Grpc.Core.CallOptions)">CheckAsync(HealthCheckRequest, CallOptions)</h4>
-  <div class="markdown level1 summary"></div>
+  <div class="markdown level1 summary"><p>If the requested service is unknown, the call will fail with status
+NOT_FOUND.</p>
+</div>
   <div class="markdown level1 conceptual"></div>
   <h5 class="decalaration">Declaration</h5>
   <div class="codewrapper">
@@ -344,12 +358,14 @@
       <tr>
         <td><a class="xref" href="Grpc.Health.V1.HealthCheckRequest.html">HealthCheckRequest</a></td>
         <td><span class="parametername">request</span></td>
-        <td></td>
+        <td><p>The request to send to the server.</p>
+</td>
       </tr>
       <tr>
         <td><a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a></td>
         <td><span class="parametername">options</span></td>
-        <td></td>
+        <td><p>The options for the call.</p>
+</td>
       </tr>
     </tbody>
   </table>
@@ -364,13 +380,16 @@
     <tbody>
       <tr>
         <td><a class="xref" href="Grpc.Core.AsyncUnaryCall-1.html">AsyncUnaryCall</a>&lt;<a class="xref" href="Grpc.Health.V1.HealthCheckResponse.html">HealthCheckResponse</a>&gt;</td>
-        <td></td>
+        <td><p>The call object.</p>
+</td>
       </tr>
     </tbody>
   </table>
   <a id="Grpc_Health_V1_Health_HealthClient_CheckAsync_" data-uid="Grpc.Health.V1.Health.HealthClient.CheckAsync*"></a>
   <h4 id="Grpc_Health_V1_Health_HealthClient_CheckAsync_Grpc_Health_V1_HealthCheckRequest_Grpc_Core_Metadata_System_Nullable_System_DateTime__System_Threading_CancellationToken_" data-uid="Grpc.Health.V1.Health.HealthClient.CheckAsync(Grpc.Health.V1.HealthCheckRequest,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)">CheckAsync(HealthCheckRequest, Metadata, Nullable&lt;DateTime&gt;, CancellationToken)</h4>
-  <div class="markdown level1 summary"></div>
+  <div class="markdown level1 summary"><p>If the requested service is unknown, the call will fail with status
+NOT_FOUND.</p>
+</div>
   <div class="markdown level1 conceptual"></div>
   <h5 class="decalaration">Declaration</h5>
   <div class="codewrapper">
@@ -389,22 +408,26 @@
       <tr>
         <td><a class="xref" href="Grpc.Health.V1.HealthCheckRequest.html">HealthCheckRequest</a></td>
         <td><span class="parametername">request</span></td>
-        <td></td>
+        <td><p>The request to send to the server.</p>
+</td>
       </tr>
       <tr>
         <td><a class="xref" href="Grpc.Core.Metadata.html">Metadata</a></td>
         <td><span class="parametername">headers</span></td>
-        <td></td>
+        <td><p>The initial metadata to send with the call. This parameter is optional.</p>
+</td>
       </tr>
       <tr>
         <td><span class="xref">System.Nullable</span>&lt;<span class="xref">System.DateTime</span>&gt;</td>
         <td><span class="parametername">deadline</span></td>
-        <td></td>
+        <td><p>An optional deadline for the call. The call will be cancelled if deadline is hit.</p>
+</td>
       </tr>
       <tr>
         <td><span class="xref">System.Threading.CancellationToken</span></td>
         <td><span class="parametername">cancellationToken</span></td>
-        <td></td>
+        <td><p>An optional token for canceling the call.</p>
+</td>
       </tr>
     </tbody>
   </table>
@@ -419,7 +442,8 @@
     <tbody>
       <tr>
         <td><a class="xref" href="Grpc.Core.AsyncUnaryCall-1.html">AsyncUnaryCall</a>&lt;<a class="xref" href="Grpc.Health.V1.HealthCheckResponse.html">HealthCheckResponse</a>&gt;</td>
-        <td></td>
+        <td><p>The call object.</p>
+</td>
       </tr>
     </tbody>
   </table>
@@ -466,6 +490,140 @@
   </table>
   <h5 class="overrides">Overrides</h5>
   <div><span class="xref">Grpc.Core.ClientBase&lt;Grpc.Health.V1.Health.HealthClient&gt;.NewInstance(Grpc.Core.ClientBase.ClientBaseConfiguration)</span></div>
+  <a id="Grpc_Health_V1_Health_HealthClient_Watch_" data-uid="Grpc.Health.V1.Health.HealthClient.Watch*"></a>
+  <h4 id="Grpc_Health_V1_Health_HealthClient_Watch_Grpc_Health_V1_HealthCheckRequest_Grpc_Core_CallOptions_" data-uid="Grpc.Health.V1.Health.HealthClient.Watch(Grpc.Health.V1.HealthCheckRequest,Grpc.Core.CallOptions)">Watch(HealthCheckRequest, CallOptions)</h4>
+  <div class="markdown level1 summary"><p>Performs a watch for the serving status of the requested service.
+The server will immediately send back a message indicating the current
+serving status.  It will then subsequently send a new message whenever
+the service&apos;s serving status changes.</p>
+<p>If the requested service is unknown when the call is received, the
+server will send a message setting the serving status to
+SERVICE_UNKNOWN but will <em>not</em> terminate the call.  If at some
+future point, the serving status of the service becomes known, the
+server will send a new message with the service&apos;s serving status.</p>
+<p>If the call terminates with status UNIMPLEMENTED, then clients
+should assume this method is not supported and should not retry the
+call.  If the call terminates with any other status (including OK),
+clients should retry the call with appropriate exponential backoff.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual AsyncServerStreamingCall&lt;HealthCheckResponse&gt; Watch(HealthCheckRequest request, CallOptions options)</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.Health.V1.HealthCheckRequest.html">HealthCheckRequest</a></td>
+        <td><span class="parametername">request</span></td>
+        <td><p>The request to send to the server.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a></td>
+        <td><span class="parametername">options</span></td>
+        <td><p>The options for the call.</p>
+</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>&lt;<a class="xref" href="Grpc.Health.V1.HealthCheckResponse.html">HealthCheckResponse</a>&gt;</td>
+        <td><p>The call object.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Health_V1_Health_HealthClient_Watch_" data-uid="Grpc.Health.V1.Health.HealthClient.Watch*"></a>
+  <h4 id="Grpc_Health_V1_Health_HealthClient_Watch_Grpc_Health_V1_HealthCheckRequest_Grpc_Core_Metadata_System_Nullable_System_DateTime__System_Threading_CancellationToken_" data-uid="Grpc.Health.V1.Health.HealthClient.Watch(Grpc.Health.V1.HealthCheckRequest,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)">Watch(HealthCheckRequest, Metadata, Nullable&lt;DateTime&gt;, CancellationToken)</h4>
+  <div class="markdown level1 summary"><p>Performs a watch for the serving status of the requested service.
+The server will immediately send back a message indicating the current
+serving status.  It will then subsequently send a new message whenever
+the service&apos;s serving status changes.</p>
+<p>If the requested service is unknown when the call is received, the
+server will send a message setting the serving status to
+SERVICE_UNKNOWN but will <em>not</em> terminate the call.  If at some
+future point, the serving status of the service becomes known, the
+server will send a new message with the service&apos;s serving status.</p>
+<p>If the call terminates with status UNIMPLEMENTED, then clients
+should assume this method is not supported and should not retry the
+call.  If the call terminates with any other status (including OK),
+clients should retry the call with appropriate exponential backoff.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual AsyncServerStreamingCall&lt;HealthCheckResponse&gt; Watch(HealthCheckRequest request, Metadata headers = null, DateTime? deadline = default(DateTime? ), CancellationToken cancellationToken = default(CancellationToken))</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.Health.V1.HealthCheckRequest.html">HealthCheckRequest</a></td>
+        <td><span class="parametername">request</span></td>
+        <td><p>The request to send to the server.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.Metadata.html">Metadata</a></td>
+        <td><span class="parametername">headers</span></td>
+        <td><p>The initial metadata to send with the call. This parameter is optional.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.Nullable</span>&lt;<span class="xref">System.DateTime</span>&gt;</td>
+        <td><span class="parametername">deadline</span></td>
+        <td><p>An optional deadline for the call. The call will be cancelled if deadline is hit.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.Threading.CancellationToken</span></td>
+        <td><span class="parametername">cancellationToken</span></td>
+        <td><p>An optional token for canceling the call.</p>
+</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>&lt;<a class="xref" href="Grpc.Health.V1.HealthCheckResponse.html">HealthCheckResponse</a>&gt;</td>
+        <td><p>The call object.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
 </article>
           </div>
           

+ 34 - 0
csharp/api/Grpc.Health.V1.Health.html

@@ -149,6 +149,40 @@
   <h3 id="methods">Methods
   </h3>
   <a id="Grpc_Health_V1_Health_BindService_" data-uid="Grpc.Health.V1.Health.BindService*"></a>
+  <h4 id="Grpc_Health_V1_Health_BindService_Grpc_Core_ServiceBinderBase_Grpc_Health_V1_Health_HealthBase_" data-uid="Grpc.Health.V1.Health.BindService(Grpc.Core.ServiceBinderBase,Grpc.Health.V1.Health.HealthBase)">BindService(ServiceBinderBase, Health.HealthBase)</h4>
+  <div class="markdown level1 summary"><p>Register service method implementations with a service binder. Useful when customizing the service binding logic.
+Note: this method is part of an experimental API that can change or be removed without any prior notice.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static void BindService(ServiceBinderBase serviceBinder, Health.HealthBase serviceImpl)</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.ServiceBinderBase.html">ServiceBinderBase</a></td>
+        <td><span class="parametername">serviceBinder</span></td>
+        <td><p>Service methods will be bound by calling <code>AddMethod</code> on this object.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Health.V1.Health.HealthBase.html">Health.HealthBase</a></td>
+        <td><span class="parametername">serviceImpl</span></td>
+        <td><p>An object implementing the server-side handling logic.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Health_V1_Health_BindService_" data-uid="Grpc.Health.V1.Health.BindService*"></a>
   <h4 id="Grpc_Health_V1_Health_BindService_Grpc_Health_V1_Health_HealthBase_" data-uid="Grpc.Health.V1.Health.BindService(Grpc.Health.V1.Health.HealthBase)">BindService(Health.HealthBase)</h4>
   <div class="markdown level1 summary"><p>Creates service definition that can be registered with a server</p>
 </div>

+ 5 - 0
csharp/api/Grpc.Health.V1.HealthCheckResponse.Types.ServingStatus.html

@@ -105,6 +105,11 @@
         <td id="Grpc_Health_V1_HealthCheckResponse_Types_ServingStatus_NotServing">NotServing</td>
         <td></td>
       </tr>
+      <tr>
+        <td id="Grpc_Health_V1_HealthCheckResponse_Types_ServingStatus_ServiceUnknown">ServiceUnknown</td>
+        <td><p>Used only by the Watch method.</p>
+</td>
+      </tr>
       <tr>
         <td id="Grpc_Health_V1_HealthCheckResponse_Types_ServingStatus_Serving">Serving</td>
         <td></td>

+ 3 - 0
csharp/api/Grpc.HealthCheck.HealthServiceImpl.html

@@ -98,6 +98,9 @@ server.AddServiceDefinition(Grpc.Health.V1.Health.BindService(serviceImpl));</co
   </div>
   <div class="inheritedMembers">
     <h5>Inherited Members</h5>
+    <div>
+      <a class="xref" href="Grpc.Health.V1.Health.HealthBase.html#Grpc_Health_V1_Health_HealthBase_Watch_Grpc_Health_V1_HealthCheckRequest_Grpc_Core_IServerStreamWriter_Grpc_Health_V1_HealthCheckResponse__Grpc_Core_ServerCallContext_">Health.HealthBase.Watch(HealthCheckRequest, IServerStreamWriter&lt;HealthCheckResponse&gt;, ServerCallContext)</a>
+    </div>
     <div>
       <span class="xref">System.Object.Equals(System.Object)</span>
     </div>

+ 12 - 0
csharp/api/toc.html

@@ -109,6 +109,9 @@
                   <li>
                     <a href="Grpc.Core.DefaultCallInvoker.html" name="" title="DefaultCallInvoker">DefaultCallInvoker</a>
                   </li>
+                  <li>
+                    <a href="Grpc.Core.DeserializationContext.html" name="" title="DeserializationContext">DeserializationContext</a>
+                  </li>
                   <li>
                     <a href="Grpc.Core.DuplexStreamingServerMethod-2.html" name="" title="DuplexStreamingServerMethod&lt;TRequest, TResponse&gt;">DuplexStreamingServerMethod&lt;TRequest, TResponse&gt;</a>
                   </li>
@@ -154,6 +157,9 @@
                   <li>
                     <a href="Grpc.Core.RpcException.html" name="" title="RpcException">RpcException</a>
                   </li>
+                  <li>
+                    <a href="Grpc.Core.SerializationContext.html" name="" title="SerializationContext">SerializationContext</a>
+                  </li>
                   <li>
                     <a href="Grpc.Core.Server.html" name="" title="Server">Server</a>
                   </li>
@@ -181,6 +187,12 @@
                   <li>
                     <a href="Grpc.Core.ServerStreamingServerMethod-2.html" name="" title="ServerStreamingServerMethod&lt;TRequest, TResponse&gt;">ServerStreamingServerMethod&lt;TRequest, TResponse&gt;</a>
                   </li>
+                  <li>
+                    <a href="Grpc.Core.ServiceBinderBase.html" name="" title="ServiceBinderBase">ServiceBinderBase</a>
+                  </li>
+                  <li>
+                    <a href="Grpc.Core.SslClientCertificateRequestType.html" name="" title="SslClientCertificateRequestType">SslClientCertificateRequestType</a>
+                  </li>
                   <li>
                     <a href="Grpc.Core.SslCredentials.html" name="" title="SslCredentials">SslCredentials</a>
                   </li>

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 13
csharp/index.json


+ 66 - 18
csharp/manifest.json

@@ -210,7 +210,7 @@
       "output": {
         ".html": {
           "relative_path": "api/Grpc.Core.Channel.html",
-          "hash": "aI1c2c1qMlzddqDifTDQ5g=="
+          "hash": "Tp/yUhtCzdGjQLuKKOAIZQ=="
         }
       },
       "is_incremental": false,
@@ -246,7 +246,7 @@
       "output": {
         ".html": {
           "relative_path": "api/Grpc.Core.ChannelOption.html",
-          "hash": "nYzzrWTbG4qnXRtNw1H43g=="
+          "hash": "qGGxj7AiAHpn5fJHTeioJA=="
         }
       },
       "is_incremental": false,
@@ -258,7 +258,7 @@
       "output": {
         ".html": {
           "relative_path": "api/Grpc.Core.ChannelOptions.html",
-          "hash": "fEbTQRvoWVaDs9sGsHahkw=="
+          "hash": "vbaHnPMhnPWit+1a8uX7Cw=="
         }
       },
       "is_incremental": false,
@@ -372,6 +372,18 @@
       "is_incremental": false,
       "version": ""
     },
+    {
+      "type": "ManagedReference",
+      "source_relative_path": "obj/api/Grpc.Core.DeserializationContext.yml",
+      "output": {
+        ".html": {
+          "relative_path": "api/Grpc.Core.DeserializationContext.html",
+          "hash": "3IoCZlx7mNEM66DaPVRs2Q=="
+        }
+      },
+      "is_incremental": false,
+      "version": ""
+    },
     {
       "type": "ManagedReference",
       "source_relative_path": "obj/api/Grpc.Core.DuplexStreamingServerMethod-2.yml",
@@ -690,7 +702,7 @@
       "output": {
         ".html": {
           "relative_path": "api/Grpc.Core.Marshaller-1.html",
-          "hash": "KFVOE9nrYKozw3yvw84nZQ=="
+          "hash": "Nodls6kUhvgD891cuQx39A=="
         }
       },
       "is_incremental": false,
@@ -702,7 +714,7 @@
       "output": {
         ".html": {
           "relative_path": "api/Grpc.Core.Marshallers.html",
-          "hash": "LP6w1X4JHOcKceFZTV1TJA=="
+          "hash": "9it26sCpVNAFIrxj3w/neA=="
         }
       },
       "is_incremental": false,
@@ -714,7 +726,7 @@
       "output": {
         ".html": {
           "relative_path": "api/Grpc.Core.Metadata.Entry.html",
-          "hash": "iA55kcpkVrdsY653huyZEw=="
+          "hash": "TyNRhLAXPvFILYiTtlL+0w=="
         }
       },
       "is_incremental": false,
@@ -726,7 +738,7 @@
       "output": {
         ".html": {
           "relative_path": "api/Grpc.Core.Metadata.html",
-          "hash": "dyE7j//D2Ohe0aoHmU/SqQ=="
+          "hash": "0HfeI4T4P+P9excRxSf1zw=="
         }
       },
       "is_incremental": false,
@@ -762,7 +774,19 @@
       "output": {
         ".html": {
           "relative_path": "api/Grpc.Core.RpcException.html",
-          "hash": "+YI14ff7TzZqViz2in5wIQ=="
+          "hash": "lwSwExJljp0X899M8nVStg=="
+        }
+      },
+      "is_incremental": false,
+      "version": ""
+    },
+    {
+      "type": "ManagedReference",
+      "source_relative_path": "obj/api/Grpc.Core.SerializationContext.yml",
+      "output": {
+        ".html": {
+          "relative_path": "api/Grpc.Core.SerializationContext.html",
+          "hash": "6DFom/uN7msF/Qj2tYrvAQ=="
         }
       },
       "is_incremental": false,
@@ -846,7 +870,7 @@
       "output": {
         ".html": {
           "relative_path": "api/Grpc.Core.ServerServiceDefinition.Builder.html",
-          "hash": "vy5n0SDBdWVWh7vJ9+ku/Q=="
+          "hash": "Bg1pwjAV3dWxx2izXiVsPg=="
         }
       },
       "is_incremental": false,
@@ -876,6 +900,30 @@
       "is_incremental": false,
       "version": ""
     },
+    {
+      "type": "ManagedReference",
+      "source_relative_path": "obj/api/Grpc.Core.ServiceBinderBase.yml",
+      "output": {
+        ".html": {
+          "relative_path": "api/Grpc.Core.ServiceBinderBase.html",
+          "hash": "HBhlB8mzyj+wKPDEB4IHKA=="
+        }
+      },
+      "is_incremental": false,
+      "version": ""
+    },
+    {
+      "type": "ManagedReference",
+      "source_relative_path": "obj/api/Grpc.Core.SslClientCertificateRequestType.yml",
+      "output": {
+        ".html": {
+          "relative_path": "api/Grpc.Core.SslClientCertificateRequestType.html",
+          "hash": "TTCS6TZibjYxDdhxDYYTLA=="
+        }
+      },
+      "is_incremental": false,
+      "version": ""
+    },
     {
       "type": "ManagedReference",
       "source_relative_path": "obj/api/Grpc.Core.SslCredentials.yml",
@@ -894,7 +942,7 @@
       "output": {
         ".html": {
           "relative_path": "api/Grpc.Core.SslServerCredentials.html",
-          "hash": "Wm6/z8IXsGNna77iUG23PA=="
+          "hash": "/VTjR/ZTQsb/2fULD2Vb6A=="
         }
       },
       "is_incremental": false,
@@ -1038,7 +1086,7 @@
       "output": {
         ".html": {
           "relative_path": "api/Grpc.Core.VersionInfo.html",
-          "hash": "ICHhqEPJaiZoK6wBlV4E0g=="
+          "hash": "/wy/avE/vRCVg+Z/VY2SwA=="
         }
       },
       "is_incremental": false,
@@ -1074,7 +1122,7 @@
       "output": {
         ".html": {
           "relative_path": "api/Grpc.Core.html",
-          "hash": "yb77QEVKO+/ioh+qUUQV4Q=="
+          "hash": "MUAzb+voJdcDGNWR9vBbOQ=="
         }
       },
       "is_incremental": false,
@@ -1086,7 +1134,7 @@
       "output": {
         ".html": {
           "relative_path": "api/Grpc.Health.V1.Health.HealthBase.html",
-          "hash": "NCMQmE66kv1I9JrBxcSa7Q=="
+          "hash": "aOdqCs0piSnp1tvmoSwBvA=="
         }
       },
       "is_incremental": false,
@@ -1098,7 +1146,7 @@
       "output": {
         ".html": {
           "relative_path": "api/Grpc.Health.V1.Health.HealthClient.html",
-          "hash": "nP5bIuSK95fU8zkJ+qJdFA=="
+          "hash": "hz+q3mMNa2zXTEmEe/KY4g=="
         }
       },
       "is_incremental": false,
@@ -1110,7 +1158,7 @@
       "output": {
         ".html": {
           "relative_path": "api/Grpc.Health.V1.Health.html",
-          "hash": "3LTi8TXyfwK39yND9dyHRA=="
+          "hash": "rIPX0gwU0pM4f5SkOf8hfg=="
         }
       },
       "is_incremental": false,
@@ -1134,7 +1182,7 @@
       "output": {
         ".html": {
           "relative_path": "api/Grpc.Health.V1.HealthCheckResponse.Types.ServingStatus.html",
-          "hash": "enJ1cHkkJqhEOdjNkRBlLQ=="
+          "hash": "usBe/dRC+QPFFqpAWcta7A=="
         }
       },
       "is_incremental": false,
@@ -1194,7 +1242,7 @@
       "output": {
         ".html": {
           "relative_path": "api/Grpc.HealthCheck.HealthServiceImpl.html",
-          "hash": "E8ga0+Lp6ojRZ5SipfEacw=="
+          "hash": "CHyxEwc3c8aF7U+WNpyJdg=="
         }
       },
       "is_incremental": false,
@@ -1218,7 +1266,7 @@
       "output": {
         ".html": {
           "relative_path": "api/toc.html",
-          "hash": "U62BLSnRVDWnclzPQ6NCkA=="
+          "hash": "SElRUlPIjSdhHwAZlmOZeQ=="
         }
       },
       "is_incremental": false,

+ 343 - 0
csharp/xrefmap.yml

@@ -1501,6 +1501,22 @@ references:
   isSpec: "True"
   fullName: Grpc.Core.Channel.Target
   nameWithType: Channel.Target
+- uid: Grpc.Core.Channel.TryWaitForStateChangedAsync(Grpc.Core.ChannelState,System.Nullable{System.DateTime})
+  name: TryWaitForStateChangedAsync(ChannelState, Nullable<DateTime>)
+  href: api/Grpc.Core.Channel.html#Grpc_Core_Channel_TryWaitForStateChangedAsync_Grpc_Core_ChannelState_System_Nullable_System_DateTime__
+  commentId: M:Grpc.Core.Channel.TryWaitForStateChangedAsync(Grpc.Core.ChannelState,System.Nullable{System.DateTime})
+  name.vb: TryWaitForStateChangedAsync(ChannelState, Nullable(Of DateTime))
+  fullName: Grpc.Core.Channel.TryWaitForStateChangedAsync(Grpc.Core.ChannelState, System.Nullable<System.DateTime>)
+  fullName.vb: Grpc.Core.Channel.TryWaitForStateChangedAsync(Grpc.Core.ChannelState, System.Nullable(Of System.DateTime))
+  nameWithType: Channel.TryWaitForStateChangedAsync(ChannelState, Nullable<DateTime>)
+  nameWithType.vb: Channel.TryWaitForStateChangedAsync(ChannelState, Nullable(Of DateTime))
+- uid: Grpc.Core.Channel.TryWaitForStateChangedAsync*
+  name: TryWaitForStateChangedAsync
+  href: api/Grpc.Core.Channel.html#Grpc_Core_Channel_TryWaitForStateChangedAsync_
+  commentId: Overload:Grpc.Core.Channel.TryWaitForStateChangedAsync
+  isSpec: "True"
+  fullName: Grpc.Core.Channel.TryWaitForStateChangedAsync
+  nameWithType: Channel.TryWaitForStateChangedAsync
 - uid: Grpc.Core.Channel.WaitForStateChangedAsync(Grpc.Core.ChannelState,System.Nullable{System.DateTime})
   name: WaitForStateChangedAsync(ChannelState, Nullable<DateTime>)
   href: api/Grpc.Core.Channel.html#Grpc_Core_Channel_WaitForStateChangedAsync_Grpc_Core_ChannelState_System_Nullable_System_DateTime__
@@ -1587,6 +1603,38 @@ references:
   isSpec: "True"
   fullName: Grpc.Core.ChannelOption.ChannelOption
   nameWithType: ChannelOption.ChannelOption
+- uid: Grpc.Core.ChannelOption.Equals(Grpc.Core.ChannelOption)
+  name: Equals(ChannelOption)
+  href: api/Grpc.Core.ChannelOption.html#Grpc_Core_ChannelOption_Equals_Grpc_Core_ChannelOption_
+  commentId: M:Grpc.Core.ChannelOption.Equals(Grpc.Core.ChannelOption)
+  fullName: Grpc.Core.ChannelOption.Equals(Grpc.Core.ChannelOption)
+  nameWithType: ChannelOption.Equals(ChannelOption)
+- uid: Grpc.Core.ChannelOption.Equals(System.Object)
+  name: Equals(Object)
+  href: api/Grpc.Core.ChannelOption.html#Grpc_Core_ChannelOption_Equals_System_Object_
+  commentId: M:Grpc.Core.ChannelOption.Equals(System.Object)
+  fullName: Grpc.Core.ChannelOption.Equals(System.Object)
+  nameWithType: ChannelOption.Equals(Object)
+- uid: Grpc.Core.ChannelOption.Equals*
+  name: Equals
+  href: api/Grpc.Core.ChannelOption.html#Grpc_Core_ChannelOption_Equals_
+  commentId: Overload:Grpc.Core.ChannelOption.Equals
+  isSpec: "True"
+  fullName: Grpc.Core.ChannelOption.Equals
+  nameWithType: ChannelOption.Equals
+- uid: Grpc.Core.ChannelOption.GetHashCode
+  name: GetHashCode()
+  href: api/Grpc.Core.ChannelOption.html#Grpc_Core_ChannelOption_GetHashCode
+  commentId: M:Grpc.Core.ChannelOption.GetHashCode
+  fullName: Grpc.Core.ChannelOption.GetHashCode()
+  nameWithType: ChannelOption.GetHashCode()
+- uid: Grpc.Core.ChannelOption.GetHashCode*
+  name: GetHashCode
+  href: api/Grpc.Core.ChannelOption.html#Grpc_Core_ChannelOption_GetHashCode_
+  commentId: Overload:Grpc.Core.ChannelOption.GetHashCode
+  isSpec: "True"
+  fullName: Grpc.Core.ChannelOption.GetHashCode
+  nameWithType: ChannelOption.GetHashCode
 - uid: Grpc.Core.ChannelOption.IntValue
   name: IntValue
   href: api/Grpc.Core.ChannelOption.html#Grpc_Core_ChannelOption_IntValue
@@ -1613,6 +1661,32 @@ references:
   isSpec: "True"
   fullName: Grpc.Core.ChannelOption.Name
   nameWithType: ChannelOption.Name
+- uid: Grpc.Core.ChannelOption.op_Equality(Grpc.Core.ChannelOption,Grpc.Core.ChannelOption)
+  name: Equality(ChannelOption, ChannelOption)
+  href: api/Grpc.Core.ChannelOption.html#Grpc_Core_ChannelOption_op_Equality_Grpc_Core_ChannelOption_Grpc_Core_ChannelOption_
+  commentId: M:Grpc.Core.ChannelOption.op_Equality(Grpc.Core.ChannelOption,Grpc.Core.ChannelOption)
+  fullName: Grpc.Core.ChannelOption.Equality(Grpc.Core.ChannelOption, Grpc.Core.ChannelOption)
+  nameWithType: ChannelOption.Equality(ChannelOption, ChannelOption)
+- uid: Grpc.Core.ChannelOption.op_Equality*
+  name: Equality
+  href: api/Grpc.Core.ChannelOption.html#Grpc_Core_ChannelOption_op_Equality_
+  commentId: Overload:Grpc.Core.ChannelOption.op_Equality
+  isSpec: "True"
+  fullName: Grpc.Core.ChannelOption.Equality
+  nameWithType: ChannelOption.Equality
+- uid: Grpc.Core.ChannelOption.op_Inequality(Grpc.Core.ChannelOption,Grpc.Core.ChannelOption)
+  name: Inequality(ChannelOption, ChannelOption)
+  href: api/Grpc.Core.ChannelOption.html#Grpc_Core_ChannelOption_op_Inequality_Grpc_Core_ChannelOption_Grpc_Core_ChannelOption_
+  commentId: M:Grpc.Core.ChannelOption.op_Inequality(Grpc.Core.ChannelOption,Grpc.Core.ChannelOption)
+  fullName: Grpc.Core.ChannelOption.Inequality(Grpc.Core.ChannelOption, Grpc.Core.ChannelOption)
+  nameWithType: ChannelOption.Inequality(ChannelOption, ChannelOption)
+- uid: Grpc.Core.ChannelOption.op_Inequality*
+  name: Inequality
+  href: api/Grpc.Core.ChannelOption.html#Grpc_Core_ChannelOption_op_Inequality_
+  commentId: Overload:Grpc.Core.ChannelOption.op_Inequality
+  isSpec: "True"
+  fullName: Grpc.Core.ChannelOption.Inequality
+  nameWithType: ChannelOption.Inequality
 - uid: Grpc.Core.ChannelOption.OptionType
   name: ChannelOption.OptionType
   href: api/Grpc.Core.ChannelOption.OptionType.html
@@ -2116,6 +2190,38 @@ references:
   fullName.vb: Grpc.Core.DefaultCallInvoker.CreateCall(Of TRequest, TResponse)(Grpc.Core.Method(Of TRequest, TResponse), System.String, Grpc.Core.CallOptions)
   nameWithType: DefaultCallInvoker.CreateCall<TRequest, TResponse>(Method<TRequest, TResponse>, String, CallOptions)
   nameWithType.vb: DefaultCallInvoker.CreateCall(Of TRequest, TResponse)(Method(Of TRequest, TResponse), String, CallOptions)
+- uid: Grpc.Core.DeserializationContext
+  name: DeserializationContext
+  href: api/Grpc.Core.DeserializationContext.html
+  commentId: T:Grpc.Core.DeserializationContext
+  fullName: Grpc.Core.DeserializationContext
+  nameWithType: DeserializationContext
+- uid: Grpc.Core.DeserializationContext.PayloadAsNewBuffer
+  name: PayloadAsNewBuffer()
+  href: api/Grpc.Core.DeserializationContext.html#Grpc_Core_DeserializationContext_PayloadAsNewBuffer
+  commentId: M:Grpc.Core.DeserializationContext.PayloadAsNewBuffer
+  fullName: Grpc.Core.DeserializationContext.PayloadAsNewBuffer()
+  nameWithType: DeserializationContext.PayloadAsNewBuffer()
+- uid: Grpc.Core.DeserializationContext.PayloadAsNewBuffer*
+  name: PayloadAsNewBuffer
+  href: api/Grpc.Core.DeserializationContext.html#Grpc_Core_DeserializationContext_PayloadAsNewBuffer_
+  commentId: Overload:Grpc.Core.DeserializationContext.PayloadAsNewBuffer
+  isSpec: "True"
+  fullName: Grpc.Core.DeserializationContext.PayloadAsNewBuffer
+  nameWithType: DeserializationContext.PayloadAsNewBuffer
+- uid: Grpc.Core.DeserializationContext.PayloadLength
+  name: PayloadLength
+  href: api/Grpc.Core.DeserializationContext.html#Grpc_Core_DeserializationContext_PayloadLength
+  commentId: P:Grpc.Core.DeserializationContext.PayloadLength
+  fullName: Grpc.Core.DeserializationContext.PayloadLength
+  nameWithType: DeserializationContext.PayloadLength
+- uid: Grpc.Core.DeserializationContext.PayloadLength*
+  name: PayloadLength
+  href: api/Grpc.Core.DeserializationContext.html#Grpc_Core_DeserializationContext_PayloadLength_
+  commentId: Overload:Grpc.Core.DeserializationContext.PayloadLength
+  isSpec: "True"
+  fullName: Grpc.Core.DeserializationContext.PayloadLength
+  nameWithType: DeserializationContext.PayloadLength
 - uid: Grpc.Core.DuplexStreamingServerMethod`2
   name: DuplexStreamingServerMethod<TRequest, TResponse>
   href: api/Grpc.Core.DuplexStreamingServerMethod-2.html
@@ -3462,6 +3568,15 @@ references:
   fullName.vb: Grpc.Core.Marshaller(Of T)
   nameWithType: Marshaller<T>
   nameWithType.vb: Marshaller(Of T)
+- uid: Grpc.Core.Marshaller`1.#ctor(System.Action{`0,Grpc.Core.SerializationContext},System.Func{Grpc.Core.DeserializationContext,`0})
+  name: Marshaller(Action<T, SerializationContext>, Func<DeserializationContext, T>)
+  href: api/Grpc.Core.Marshaller-1.html#Grpc_Core_Marshaller_1__ctor_System_Action__0_Grpc_Core_SerializationContext__System_Func_Grpc_Core_DeserializationContext__0__
+  commentId: M:Grpc.Core.Marshaller`1.#ctor(System.Action{`0,Grpc.Core.SerializationContext},System.Func{Grpc.Core.DeserializationContext,`0})
+  name.vb: Marshaller(Action(Of T, SerializationContext), Func(Of DeserializationContext, T))
+  fullName: Grpc.Core.Marshaller<T>.Marshaller(System.Action<T, Grpc.Core.SerializationContext>, System.Func<Grpc.Core.DeserializationContext, T>)
+  fullName.vb: Grpc.Core.Marshaller(Of T).Marshaller(System.Action(Of T, Grpc.Core.SerializationContext), System.Func(Of Grpc.Core.DeserializationContext, T))
+  nameWithType: Marshaller<T>.Marshaller(Action<T, SerializationContext>, Func<DeserializationContext, T>)
+  nameWithType.vb: Marshaller(Of T).Marshaller(Action(Of T, SerializationContext), Func(Of DeserializationContext, T))
 - uid: Grpc.Core.Marshaller`1.#ctor(System.Func{`0,System.Byte[]},System.Func{System.Byte[],`0})
   name: Marshaller(Func<T, Byte[]>, Func<Byte[], T>)
   href: api/Grpc.Core.Marshaller-1.html#Grpc_Core_Marshaller_1__ctor_System_Func__0_System_Byte____System_Func_System_Byte____0__
@@ -3480,6 +3595,40 @@ references:
   fullName.vb: Grpc.Core.Marshaller(Of T).Marshaller
   nameWithType: Marshaller<T>.Marshaller
   nameWithType.vb: Marshaller(Of T).Marshaller
+- uid: Grpc.Core.Marshaller`1.ContextualDeserializer
+  name: ContextualDeserializer
+  href: api/Grpc.Core.Marshaller-1.html#Grpc_Core_Marshaller_1_ContextualDeserializer
+  commentId: P:Grpc.Core.Marshaller`1.ContextualDeserializer
+  fullName: Grpc.Core.Marshaller<T>.ContextualDeserializer
+  fullName.vb: Grpc.Core.Marshaller(Of T).ContextualDeserializer
+  nameWithType: Marshaller<T>.ContextualDeserializer
+  nameWithType.vb: Marshaller(Of T).ContextualDeserializer
+- uid: Grpc.Core.Marshaller`1.ContextualDeserializer*
+  name: ContextualDeserializer
+  href: api/Grpc.Core.Marshaller-1.html#Grpc_Core_Marshaller_1_ContextualDeserializer_
+  commentId: Overload:Grpc.Core.Marshaller`1.ContextualDeserializer
+  isSpec: "True"
+  fullName: Grpc.Core.Marshaller<T>.ContextualDeserializer
+  fullName.vb: Grpc.Core.Marshaller(Of T).ContextualDeserializer
+  nameWithType: Marshaller<T>.ContextualDeserializer
+  nameWithType.vb: Marshaller(Of T).ContextualDeserializer
+- uid: Grpc.Core.Marshaller`1.ContextualSerializer
+  name: ContextualSerializer
+  href: api/Grpc.Core.Marshaller-1.html#Grpc_Core_Marshaller_1_ContextualSerializer
+  commentId: P:Grpc.Core.Marshaller`1.ContextualSerializer
+  fullName: Grpc.Core.Marshaller<T>.ContextualSerializer
+  fullName.vb: Grpc.Core.Marshaller(Of T).ContextualSerializer
+  nameWithType: Marshaller<T>.ContextualSerializer
+  nameWithType.vb: Marshaller(Of T).ContextualSerializer
+- uid: Grpc.Core.Marshaller`1.ContextualSerializer*
+  name: ContextualSerializer
+  href: api/Grpc.Core.Marshaller-1.html#Grpc_Core_Marshaller_1_ContextualSerializer_
+  commentId: Overload:Grpc.Core.Marshaller`1.ContextualSerializer
+  isSpec: "True"
+  fullName: Grpc.Core.Marshaller<T>.ContextualSerializer
+  fullName.vb: Grpc.Core.Marshaller(Of T).ContextualSerializer
+  nameWithType: Marshaller<T>.ContextualSerializer
+  nameWithType.vb: Marshaller(Of T).ContextualSerializer
 - uid: Grpc.Core.Marshaller`1.Deserializer
   name: Deserializer
   href: api/Grpc.Core.Marshaller-1.html#Grpc_Core_Marshaller_1_Deserializer
@@ -3527,6 +3676,15 @@ references:
   isSpec: "True"
   fullName: Grpc.Core.Marshallers.Create
   nameWithType: Marshallers.Create
+- uid: Grpc.Core.Marshallers.Create``1(System.Action{``0,Grpc.Core.SerializationContext},System.Func{Grpc.Core.DeserializationContext,``0})
+  name: Create<T>(Action<T, SerializationContext>, Func<DeserializationContext, T>)
+  href: api/Grpc.Core.Marshallers.html#Grpc_Core_Marshallers_Create__1_System_Action___0_Grpc_Core_SerializationContext__System_Func_Grpc_Core_DeserializationContext___0__
+  commentId: M:Grpc.Core.Marshallers.Create``1(System.Action{``0,Grpc.Core.SerializationContext},System.Func{Grpc.Core.DeserializationContext,``0})
+  name.vb: Create(Of T)(Action(Of T, SerializationContext), Func(Of DeserializationContext, T))
+  fullName: Grpc.Core.Marshallers.Create<T>(System.Action<T, Grpc.Core.SerializationContext>, System.Func<Grpc.Core.DeserializationContext, T>)
+  fullName.vb: Grpc.Core.Marshallers.Create(Of T)(System.Action(Of T, Grpc.Core.SerializationContext), System.Func(Of Grpc.Core.DeserializationContext, T))
+  nameWithType: Marshallers.Create<T>(Action<T, SerializationContext>, Func<DeserializationContext, T>)
+  nameWithType.vb: Marshallers.Create(Of T)(Action(Of T, SerializationContext), Func(Of DeserializationContext, T))
 - uid: Grpc.Core.Marshallers.Create``1(System.Func{``0,System.Byte[]},System.Func{System.Byte[],``0})
   name: Create<T>(Func<T, Byte[]>, Func<Byte[], T>)
   href: api/Grpc.Core.Marshallers.html#Grpc_Core_Marshallers_Create__1_System_Func___0_System_Byte____System_Func_System_Byte_____0__
@@ -4044,6 +4202,12 @@ references:
   commentId: M:Grpc.Core.RpcException.#ctor(Grpc.Core.Status,Grpc.Core.Metadata)
   fullName: Grpc.Core.RpcException.RpcException(Grpc.Core.Status, Grpc.Core.Metadata)
   nameWithType: RpcException.RpcException(Status, Metadata)
+- uid: Grpc.Core.RpcException.#ctor(Grpc.Core.Status,Grpc.Core.Metadata,System.String)
+  name: RpcException(Status, Metadata, String)
+  href: api/Grpc.Core.RpcException.html#Grpc_Core_RpcException__ctor_Grpc_Core_Status_Grpc_Core_Metadata_System_String_
+  commentId: M:Grpc.Core.RpcException.#ctor(Grpc.Core.Status,Grpc.Core.Metadata,System.String)
+  fullName: Grpc.Core.RpcException.RpcException(Grpc.Core.Status, Grpc.Core.Metadata, System.String)
+  nameWithType: RpcException.RpcException(Status, Metadata, String)
 - uid: Grpc.Core.RpcException.#ctor(Grpc.Core.Status,System.String)
   name: RpcException(Status, String)
   href: api/Grpc.Core.RpcException.html#Grpc_Core_RpcException__ctor_Grpc_Core_Status_System_String_
@@ -4096,6 +4260,28 @@ references:
   isSpec: "True"
   fullName: Grpc.Core.RpcException.Trailers
   nameWithType: RpcException.Trailers
+- uid: Grpc.Core.SerializationContext
+  name: SerializationContext
+  href: api/Grpc.Core.SerializationContext.html
+  commentId: T:Grpc.Core.SerializationContext
+  fullName: Grpc.Core.SerializationContext
+  nameWithType: SerializationContext
+- uid: Grpc.Core.SerializationContext.Complete(System.Byte[])
+  name: Complete(Byte[])
+  href: api/Grpc.Core.SerializationContext.html#Grpc_Core_SerializationContext_Complete_System_Byte___
+  commentId: M:Grpc.Core.SerializationContext.Complete(System.Byte[])
+  name.vb: Complete(Byte())
+  fullName: Grpc.Core.SerializationContext.Complete(System.Byte[])
+  fullName.vb: Grpc.Core.SerializationContext.Complete(System.Byte())
+  nameWithType: SerializationContext.Complete(Byte[])
+  nameWithType.vb: SerializationContext.Complete(Byte())
+- uid: Grpc.Core.SerializationContext.Complete*
+  name: Complete
+  href: api/Grpc.Core.SerializationContext.html#Grpc_Core_SerializationContext_Complete_
+  commentId: Overload:Grpc.Core.SerializationContext.Complete
+  isSpec: "True"
+  fullName: Grpc.Core.SerializationContext.Complete
+  nameWithType: SerializationContext.Complete
 - uid: Grpc.Core.Server
   name: Server
   href: api/Grpc.Core.Server.html
@@ -4680,6 +4866,91 @@ references:
   fullName.vb: Grpc.Core.ServerStreamingServerMethod(Of TRequest, TResponse)
   nameWithType: ServerStreamingServerMethod<TRequest, TResponse>
   nameWithType.vb: ServerStreamingServerMethod(Of TRequest, TResponse)
+- uid: Grpc.Core.ServiceBinderBase
+  name: ServiceBinderBase
+  href: api/Grpc.Core.ServiceBinderBase.html
+  commentId: T:Grpc.Core.ServiceBinderBase
+  fullName: Grpc.Core.ServiceBinderBase
+  nameWithType: ServiceBinderBase
+- uid: Grpc.Core.ServiceBinderBase.AddMethod*
+  name: AddMethod
+  href: api/Grpc.Core.ServiceBinderBase.html#Grpc_Core_ServiceBinderBase_AddMethod_
+  commentId: Overload:Grpc.Core.ServiceBinderBase.AddMethod
+  isSpec: "True"
+  fullName: Grpc.Core.ServiceBinderBase.AddMethod
+  nameWithType: ServiceBinderBase.AddMethod
+- uid: Grpc.Core.ServiceBinderBase.AddMethod``2(Grpc.Core.Method{``0,``1},Grpc.Core.ClientStreamingServerMethod{``0,``1})
+  name: AddMethod<TRequest, TResponse>(Method<TRequest, TResponse>, ClientStreamingServerMethod<TRequest, TResponse>)
+  href: api/Grpc.Core.ServiceBinderBase.html#Grpc_Core_ServiceBinderBase_AddMethod__2_Grpc_Core_Method___0___1__Grpc_Core_ClientStreamingServerMethod___0___1__
+  commentId: M:Grpc.Core.ServiceBinderBase.AddMethod``2(Grpc.Core.Method{``0,``1},Grpc.Core.ClientStreamingServerMethod{``0,``1})
+  name.vb: AddMethod(Of TRequest, TResponse)(Method(Of TRequest, TResponse), ClientStreamingServerMethod(Of TRequest, TResponse))
+  fullName: Grpc.Core.ServiceBinderBase.AddMethod<TRequest, TResponse>(Grpc.Core.Method<TRequest, TResponse>, Grpc.Core.ClientStreamingServerMethod<TRequest, TResponse>)
+  fullName.vb: Grpc.Core.ServiceBinderBase.AddMethod(Of TRequest, TResponse)(Grpc.Core.Method(Of TRequest, TResponse), Grpc.Core.ClientStreamingServerMethod(Of TRequest, TResponse))
+  nameWithType: ServiceBinderBase.AddMethod<TRequest, TResponse>(Method<TRequest, TResponse>, ClientStreamingServerMethod<TRequest, TResponse>)
+  nameWithType.vb: ServiceBinderBase.AddMethod(Of TRequest, TResponse)(Method(Of TRequest, TResponse), ClientStreamingServerMethod(Of TRequest, TResponse))
+- uid: Grpc.Core.ServiceBinderBase.AddMethod``2(Grpc.Core.Method{``0,``1},Grpc.Core.DuplexStreamingServerMethod{``0,``1})
+  name: AddMethod<TRequest, TResponse>(Method<TRequest, TResponse>, DuplexStreamingServerMethod<TRequest, TResponse>)
+  href: api/Grpc.Core.ServiceBinderBase.html#Grpc_Core_ServiceBinderBase_AddMethod__2_Grpc_Core_Method___0___1__Grpc_Core_DuplexStreamingServerMethod___0___1__
+  commentId: M:Grpc.Core.ServiceBinderBase.AddMethod``2(Grpc.Core.Method{``0,``1},Grpc.Core.DuplexStreamingServerMethod{``0,``1})
+  name.vb: AddMethod(Of TRequest, TResponse)(Method(Of TRequest, TResponse), DuplexStreamingServerMethod(Of TRequest, TResponse))
+  fullName: Grpc.Core.ServiceBinderBase.AddMethod<TRequest, TResponse>(Grpc.Core.Method<TRequest, TResponse>, Grpc.Core.DuplexStreamingServerMethod<TRequest, TResponse>)
+  fullName.vb: Grpc.Core.ServiceBinderBase.AddMethod(Of TRequest, TResponse)(Grpc.Core.Method(Of TRequest, TResponse), Grpc.Core.DuplexStreamingServerMethod(Of TRequest, TResponse))
+  nameWithType: ServiceBinderBase.AddMethod<TRequest, TResponse>(Method<TRequest, TResponse>, DuplexStreamingServerMethod<TRequest, TResponse>)
+  nameWithType.vb: ServiceBinderBase.AddMethod(Of TRequest, TResponse)(Method(Of TRequest, TResponse), DuplexStreamingServerMethod(Of TRequest, TResponse))
+- uid: Grpc.Core.ServiceBinderBase.AddMethod``2(Grpc.Core.Method{``0,``1},Grpc.Core.ServerStreamingServerMethod{``0,``1})
+  name: AddMethod<TRequest, TResponse>(Method<TRequest, TResponse>, ServerStreamingServerMethod<TRequest, TResponse>)
+  href: api/Grpc.Core.ServiceBinderBase.html#Grpc_Core_ServiceBinderBase_AddMethod__2_Grpc_Core_Method___0___1__Grpc_Core_ServerStreamingServerMethod___0___1__
+  commentId: M:Grpc.Core.ServiceBinderBase.AddMethod``2(Grpc.Core.Method{``0,``1},Grpc.Core.ServerStreamingServerMethod{``0,``1})
+  name.vb: AddMethod(Of TRequest, TResponse)(Method(Of TRequest, TResponse), ServerStreamingServerMethod(Of TRequest, TResponse))
+  fullName: Grpc.Core.ServiceBinderBase.AddMethod<TRequest, TResponse>(Grpc.Core.Method<TRequest, TResponse>, Grpc.Core.ServerStreamingServerMethod<TRequest, TResponse>)
+  fullName.vb: Grpc.Core.ServiceBinderBase.AddMethod(Of TRequest, TResponse)(Grpc.Core.Method(Of TRequest, TResponse), Grpc.Core.ServerStreamingServerMethod(Of TRequest, TResponse))
+  nameWithType: ServiceBinderBase.AddMethod<TRequest, TResponse>(Method<TRequest, TResponse>, ServerStreamingServerMethod<TRequest, TResponse>)
+  nameWithType.vb: ServiceBinderBase.AddMethod(Of TRequest, TResponse)(Method(Of TRequest, TResponse), ServerStreamingServerMethod(Of TRequest, TResponse))
+- uid: Grpc.Core.ServiceBinderBase.AddMethod``2(Grpc.Core.Method{``0,``1},Grpc.Core.UnaryServerMethod{``0,``1})
+  name: AddMethod<TRequest, TResponse>(Method<TRequest, TResponse>, UnaryServerMethod<TRequest, TResponse>)
+  href: api/Grpc.Core.ServiceBinderBase.html#Grpc_Core_ServiceBinderBase_AddMethod__2_Grpc_Core_Method___0___1__Grpc_Core_UnaryServerMethod___0___1__
+  commentId: M:Grpc.Core.ServiceBinderBase.AddMethod``2(Grpc.Core.Method{``0,``1},Grpc.Core.UnaryServerMethod{``0,``1})
+  name.vb: AddMethod(Of TRequest, TResponse)(Method(Of TRequest, TResponse), UnaryServerMethod(Of TRequest, TResponse))
+  fullName: Grpc.Core.ServiceBinderBase.AddMethod<TRequest, TResponse>(Grpc.Core.Method<TRequest, TResponse>, Grpc.Core.UnaryServerMethod<TRequest, TResponse>)
+  fullName.vb: Grpc.Core.ServiceBinderBase.AddMethod(Of TRequest, TResponse)(Grpc.Core.Method(Of TRequest, TResponse), Grpc.Core.UnaryServerMethod(Of TRequest, TResponse))
+  nameWithType: ServiceBinderBase.AddMethod<TRequest, TResponse>(Method<TRequest, TResponse>, UnaryServerMethod<TRequest, TResponse>)
+  nameWithType.vb: ServiceBinderBase.AddMethod(Of TRequest, TResponse)(Method(Of TRequest, TResponse), UnaryServerMethod(Of TRequest, TResponse))
+- uid: Grpc.Core.SslClientCertificateRequestType
+  name: SslClientCertificateRequestType
+  href: api/Grpc.Core.SslClientCertificateRequestType.html
+  commentId: T:Grpc.Core.SslClientCertificateRequestType
+  fullName: Grpc.Core.SslClientCertificateRequestType
+  nameWithType: SslClientCertificateRequestType
+- uid: Grpc.Core.SslClientCertificateRequestType.DontRequest
+  name: DontRequest
+  href: api/Grpc.Core.SslClientCertificateRequestType.html#Grpc_Core_SslClientCertificateRequestType_DontRequest
+  commentId: F:Grpc.Core.SslClientCertificateRequestType.DontRequest
+  fullName: Grpc.Core.SslClientCertificateRequestType.DontRequest
+  nameWithType: SslClientCertificateRequestType.DontRequest
+- uid: Grpc.Core.SslClientCertificateRequestType.RequestAndRequireAndVerify
+  name: RequestAndRequireAndVerify
+  href: api/Grpc.Core.SslClientCertificateRequestType.html#Grpc_Core_SslClientCertificateRequestType_RequestAndRequireAndVerify
+  commentId: F:Grpc.Core.SslClientCertificateRequestType.RequestAndRequireAndVerify
+  fullName: Grpc.Core.SslClientCertificateRequestType.RequestAndRequireAndVerify
+  nameWithType: SslClientCertificateRequestType.RequestAndRequireAndVerify
+- uid: Grpc.Core.SslClientCertificateRequestType.RequestAndRequireButDontVerify
+  name: RequestAndRequireButDontVerify
+  href: api/Grpc.Core.SslClientCertificateRequestType.html#Grpc_Core_SslClientCertificateRequestType_RequestAndRequireButDontVerify
+  commentId: F:Grpc.Core.SslClientCertificateRequestType.RequestAndRequireButDontVerify
+  fullName: Grpc.Core.SslClientCertificateRequestType.RequestAndRequireButDontVerify
+  nameWithType: SslClientCertificateRequestType.RequestAndRequireButDontVerify
+- uid: Grpc.Core.SslClientCertificateRequestType.RequestAndVerify
+  name: RequestAndVerify
+  href: api/Grpc.Core.SslClientCertificateRequestType.html#Grpc_Core_SslClientCertificateRequestType_RequestAndVerify
+  commentId: F:Grpc.Core.SslClientCertificateRequestType.RequestAndVerify
+  fullName: Grpc.Core.SslClientCertificateRequestType.RequestAndVerify
+  nameWithType: SslClientCertificateRequestType.RequestAndVerify
+- uid: Grpc.Core.SslClientCertificateRequestType.RequestButDontVerify
+  name: RequestButDontVerify
+  href: api/Grpc.Core.SslClientCertificateRequestType.html#Grpc_Core_SslClientCertificateRequestType_RequestButDontVerify
+  commentId: F:Grpc.Core.SslClientCertificateRequestType.RequestButDontVerify
+  fullName: Grpc.Core.SslClientCertificateRequestType.RequestButDontVerify
+  nameWithType: SslClientCertificateRequestType.RequestButDontVerify
 - uid: Grpc.Core.SslCredentials
   name: SslCredentials
   href: api/Grpc.Core.SslCredentials.html
@@ -4752,6 +5023,15 @@ references:
   fullName.vb: Grpc.Core.SslServerCredentials.SslServerCredentials(System.Collections.Generic.IEnumerable(Of Grpc.Core.KeyCertificatePair))
   nameWithType: SslServerCredentials.SslServerCredentials(IEnumerable<KeyCertificatePair>)
   nameWithType.vb: SslServerCredentials.SslServerCredentials(IEnumerable(Of KeyCertificatePair))
+- uid: Grpc.Core.SslServerCredentials.#ctor(System.Collections.Generic.IEnumerable{Grpc.Core.KeyCertificatePair},System.String,Grpc.Core.SslClientCertificateRequestType)
+  name: SslServerCredentials(IEnumerable<KeyCertificatePair>, String, SslClientCertificateRequestType)
+  href: api/Grpc.Core.SslServerCredentials.html#Grpc_Core_SslServerCredentials__ctor_System_Collections_Generic_IEnumerable_Grpc_Core_KeyCertificatePair__System_String_Grpc_Core_SslClientCertificateRequestType_
+  commentId: M:Grpc.Core.SslServerCredentials.#ctor(System.Collections.Generic.IEnumerable{Grpc.Core.KeyCertificatePair},System.String,Grpc.Core.SslClientCertificateRequestType)
+  name.vb: SslServerCredentials(IEnumerable(Of KeyCertificatePair), String, SslClientCertificateRequestType)
+  fullName: Grpc.Core.SslServerCredentials.SslServerCredentials(System.Collections.Generic.IEnumerable<Grpc.Core.KeyCertificatePair>, System.String, Grpc.Core.SslClientCertificateRequestType)
+  fullName.vb: Grpc.Core.SslServerCredentials.SslServerCredentials(System.Collections.Generic.IEnumerable(Of Grpc.Core.KeyCertificatePair), System.String, Grpc.Core.SslClientCertificateRequestType)
+  nameWithType: SslServerCredentials.SslServerCredentials(IEnumerable<KeyCertificatePair>, String, SslClientCertificateRequestType)
+  nameWithType.vb: SslServerCredentials.SslServerCredentials(IEnumerable(Of KeyCertificatePair), String, SslClientCertificateRequestType)
 - uid: Grpc.Core.SslServerCredentials.#ctor(System.Collections.Generic.IEnumerable{Grpc.Core.KeyCertificatePair},System.String,System.Boolean)
   name: SslServerCredentials(IEnumerable<KeyCertificatePair>, String, Boolean)
   href: api/Grpc.Core.SslServerCredentials.html#Grpc_Core_SslServerCredentials__ctor_System_Collections_Generic_IEnumerable_Grpc_Core_KeyCertificatePair__System_String_System_Boolean_
@@ -4768,6 +5048,19 @@ references:
   isSpec: "True"
   fullName: Grpc.Core.SslServerCredentials.SslServerCredentials
   nameWithType: SslServerCredentials.SslServerCredentials
+- uid: Grpc.Core.SslServerCredentials.ClientCertificateRequest
+  name: ClientCertificateRequest
+  href: api/Grpc.Core.SslServerCredentials.html#Grpc_Core_SslServerCredentials_ClientCertificateRequest
+  commentId: P:Grpc.Core.SslServerCredentials.ClientCertificateRequest
+  fullName: Grpc.Core.SslServerCredentials.ClientCertificateRequest
+  nameWithType: SslServerCredentials.ClientCertificateRequest
+- uid: Grpc.Core.SslServerCredentials.ClientCertificateRequest*
+  name: ClientCertificateRequest
+  href: api/Grpc.Core.SslServerCredentials.html#Grpc_Core_SslServerCredentials_ClientCertificateRequest_
+  commentId: Overload:Grpc.Core.SslServerCredentials.ClientCertificateRequest
+  isSpec: "True"
+  fullName: Grpc.Core.SslServerCredentials.ClientCertificateRequest
+  nameWithType: SslServerCredentials.ClientCertificateRequest
 - uid: Grpc.Core.SslServerCredentials.ForceClientAuthentication
   name: ForceClientAuthentication
   href: api/Grpc.Core.SslServerCredentials.html#Grpc_Core_SslServerCredentials_ForceClientAuthentication
@@ -5360,6 +5653,12 @@ references:
   commentId: T:Grpc.Health.V1.Health
   fullName: Grpc.Health.V1.Health
   nameWithType: Health
+- uid: Grpc.Health.V1.Health.BindService(Grpc.Core.ServiceBinderBase,Grpc.Health.V1.Health.HealthBase)
+  name: BindService(ServiceBinderBase, Health.HealthBase)
+  href: api/Grpc.Health.V1.Health.html#Grpc_Health_V1_Health_BindService_Grpc_Core_ServiceBinderBase_Grpc_Health_V1_Health_HealthBase_
+  commentId: M:Grpc.Health.V1.Health.BindService(Grpc.Core.ServiceBinderBase,Grpc.Health.V1.Health.HealthBase)
+  fullName: Grpc.Health.V1.Health.BindService(Grpc.Core.ServiceBinderBase, Grpc.Health.V1.Health.HealthBase)
+  nameWithType: Health.BindService(ServiceBinderBase, Health.HealthBase)
 - uid: Grpc.Health.V1.Health.BindService(Grpc.Health.V1.Health.HealthBase)
   name: BindService(Health.HealthBase)
   href: api/Grpc.Health.V1.Health.html#Grpc_Health_V1_Health_BindService_Grpc_Health_V1_Health_HealthBase_
@@ -5405,6 +5704,22 @@ references:
   isSpec: "True"
   fullName: Grpc.Health.V1.Health.HealthBase.Check
   nameWithType: Health.HealthBase.Check
+- uid: Grpc.Health.V1.Health.HealthBase.Watch(Grpc.Health.V1.HealthCheckRequest,Grpc.Core.IServerStreamWriter{Grpc.Health.V1.HealthCheckResponse},Grpc.Core.ServerCallContext)
+  name: Watch(HealthCheckRequest, IServerStreamWriter<HealthCheckResponse>, ServerCallContext)
+  href: api/Grpc.Health.V1.Health.HealthBase.html#Grpc_Health_V1_Health_HealthBase_Watch_Grpc_Health_V1_HealthCheckRequest_Grpc_Core_IServerStreamWriter_Grpc_Health_V1_HealthCheckResponse__Grpc_Core_ServerCallContext_
+  commentId: M:Grpc.Health.V1.Health.HealthBase.Watch(Grpc.Health.V1.HealthCheckRequest,Grpc.Core.IServerStreamWriter{Grpc.Health.V1.HealthCheckResponse},Grpc.Core.ServerCallContext)
+  name.vb: Watch(HealthCheckRequest, IServerStreamWriter(Of HealthCheckResponse), ServerCallContext)
+  fullName: Grpc.Health.V1.Health.HealthBase.Watch(Grpc.Health.V1.HealthCheckRequest, Grpc.Core.IServerStreamWriter<Grpc.Health.V1.HealthCheckResponse>, Grpc.Core.ServerCallContext)
+  fullName.vb: Grpc.Health.V1.Health.HealthBase.Watch(Grpc.Health.V1.HealthCheckRequest, Grpc.Core.IServerStreamWriter(Of Grpc.Health.V1.HealthCheckResponse), Grpc.Core.ServerCallContext)
+  nameWithType: Health.HealthBase.Watch(HealthCheckRequest, IServerStreamWriter<HealthCheckResponse>, ServerCallContext)
+  nameWithType.vb: Health.HealthBase.Watch(HealthCheckRequest, IServerStreamWriter(Of HealthCheckResponse), ServerCallContext)
+- uid: Grpc.Health.V1.Health.HealthBase.Watch*
+  name: Watch
+  href: api/Grpc.Health.V1.Health.HealthBase.html#Grpc_Health_V1_Health_HealthBase_Watch_
+  commentId: Overload:Grpc.Health.V1.Health.HealthBase.Watch
+  isSpec: "True"
+  fullName: Grpc.Health.V1.Health.HealthBase.Watch
+  nameWithType: Health.HealthBase.Watch
 - uid: Grpc.Health.V1.Health.HealthClient
   name: Health.HealthClient
   href: api/Grpc.Health.V1.Health.HealthClient.html
@@ -5499,6 +5814,28 @@ references:
   isSpec: "True"
   fullName: Grpc.Health.V1.Health.HealthClient.NewInstance
   nameWithType: Health.HealthClient.NewInstance
+- uid: Grpc.Health.V1.Health.HealthClient.Watch(Grpc.Health.V1.HealthCheckRequest,Grpc.Core.CallOptions)
+  name: Watch(HealthCheckRequest, CallOptions)
+  href: api/Grpc.Health.V1.Health.HealthClient.html#Grpc_Health_V1_Health_HealthClient_Watch_Grpc_Health_V1_HealthCheckRequest_Grpc_Core_CallOptions_
+  commentId: M:Grpc.Health.V1.Health.HealthClient.Watch(Grpc.Health.V1.HealthCheckRequest,Grpc.Core.CallOptions)
+  fullName: Grpc.Health.V1.Health.HealthClient.Watch(Grpc.Health.V1.HealthCheckRequest, Grpc.Core.CallOptions)
+  nameWithType: Health.HealthClient.Watch(HealthCheckRequest, CallOptions)
+- uid: Grpc.Health.V1.Health.HealthClient.Watch(Grpc.Health.V1.HealthCheckRequest,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)
+  name: Watch(HealthCheckRequest, Metadata, Nullable<DateTime>, CancellationToken)
+  href: api/Grpc.Health.V1.Health.HealthClient.html#Grpc_Health_V1_Health_HealthClient_Watch_Grpc_Health_V1_HealthCheckRequest_Grpc_Core_Metadata_System_Nullable_System_DateTime__System_Threading_CancellationToken_
+  commentId: M:Grpc.Health.V1.Health.HealthClient.Watch(Grpc.Health.V1.HealthCheckRequest,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)
+  name.vb: Watch(HealthCheckRequest, Metadata, Nullable(Of DateTime), CancellationToken)
+  fullName: Grpc.Health.V1.Health.HealthClient.Watch(Grpc.Health.V1.HealthCheckRequest, Grpc.Core.Metadata, System.Nullable<System.DateTime>, System.Threading.CancellationToken)
+  fullName.vb: Grpc.Health.V1.Health.HealthClient.Watch(Grpc.Health.V1.HealthCheckRequest, Grpc.Core.Metadata, System.Nullable(Of System.DateTime), System.Threading.CancellationToken)
+  nameWithType: Health.HealthClient.Watch(HealthCheckRequest, Metadata, Nullable<DateTime>, CancellationToken)
+  nameWithType.vb: Health.HealthClient.Watch(HealthCheckRequest, Metadata, Nullable(Of DateTime), CancellationToken)
+- uid: Grpc.Health.V1.Health.HealthClient.Watch*
+  name: Watch
+  href: api/Grpc.Health.V1.Health.HealthClient.html#Grpc_Health_V1_Health_HealthClient_Watch_
+  commentId: Overload:Grpc.Health.V1.Health.HealthClient.Watch
+  isSpec: "True"
+  fullName: Grpc.Health.V1.Health.HealthClient.Watch
+  nameWithType: Health.HealthClient.Watch
 - uid: Grpc.Health.V1.HealthCheckRequest
   name: HealthCheckRequest
   href: api/Grpc.Health.V1.HealthCheckRequest.html
@@ -5850,6 +6187,12 @@ references:
   commentId: F:Grpc.Health.V1.HealthCheckResponse.Types.ServingStatus.NotServing
   fullName: Grpc.Health.V1.HealthCheckResponse.Types.ServingStatus.NotServing
   nameWithType: HealthCheckResponse.Types.ServingStatus.NotServing
+- uid: Grpc.Health.V1.HealthCheckResponse.Types.ServingStatus.ServiceUnknown
+  name: ServiceUnknown
+  href: api/Grpc.Health.V1.HealthCheckResponse.Types.ServingStatus.html#Grpc_Health_V1_HealthCheckResponse_Types_ServingStatus_ServiceUnknown
+  commentId: F:Grpc.Health.V1.HealthCheckResponse.Types.ServingStatus.ServiceUnknown
+  fullName: Grpc.Health.V1.HealthCheckResponse.Types.ServingStatus.ServiceUnknown
+  nameWithType: HealthCheckResponse.Types.ServingStatus.ServiceUnknown
 - uid: Grpc.Health.V1.HealthCheckResponse.Types.ServingStatus.Serving
   name: Serving
   href: api/Grpc.Health.V1.HealthCheckResponse.Types.ServingStatus.html#Grpc_Health_V1_HealthCheckResponse_Types_ServingStatus_Serving

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels