﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class DataStreamerClientOptions&lt;TK, TV&gt;
   | Apache Ignite.NET </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class DataStreamerClientOptions&lt;TK, TV&gt;
   | Apache Ignite.NET ">
    <meta name="generator" content="docfx 2.24.0.0">
    
    <link rel="shortcut icon" href="../images/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">
    <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="../images/logo_ignite_32_32.png" 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"></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="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions`2">
  
  
  <h1 id="Apache_Ignite_Core_Client_Datastream_DataStreamerClientOptions_2" data-uid="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions`2" class="text-break">Class DataStreamerClientOptions&lt;TK, TV&gt;
  </h1>
  <div class="markdown level0 summary"><p>Thin client data streamer extended options.
<p>
See also <a class="xref" href="Apache.Ignite.Core.Client.Datastream.IDataStreamerClient-2.html">IDataStreamerClient&lt;TK, TV&gt;</a>, <a class="xref" href="Apache.Ignite.Core.Client.IIgniteClient.html#Apache_Ignite_Core_Client_IIgniteClient_GetDataStreamer__2_System_String_">GetDataStreamer&lt;TK, TV&gt;(String)</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"><a class="xref" href="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions.html">DataStreamerClientOptions</a></div>
    <div class="level2"><span class="xref">DataStreamerClientOptions&lt;TK, TV&gt;</span></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions.html#Apache_Ignite_Core_Client_Datastream_DataStreamerClientOptions_DefaultPerNodeBufferSize">DataStreamerClientOptions.DefaultPerNodeBufferSize</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions.html#Apache_Ignite_Core_Client_Datastream_DataStreamerClientOptions_DefaultPerNodeParallelOperations">DataStreamerClientOptions.DefaultPerNodeParallelOperations</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions.html#Apache_Ignite_Core_Client_Datastream_DataStreamerClientOptions_ReceiverKeepBinary">DataStreamerClientOptions.ReceiverKeepBinary</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions.html#Apache_Ignite_Core_Client_Datastream_DataStreamerClientOptions_AllowOverwrite">DataStreamerClientOptions.AllowOverwrite</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions.html#Apache_Ignite_Core_Client_Datastream_DataStreamerClientOptions_SkipStore">DataStreamerClientOptions.SkipStore</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions.html#Apache_Ignite_Core_Client_Datastream_DataStreamerClientOptions_PerNodeBufferSize">DataStreamerClientOptions.PerNodeBufferSize</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions.html#Apache_Ignite_Core_Client_Datastream_DataStreamerClientOptions_PerNodeParallelOperations">DataStreamerClientOptions.PerNodeParallelOperations</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions.html#Apache_Ignite_Core_Client_Datastream_DataStreamerClientOptions_AutoFlushInterval">DataStreamerClientOptions.AutoFlushInterval</a>
    </div>
    <div>
      <span class="xref">System.Object.ToString()</span>
    </div>
    <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.ReferenceEquals(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>
  <h6><strong>Namespace</strong>: <a class="xref" href="Apache.Ignite.Core.Client.Datastream.html">Apache.Ignite.Core.Client.Datastream</a></h6>
  <h6><strong>Assembly</strong>: Apache.Ignite.Core.dll</h6>
  <h5 id="Apache_Ignite_Core_Client_Datastream_DataStreamerClientOptions_2_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class DataStreamerClientOptions&lt;TK, TV&gt; : DataStreamerClientOptions</code></pre>
  </div>
  <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">TK</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="parametername">TV</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="constructors">Constructors
  </h3>
  <a id="Apache_Ignite_Core_Client_Datastream_DataStreamerClientOptions_2__ctor_" data-uid="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions`2.#ctor*"></a>
  <h4 id="Apache_Ignite_Core_Client_Datastream_DataStreamerClientOptions_2__ctor" data-uid="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions`2.#ctor">DataStreamerClientOptions()</h4>
  <div class="markdown level1 summary"><p>Initializes a new instance of <a class="xref" href="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions-2.html">DataStreamerClientOptions&lt;TK, TV&gt;</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public DataStreamerClientOptions()</code></pre>
  </div>
  <a id="Apache_Ignite_Core_Client_Datastream_DataStreamerClientOptions_2__ctor_" data-uid="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions`2.#ctor*"></a>
  <h4 id="Apache_Ignite_Core_Client_Datastream_DataStreamerClientOptions_2__ctor_Apache_Ignite_Core_Client_Datastream_DataStreamerClientOptions_" data-uid="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions`2.#ctor(Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions)">DataStreamerClientOptions(DataStreamerClientOptions)</h4>
  <div class="markdown level1 summary"><p>Initializes a new instance of <a class="xref" href="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions-2.html">DataStreamerClientOptions&lt;TK, TV&gt;</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public DataStreamerClientOptions(DataStreamerClientOptions 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="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions.html">DataStreamerClientOptions</a></td>
        <td><span class="parametername">options</span></td>
        <td><p>Options to copy from.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Datastream_DataStreamerClientOptions_2__ctor_" data-uid="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions`2.#ctor*"></a>
  <h4 id="Apache_Ignite_Core_Client_Datastream_DataStreamerClientOptions_2__ctor_Apache_Ignite_Core_Client_Datastream_DataStreamerClientOptions__0__1__" data-uid="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions`2.#ctor(Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions{`0,`1})">DataStreamerClientOptions(DataStreamerClientOptions&lt;TK, TV&gt;)</h4>
  <div class="markdown level1 summary"><p>Initializes a new instance of <a class="xref" href="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions-2.html">DataStreamerClientOptions&lt;TK, TV&gt;</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public DataStreamerClientOptions(DataStreamerClientOptions&lt;TK, TV&gt; 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="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions-2.html">DataStreamerClientOptions</a>&lt;TK, TV&gt;</td>
        <td><span class="parametername">options</span></td>
        <td><p>Options to copy from.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
  </h3>
  <a id="Apache_Ignite_Core_Client_Datastream_DataStreamerClientOptions_2_Receiver_" data-uid="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions`2.Receiver*"></a>
  <h4 id="Apache_Ignite_Core_Client_Datastream_DataStreamerClientOptions_2_Receiver" data-uid="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions`2.Receiver">Receiver</h4>
  <div class="markdown level1 summary"><p>Gets or sets a custom stream receiver.
Stream receiver is invoked for every cache entry on the primary server node for that entry.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public IStreamReceiver&lt;TK, TV&gt; Receiver { get; set; }</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="Apache.Ignite.Core.Datastream.IStreamReceiver-2.html">IStreamReceiver</a>&lt;TK, TV&gt;</td>
        <td></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>
            © 2015 - 2019 The Apache Software Foundation
            
          </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>
