blob: d4f02c7b841f24f819aafbeae659e9f977a78ee5 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<META NAME="ROBOTS" CONTENT="NOINDEX">
<link rel="canonical" href="https://ignite.apache.org/releases/1.6.0/dotnetdoc/interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html" />
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>Apache Ignite.NET: Apache.Ignite.Core.Datastream.IDataStreamer&lt; TK, TV &gt; Interface Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-61232409-1', 'auto');
ga('send', 'pageview');
</script></head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="ignite_logo.png"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">Apache Ignite.NET
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html','');});
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#properties">Properties</a> &#124;
<a href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Apache.Ignite.Core.Datastream.IDataStreamer&lt; TK, TV &gt; Interface Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Data streamer is responsible for loading external data into cache. It achieves it by properly buffering updates and properly mapping keys to nodes responsible for the data to make sure that there is the least amount of data movement possible and optimal network and memory utilization.
<a href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for Apache.Ignite.Core.Datastream.IDataStreamer&lt; TK, TV &gt;:</div>
<div class="dyncontent">
<div class="center">
<img src="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.png" usemap="#Apache.Ignite.Core.Datastream.IDataStreamer&lt; TK, TV &gt;_map" alt=""/>
<map id="Apache.Ignite.Core.Datastream.IDataStreamer&lt; TK, TV &gt;_map" name="Apache.Ignite.Core.Datastream.IDataStreamer&lt; TK, TV &gt;_map">
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ab3d89e9c347879313bbded755b3ca542"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#afbbf3ce8d666256c6645653a2f4a40ce">Task</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#ab3d89e9c347879313bbded755b3ca542">AddData</a> (TK key, TV val)</td></tr>
<tr class="memdesc:ab3d89e9c347879313bbded755b3ca542"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds single key-value pair for loading. Passing <code>null</code> as value will be interpreted as removal. <a href="#ab3d89e9c347879313bbded755b3ca542">More...</a><br /></td></tr>
<tr class="separator:ab3d89e9c347879313bbded755b3ca542"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44749ff1656e1c41091642feb65d792f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#afbbf3ce8d666256c6645653a2f4a40ce">Task</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#a44749ff1656e1c41091642feb65d792f">AddData</a> (KeyValuePair&lt; TK, TV &gt; pair)</td></tr>
<tr class="memdesc:a44749ff1656e1c41091642feb65d792f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds single key-value pair for loading. Passing <code>null</code> as pair's value will be interpreted as removal. <a href="#a44749ff1656e1c41091642feb65d792f">More...</a><br /></td></tr>
<tr class="separator:a44749ff1656e1c41091642feb65d792f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e6f7a4a836114f30f70f569e543c3a5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#afbbf3ce8d666256c6645653a2f4a40ce">Task</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#a5e6f7a4a836114f30f70f569e543c3a5">AddData</a> (ICollection&lt; KeyValuePair&lt; TK, TV &gt;&gt; entries)</td></tr>
<tr class="memdesc:a5e6f7a4a836114f30f70f569e543c3a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds collection of key-value pairs for loading. <a href="#a5e6f7a4a836114f30f70f569e543c3a5">More...</a><br /></td></tr>
<tr class="separator:a5e6f7a4a836114f30f70f569e543c3a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae958c4f66d41935e7c12a7170264bb94"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#afbbf3ce8d666256c6645653a2f4a40ce">Task</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#ae958c4f66d41935e7c12a7170264bb94">RemoveData</a> (TK key)</td></tr>
<tr class="memdesc:ae958c4f66d41935e7c12a7170264bb94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds key for removal. <a href="#ae958c4f66d41935e7c12a7170264bb94">More...</a><br /></td></tr>
<tr class="separator:ae958c4f66d41935e7c12a7170264bb94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a233917f2c012376ee63437efa312586c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#a233917f2c012376ee63437efa312586c">TryFlush</a> ()</td></tr>
<tr class="memdesc:a233917f2c012376ee63437efa312586c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Makes an attempt to load remaining data. This method is mostly similar to <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#aeddceb3c74b501940bae01c9324d8543" title="Loads any remaining data, but doesn&#39;t close the streamer. Data can be still added after flush is fini...">IDataStreamer&lt;K,V&gt;.Flush()</a> with the difference that it won't wait and will exit immediately. <a href="#a233917f2c012376ee63437efa312586c">More...</a><br /></td></tr>
<tr class="separator:a233917f2c012376ee63437efa312586c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeddceb3c74b501940bae01c9324d8543"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#aeddceb3c74b501940bae01c9324d8543">Flush</a> ()</td></tr>
<tr class="memdesc:aeddceb3c74b501940bae01c9324d8543"><td class="mdescLeft">&#160;</td><td class="mdescRight">Loads any remaining data, but doesn't close the streamer. Data can be still added after flush is finished. This method blocks and doesn't allow to add any data until all data is loaded. <a href="#aeddceb3c74b501940bae01c9324d8543">More...</a><br /></td></tr>
<tr class="separator:aeddceb3c74b501940bae01c9324d8543"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa91994b06ca672cf7b5bbac9ee280f8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#aaa91994b06ca672cf7b5bbac9ee280f8">Close</a> (bool cancel)</td></tr>
<tr class="memdesc:aaa91994b06ca672cf7b5bbac9ee280f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes this streamer optionally loading any remaining data. <a href="#aaa91994b06ca672cf7b5bbac9ee280f8">More...</a><br /></td></tr>
<tr class="separator:aaa91994b06ca672cf7b5bbac9ee280f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5721416309069ce11783e2b050b5fe37"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html">IDataStreamer</a>&lt; TK1, TV1 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#a5721416309069ce11783e2b050b5fe37">WithKeepBinary&lt; TK1, TV1 &gt;</a> ()</td></tr>
<tr class="memdesc:a5721416309069ce11783e2b050b5fe37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets streamer instance with binary mode enabled, changing key and/or value types if necessary. In binary mode stream receiver gets data in binary format. You can only change key/value types when transitioning from non-binary to binary streamer; Changing type of binary streamer is not allowed and will throw an InvalidOperationException <a href="#a5721416309069ce11783e2b050b5fe37">More...</a><br /></td></tr>
<tr class="separator:a5721416309069ce11783e2b050b5fe37"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:ae1e95db869ab2018e054f691eb245430"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#ae1e95db869ab2018e054f691eb245430">CacheName</a><code> [get]</code></td></tr>
<tr class="memdesc:ae1e95db869ab2018e054f691eb245430"><td class="mdescLeft">&#160;</td><td class="mdescRight">Name of the cache to load data to. <a href="#ae1e95db869ab2018e054f691eb245430">More...</a><br /></td></tr>
<tr class="separator:ae1e95db869ab2018e054f691eb245430"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5db64e5d0fb4594f82ae9de304ce993a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#a5db64e5d0fb4594f82ae9de304ce993a">AllowOverwrite</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a5db64e5d0fb4594f82ae9de304ce993a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag value indicating that this data streamer assumes that there could be concurrent updates to the cache. <a href="#a5db64e5d0fb4594f82ae9de304ce993a">More...</a><br /></td></tr>
<tr class="separator:a5db64e5d0fb4594f82ae9de304ce993a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64961331645b138363379d9e32fb7e8b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#a64961331645b138363379d9e32fb7e8b">SkipStore</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a64961331645b138363379d9e32fb7e8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag indicating that write-through behavior should be disabled for data loading. <a href="#a64961331645b138363379d9e32fb7e8b">More...</a><br /></td></tr>
<tr class="separator:a64961331645b138363379d9e32fb7e8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acdaa6b292d58f5985c66e5f10b720414"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#acdaa6b292d58f5985c66e5f10b720414">PerNodeBufferSize</a><code> [get, set]</code></td></tr>
<tr class="memdesc:acdaa6b292d58f5985c66e5f10b720414"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of per node key-value pairs buffer. <a href="#acdaa6b292d58f5985c66e5f10b720414">More...</a><br /></td></tr>
<tr class="separator:acdaa6b292d58f5985c66e5f10b720414"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52fd5af295e4c289af8fb6cf665428c9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#a52fd5af295e4c289af8fb6cf665428c9">PerNodeParallelOperations</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a52fd5af295e4c289af8fb6cf665428c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum number of parallel load operations for a single node. <a href="#a52fd5af295e4c289af8fb6cf665428c9">More...</a><br /></td></tr>
<tr class="separator:a52fd5af295e4c289af8fb6cf665428c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d54f0026430c37f31c75fb5caf49adf"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#a1d54f0026430c37f31c75fb5caf49adf">AutoFlushFrequency</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a1d54f0026430c37f31c75fb5caf49adf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Automatic flush frequency in milliseconds. Essentially, this is the time after which the streamer will make an attempt to submit all data added so far to remote nodes. Note that there is no guarantee that data will be delivered after this concrete attempt (e.g., it can fail when topology is changing), but it won't be lost anyway. <a href="#a1d54f0026430c37f31c75fb5caf49adf">More...</a><br /></td></tr>
<tr class="separator:a1d54f0026430c37f31c75fb5caf49adf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbbf3ce8d666256c6645653a2f4a40ce"><td class="memItemLeft" align="right" valign="top">Task&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#afbbf3ce8d666256c6645653a2f4a40ce">Task</a><code> [get]</code></td></tr>
<tr class="memdesc:afbbf3ce8d666256c6645653a2f4a40ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the task for this loading process. This task completes whenever method <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#aaa91994b06ca672cf7b5bbac9ee280f8" title="Closes this streamer optionally loading any remaining data. ">IDataStreamer&lt;K,V&gt;.Close(bool)</a> completes. <a href="#afbbf3ce8d666256c6645653a2f4a40ce">More...</a><br /></td></tr>
<tr class="separator:afbbf3ce8d666256c6645653a2f4a40ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacd1f9298b1809c4e8e703c2b721aefc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_stream_receiver.html">IStreamReceiver</a>&lt; TK, TV &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#aacd1f9298b1809c4e8e703c2b721aefc">Receiver</a><code> [get, set]</code></td></tr>
<tr class="memdesc:aacd1f9298b1809c4e8e703c2b721aefc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets or sets custom stream receiver. <a href="#aacd1f9298b1809c4e8e703c2b721aefc">More...</a><br /></td></tr>
<tr class="separator:aacd1f9298b1809c4e8e703c2b721aefc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Note that streamer will load data concurrently by multiple internal threads, so the data may get to remote nodes in different order from which it was added to the streamer. </p>
<p>Also note that <code>IDataStreamer</code> is not the only way to load data into cache. Alternatively you can use ICacheStore.LoadCache(Action&lt;object, object&gt;, object[]) method to load data from underlying data store. You can also use standard cache <code>put</code> and <code>putAll</code> operations as well, but they most likely will not perform as well as this class for loading data. And finally, data can be loaded from underlying data store on demand, whenever it is accessed - for this no explicit data loading step is needed. </p>
<p><code>IDataStreamer</code> supports the following configuration properties: </p><ul>
<li>
PerNodeBufferSize When entries are added to data streamer they are not sent to Ignite right away and are buffered internally for better performance and network utilization. This setting controls the size of internal per-node buffer before buffered data is sent to remote node. Default value is 1024. </li>
<li>
PerNodeParallelOperations Sometimes data may be added to the data streamer faster than it can be put in cache. In this case, new buffered load messages are sent to remote nodes before responses from previous ones are received. This could cause unlimited heap memory utilization growth on local and remote nodes. To control memory utilization, this setting limits maximum allowed number of parallel buffered load messages that are being processed on remote nodes. If this number is exceeded, then data streamer add/remove methods will block to control memory utilization. Default value is 16. </li>
<li>
AutoFlushFrequency Automatic flush frequency in milliseconds. Essentially, this is the time after which the streamer will make an attempt to submit all data added so far to remote nodes. Note that there is no guarantee that data will be delivered after this concrete attempt (e.g., it can fail when topology is changing), but it won't be lost anyway. Disabled by default (default value is <code>0</code>). </li>
<li>
Isolated Defines if data streamer will assume that there are no other concurrent updates and allow data streamer choose most optimal concurrent implementation. Default value is <code>false</code>. </li>
</ul>
<p>All members are thread-safe and may be used concurrently from multiple threads. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ab3d89e9c347879313bbded755b3ca542"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#afbbf3ce8d666256c6645653a2f4a40ce">Task</a> <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html">Apache.Ignite.Core.Datastream.IDataStreamer</a>&lt; TK, TV &gt;.AddData </td>
<td>(</td>
<td class="paramtype">TK&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">TV&#160;</td>
<td class="paramname"><em>val</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">key</td><td>Key.</td></tr>
<tr><td class="paramname">val</td><td>Value.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Task for this operation.</dd></dl>
</div>
</div>
<a class="anchor" id="a44749ff1656e1c41091642feb65d792f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#afbbf3ce8d666256c6645653a2f4a40ce">Task</a> <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html">Apache.Ignite.Core.Datastream.IDataStreamer</a>&lt; TK, TV &gt;.AddData </td>
<td>(</td>
<td class="paramtype">KeyValuePair&lt; TK, TV &gt;&#160;</td>
<td class="paramname"><em>pair</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pair</td><td>Key-value pair.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Task for this operation.</dd></dl>
</div>
</div>
<a class="anchor" id="a5e6f7a4a836114f30f70f569e543c3a5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#afbbf3ce8d666256c6645653a2f4a40ce">Task</a> <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html">Apache.Ignite.Core.Datastream.IDataStreamer</a>&lt; TK, TV &gt;.AddData </td>
<td>(</td>
<td class="paramtype">ICollection&lt; KeyValuePair&lt; TK, TV &gt;&gt;&#160;</td>
<td class="paramname"><em>entries</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">entries</td><td>Entries.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Task for this operation.</dd></dl>
</div>
</div>
<a class="anchor" id="aaa91994b06ca672cf7b5bbac9ee280f8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html">Apache.Ignite.Core.Datastream.IDataStreamer</a>&lt; TK, TV &gt;.Close </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>cancel</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cancel</td><td>Whether to cancel ongoing loading operations. When set to <code>true</code> there is not guarantees what data will be actually loaded to cache.</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="aeddceb3c74b501940bae01c9324d8543"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html">Apache.Ignite.Core.Datastream.IDataStreamer</a>&lt; TK, TV &gt;.Flush </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ae958c4f66d41935e7c12a7170264bb94"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html#afbbf3ce8d666256c6645653a2f4a40ce">Task</a> <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html">Apache.Ignite.Core.Datastream.IDataStreamer</a>&lt; TK, TV &gt;.RemoveData </td>
<td>(</td>
<td class="paramtype">TK&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">key</td><td>Key.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Task for this operation.</dd></dl>
</div>
</div>
<a class="anchor" id="a233917f2c012376ee63437efa312586c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html">Apache.Ignite.Core.Datastream.IDataStreamer</a>&lt; TK, TV &gt;.TryFlush </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a5721416309069ce11783e2b050b5fe37"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html">IDataStreamer</a>&lt;TK1, TV1&gt; <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html">Apache.Ignite.Core.Datastream.IDataStreamer</a>&lt; TK, TV &gt;.WithKeepBinary&lt; TK1, TV1 &gt; </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">TK1</td><td>Key type in binary mode.</td></tr>
<tr><td class="paramname">TV1</td><td>Value type in binary mode.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Streamer instance with binary mode enabled.</dd></dl>
</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a class="anchor" id="a5db64e5d0fb4594f82ae9de304ce993a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html">Apache.Ignite.Core.Datastream.IDataStreamer</a>&lt; TK, TV &gt;.AllowOverwrite</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Default is <code>false</code>. </p>
</div>
</div>
<a class="anchor" id="a1d54f0026430c37f31c75fb5caf49adf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">long <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html">Apache.Ignite.Core.Datastream.IDataStreamer</a>&lt; TK, TV &gt;.AutoFlushFrequency</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>If set to <code>0</code>, automatic flush is disabled. </p>
<p>Default is <code>0</code> (disabled). </p>
</div>
</div>
<a class="anchor" id="ae1e95db869ab2018e054f691eb245430"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">string <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html">Apache.Ignite.Core.Datastream.IDataStreamer</a>&lt; TK, TV &gt;.CacheName</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="acdaa6b292d58f5985c66e5f10b720414"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html">Apache.Ignite.Core.Datastream.IDataStreamer</a>&lt; TK, TV &gt;.PerNodeBufferSize</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Setter must be called before any add/remove operation. </p>
<p>Default is <code>1024</code>. </p>
</div>
</div>
<a class="anchor" id="a52fd5af295e4c289af8fb6cf665428c9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html">Apache.Ignite.Core.Datastream.IDataStreamer</a>&lt; TK, TV &gt;.PerNodeParallelOperations</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Setter must be called before any add/remove operation. </p>
<p>Default is <code>16</code>. </p>
</div>
</div>
<a class="anchor" id="aacd1f9298b1809c4e8e703c2b721aefc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_stream_receiver.html">IStreamReceiver</a>&lt;TK, TV&gt; <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html">Apache.Ignite.Core.Datastream.IDataStreamer</a>&lt; TK, TV &gt;.Receiver</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a64961331645b138363379d9e32fb7e8b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html">Apache.Ignite.Core.Datastream.IDataStreamer</a>&lt; TK, TV &gt;.SkipStore</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Default is <code>false</code>. </p>
</div>
</div>
<a class="anchor" id="afbbf3ce8d666256c6645653a2f4a40ce"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Task <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html">Apache.Ignite.Core.Datastream.IDataStreamer</a>&lt; TK, TV &gt;.Task</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespace_apache.html">Apache</a></li><li class="navelem"><a class="el" href="namespace_apache_1_1_ignite.html">Ignite</a></li><li class="navelem"><a class="el" href="namespace_apache_1_1_ignite_1_1_core.html">Core</a></li><li class="navelem"><a class="el" href="namespace_apache_1_1_ignite_1_1_core_1_1_datastream.html">Datastream</a></li><li class="navelem"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_i_data_streamer.html">IDataStreamer</a></li>
<li class="footer">Generated on Wed May 18 2016 16:44:13 for Apache Ignite.NET by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.9.1 </li>
</ul>
</div>
</body>
</html>