blob: d8cf6668dd2cadca70136339bf20aab795f4e138 [file] [log] [blame]
<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Interface IDataStreamerClient&lt;TK, TV&gt;
| Apache Ignite.NET </title>
<meta name="viewport" content="width=device-width">
<meta name="title" content="Interface IDataStreamerClient&lt;TK, TV&gt;
| Apache Ignite.NET ">
<meta name="generator" content="docfx 2.58.4.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" 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="../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">Search Results for <span></span></div>
<div class="sr-items">
<p><i class="glyphicon glyphicon-refresh index-loading"></i></p>
</div>
<ul id="pagination" data-first="First" data-prev="Previous" data-next="Next" data-last="Last"></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.IDataStreamerClient`2">
<h1 id="Apache_Ignite_Core_Client_Datastream_IDataStreamerClient_2" data-uid="Apache.Ignite.Core.Client.Datastream.IDataStreamerClient`2" class="text-break">Interface IDataStreamerClient&lt;TK, TV&gt;
</h1>
<div class="markdown level0 summary"><p>Thin client data streamer.
<p>
Data streamer is an efficient and fault-tolerant way to load data into cache. Updates are buffered and mapped
to primary nodes to ensure minimal data movement and optimal resource utilization.
Update failures caused by cluster topology changes are retried automatically.
<p>
Note that streamer send data to remote nodes asynchronously, so cache updates can be reordered.
<p>
Instances of the implementing class are thread-safe: data can be added from multiple threads.
<p>
Closing and disposing: <see cref="!:IDisposable.Dispose"></see> method calls <a class="xref" href="Apache.Ignite.Core.Client.Datastream.IDataStreamerClient-2.html#Apache_Ignite_Core_Client_Datastream_IDataStreamerClient_2_Close_System_Boolean_">Close(Boolean)</a><code>(false)</code>.
This will flush any remaining data to the cache synchronously.
To avoid blocking threads when exiting <code>using()</code> block, use <a class="xref" href="Apache.Ignite.Core.Client.Datastream.IDataStreamerClient-2.html#Apache_Ignite_Core_Client_Datastream_IDataStreamerClient_2_CloseAsync_System_Boolean_">CloseAsync(Boolean)</a>.</p>
</div>
<div class="markdown level0 conceptual"></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_IDataStreamerClient_2_syntax">Syntax</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public interface IDataStreamerClient&lt;TK, TV&gt; : IDisposable</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="properties">Properties
</h3>
<a id="Apache_Ignite_Core_Client_Datastream_IDataStreamerClient_2_CacheName_" data-uid="Apache.Ignite.Core.Client.Datastream.IDataStreamerClient`2.CacheName*"></a>
<h4 id="Apache_Ignite_Core_Client_Datastream_IDataStreamerClient_2_CacheName" data-uid="Apache.Ignite.Core.Client.Datastream.IDataStreamerClient`2.CacheName">CacheName</h4>
<div class="markdown level1 summary"><p>Gets the cache name.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">string CacheName { 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.String</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Client_Datastream_IDataStreamerClient_2_IsClosed_" data-uid="Apache.Ignite.Core.Client.Datastream.IDataStreamerClient`2.IsClosed*"></a>
<h4 id="Apache_Ignite_Core_Client_Datastream_IDataStreamerClient_2_IsClosed" data-uid="Apache.Ignite.Core.Client.Datastream.IDataStreamerClient`2.IsClosed">IsClosed</h4>
<div class="markdown level1 summary"><p>Gets a value indicating whether this streamer is closed.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">bool IsClosed { 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.Boolean</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Client_Datastream_IDataStreamerClient_2_Options_" data-uid="Apache.Ignite.Core.Client.Datastream.IDataStreamerClient`2.Options*"></a>
<h4 id="Apache_Ignite_Core_Client_Datastream_IDataStreamerClient_2_Options" data-uid="Apache.Ignite.Core.Client.Datastream.IDataStreamerClient`2.Options">Options</h4>
<div class="markdown level1 summary"><p>Gets the options.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">DataStreamerClientOptions&lt;TK, TV&gt; Options { 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="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions-2.html">DataStreamerClientOptions</a>&lt;TK, TV&gt;</td>
<td></td>
</tr>
</tbody>
</table>
<h3 id="methods">Methods
</h3>
<a id="Apache_Ignite_Core_Client_Datastream_IDataStreamerClient_2_Add_" data-uid="Apache.Ignite.Core.Client.Datastream.IDataStreamerClient`2.Add*"></a>
<h4 id="Apache_Ignite_Core_Client_Datastream_IDataStreamerClient_2_Add__0__1_" data-uid="Apache.Ignite.Core.Client.Datastream.IDataStreamerClient`2.Add(`0,`1)">Add(TK, TV)</h4>
<div class="markdown level1 summary"><p>Adds an entry to the streamer.
<p>
This method adds an entry to the buffer. When the buffer gets full, it is scheduled for
asynchronous background flush. This method will block when the number of active flush operations
exceeds <a class="xref" href="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions.html#Apache_Ignite_Core_Client_Datastream_DataStreamerClientOptions_PerNodeParallelOperations">PerNodeParallelOperations</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">void Add(TK key, TV val)</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">TK</span></td>
<td><span class="parametername">key</span></td>
<td><p>Key.</p>
</td>
</tr>
<tr>
<td><span class="xref">TV</span></td>
<td><span class="parametername">val</span></td>
<td><p>Value. When null, cache entry will be removed.</p>
</td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Client_Datastream_IDataStreamerClient_2_Close_" data-uid="Apache.Ignite.Core.Client.Datastream.IDataStreamerClient`2.Close*"></a>
<h4 id="Apache_Ignite_Core_Client_Datastream_IDataStreamerClient_2_Close_System_Boolean_" data-uid="Apache.Ignite.Core.Client.Datastream.IDataStreamerClient`2.Close(System.Boolean)">Close(Boolean)</h4>
<div class="markdown level1 summary"><p>Closes this streamer, optionally loading any remaining data into the cache.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">void Close(bool cancel)</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.Boolean</span></td>
<td><span class="parametername">cancel</span></td>
<td><p>Whether to cancel ongoing loading operations. When set to <code>true</code>,
there is no guarantee which part of remaining data will be actually loaded into the cache.</p>
</td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Client_Datastream_IDataStreamerClient_2_CloseAsync_" data-uid="Apache.Ignite.Core.Client.Datastream.IDataStreamerClient`2.CloseAsync*"></a>
<h4 id="Apache_Ignite_Core_Client_Datastream_IDataStreamerClient_2_CloseAsync_System_Boolean_" data-uid="Apache.Ignite.Core.Client.Datastream.IDataStreamerClient`2.CloseAsync(System.Boolean)">CloseAsync(Boolean)</h4>
<div class="markdown level1 summary"><p>Closes this streamer, optionally loading any remaining data into the cache.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">Task CloseAsync(bool cancel)</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.Boolean</span></td>
<td><span class="parametername">cancel</span></td>
<td><p>Whether to cancel ongoing loading operations. When set to <code>true</code>,
there is no guarantee which part of remaining data will be actually loaded into the cache.</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">Task</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Client_Datastream_IDataStreamerClient_2_Flush_" data-uid="Apache.Ignite.Core.Client.Datastream.IDataStreamerClient`2.Flush*"></a>
<h4 id="Apache_Ignite_Core_Client_Datastream_IDataStreamerClient_2_Flush" data-uid="Apache.Ignite.Core.Client.Datastream.IDataStreamerClient`2.Flush">Flush()</h4>
<div class="markdown level1 summary"><p>Flushes all buffered entries.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">void Flush()</code></pre>
</div>
<a id="Apache_Ignite_Core_Client_Datastream_IDataStreamerClient_2_FlushAsync_" data-uid="Apache.Ignite.Core.Client.Datastream.IDataStreamerClient`2.FlushAsync*"></a>
<h4 id="Apache_Ignite_Core_Client_Datastream_IDataStreamerClient_2_FlushAsync" data-uid="Apache.Ignite.Core.Client.Datastream.IDataStreamerClient`2.FlushAsync">FlushAsync()</h4>
<div class="markdown level1 summary"><p>Flushes all buffered entries asynchronously.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">Task FlushAsync()</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">Task</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Client_Datastream_IDataStreamerClient_2_Remove_" data-uid="Apache.Ignite.Core.Client.Datastream.IDataStreamerClient`2.Remove*"></a>
<h4 id="Apache_Ignite_Core_Client_Datastream_IDataStreamerClient_2_Remove__0_" data-uid="Apache.Ignite.Core.Client.Datastream.IDataStreamerClient`2.Remove(`0)">Remove(TK)</h4>
<div class="markdown level1 summary"><p>Adds a removal entry to the streamer. Cache entry with the specified key will be removed.
<p>
Removal requires <a class="xref" href="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions.html#Apache_Ignite_Core_Client_Datastream_DataStreamerClientOptions_AllowOverwrite">AllowOverwrite</a> to be <code>true</code>.
<p>
This method adds an entry to the buffer. When the buffer gets full, it is scheduled for
asynchronous background flush. This method will block when the number of active flush operations
exceeds <a class="xref" href="Apache.Ignite.Core.Client.Datastream.DataStreamerClientOptions.html#Apache_Ignite_Core_Client_Datastream_DataStreamerClientOptions_PerNodeParallelOperations">PerNodeParallelOperations</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">void Remove(TK key)</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">TK</span></td>
<td><span class="parametername">key</span></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">
<h5>In This Article</h5>
<div></div>
</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>