﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class ContinuousQuery&lt;TK, TV&gt;
   | Apache Ignite.NET </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class ContinuousQuery&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.Cache.Query.Continuous.ContinuousQuery`2">
  
  
  <h1 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2" class="text-break">Class ContinuousQuery&lt;TK, TV&gt;
  </h1>
  <div class="markdown level0 summary"><p>API for configuring continuous cache queries.
<p>
Continuous queries allow to register a remote and a listener for cache update events.
If an update event passes the filter, it will be sent to the node that executed the
query and listener will be notified on that node.
<p>
Continuous query can either be executed on the whole topology or only on local node.
<p>
In case query is distributed and a new node joins, it will get the filter for the query
during discovery process before it actually joins topology, so no updates will be missed.
<p>
To execute the query use method
<a class="xref" href="Apache.Ignite.Core.Cache.ICache-2.html#Apache_Ignite_Core_Cache_ICache_2_QueryContinuous_Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery__0__1__">QueryContinuous(ContinuousQuery&lt;TK, TV&gt;)</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.Cache.Query.Continuous.ContinuousQuery.html">ContinuousQuery</a></div>
    <div class="level2"><span class="xref">ContinuousQuery&lt;TK, TV&gt;</span></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery.html#Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_DefaultBufferSize">ContinuousQuery.DefaultBufferSize</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery.html#Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_DefaultTimeInterval">ContinuousQuery.DefaultTimeInterval</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery.html#Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_DefaultAutoUnsubscribe">ContinuousQuery.DefaultAutoUnsubscribe</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.Cache.Query.Continuous.html">Apache.Ignite.Core.Cache.Query.Continuous</a></h6>
  <h6><strong>Assembly</strong>: Apache.Ignite.Core.dll</h6>
  <h5 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class ContinuousQuery&lt;TK, TV&gt; : ContinuousQuery</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_Cache_Query_Continuous_ContinuousQuery_2__ctor_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.#ctor*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2__ctor_Apache_Ignite_Core_Cache_Event_ICacheEntryEventListener__0__1__" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.#ctor(Apache.Ignite.Core.Cache.Event.ICacheEntryEventListener{`0,`1})">ContinuousQuery(ICacheEntryEventListener&lt;TK, TV&gt;)</h4>
  <div class="markdown level1 summary"><p>Constructor.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ContinuousQuery(ICacheEntryEventListener&lt;TK, TV&gt; lsnr)</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.Cache.Event.ICacheEntryEventListener-2.html">ICacheEntryEventListener</a>&lt;TK, TV&gt;</td>
        <td><span class="parametername">lsnr</span></td>
        <td><p>Listener.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2__ctor_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.#ctor*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2__ctor_Apache_Ignite_Core_Cache_Event_ICacheEntryEventListener__0__1__Apache_Ignite_Core_Cache_Event_ICacheEntryEventFilter__0__1__" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.#ctor(Apache.Ignite.Core.Cache.Event.ICacheEntryEventListener{`0,`1},Apache.Ignite.Core.Cache.Event.ICacheEntryEventFilter{`0,`1})">ContinuousQuery(ICacheEntryEventListener&lt;TK, TV&gt;, ICacheEntryEventFilter&lt;TK, TV&gt;)</h4>
  <div class="markdown level1 summary"><p>Constructor.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ContinuousQuery(ICacheEntryEventListener&lt;TK, TV&gt; lsnr, ICacheEntryEventFilter&lt;TK, TV&gt; filter)</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.Cache.Event.ICacheEntryEventListener-2.html">ICacheEntryEventListener</a>&lt;TK, TV&gt;</td>
        <td><span class="parametername">lsnr</span></td>
        <td><p>Listener.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Event.ICacheEntryEventFilter-2.html">ICacheEntryEventFilter</a>&lt;TK, TV&gt;</td>
        <td><span class="parametername">filter</span></td>
        <td><p>Filter.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2__ctor_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.#ctor*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2__ctor_Apache_Ignite_Core_Cache_Event_ICacheEntryEventListener__0__1__Apache_Ignite_Core_Cache_Event_ICacheEntryEventFilter__0__1__System_Boolean_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.#ctor(Apache.Ignite.Core.Cache.Event.ICacheEntryEventListener{`0,`1},Apache.Ignite.Core.Cache.Event.ICacheEntryEventFilter{`0,`1},System.Boolean)">ContinuousQuery(ICacheEntryEventListener&lt;TK, TV&gt;, ICacheEntryEventFilter&lt;TK, TV&gt;, Boolean)</h4>
  <div class="markdown level1 summary"><p>Constructor.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ContinuousQuery(ICacheEntryEventListener&lt;TK, TV&gt; lsnr, ICacheEntryEventFilter&lt;TK, TV&gt; filter, bool loc)</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.Cache.Event.ICacheEntryEventListener-2.html">ICacheEntryEventListener</a>&lt;TK, TV&gt;</td>
        <td><span class="parametername">lsnr</span></td>
        <td><p>Listener.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Event.ICacheEntryEventFilter-2.html">ICacheEntryEventFilter</a>&lt;TK, TV&gt;</td>
        <td><span class="parametername">filter</span></td>
        <td><p>Filter.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">loc</span></td>
        <td><p>Whether query should be executed locally.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2__ctor_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.#ctor*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2__ctor_Apache_Ignite_Core_Cache_Event_ICacheEntryEventListener__0__1__System_Boolean_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.#ctor(Apache.Ignite.Core.Cache.Event.ICacheEntryEventListener{`0,`1},System.Boolean)">ContinuousQuery(ICacheEntryEventListener&lt;TK, TV&gt;, Boolean)</h4>
  <div class="markdown level1 summary"><p>Constructor.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ContinuousQuery(ICacheEntryEventListener&lt;TK, TV&gt; lsnr, bool loc)</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.Cache.Event.ICacheEntryEventListener-2.html">ICacheEntryEventListener</a>&lt;TK, TV&gt;</td>
        <td><span class="parametername">lsnr</span></td>
        <td><p>Listener.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">loc</span></td>
        <td><p>Whether query should be executed locally.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
  </h3>
  <a id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_AutoUnsubscribe_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.AutoUnsubscribe*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_AutoUnsubscribe" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.AutoUnsubscribe">AutoUnsubscribe</h4>
  <div class="markdown level1 summary"><p>Automatic unsubscribe flag. This flag indicates that query filters on remote nodes
should be automatically unregistered if master node (node that initiated the query)
leaves topology. If this flag is <code>false</code>, filters will be unregistered only
when the query is cancelled from master node, and won&apos;t ever be unregistered if
master node leaves grid.
<p>
Defaults to <code>true</code>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool AutoUnsubscribe { 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><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_BufferSize_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.BufferSize*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_BufferSize" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.BufferSize">BufferSize</h4>
  <div class="markdown level1 summary"><p>Buffer size. When a cache update happens, entry is first put into a buffer.
Entries from buffer will be sent to the master node only if the buffer is
full or time provided via <a class="xref" href="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery-2.html#Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_TimeInterval">TimeInterval</a> is exceeded.
<p>
Defaults to <a class="xref" href="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery.html#Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_DefaultBufferSize">DefaultBufferSize</a></p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int BufferSize { 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><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_Filter_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.Filter*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_Filter" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.Filter">Filter</h4>
  <div class="markdown level1 summary"><p>Optional cache entry filter. Invoked on a node where cache event occurred. If filter
returns <code>false</code>, then cache entry event will not be sent to a node where
continuous query has been started.
<p>
Must be either binary or serializable in case query is not local.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ICacheEntryEventFilter&lt;TK, TV&gt; Filter { 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.Cache.Event.ICacheEntryEventFilter-2.html">ICacheEntryEventFilter</a>&lt;TK, TV&gt;</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_IncludeExpired_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.IncludeExpired*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_IncludeExpired" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.IncludeExpired">IncludeExpired</h4>
  <div class="markdown level1 summary"><p>Gets or sets a value indicating whether to notify about <a class="xref" href="Apache.Ignite.Core.Cache.Event.CacheEntryEventType.html#Apache_Ignite_Core_Cache_Event_CacheEntryEventType_Expired">Expired</a> events.
<p>
If <code>true</code>, then the remote listener will get notifications about expired cache entries.
Otherwise, only <a class="xref" href="Apache.Ignite.Core.Cache.Event.CacheEntryEventType.html#Apache_Ignite_Core_Cache_Event_CacheEntryEventType_Created">Created</a>, <a class="xref" href="Apache.Ignite.Core.Cache.Event.CacheEntryEventType.html#Apache_Ignite_Core_Cache_Event_CacheEntryEventType_Updated">Updated</a>, and
<a class="xref" href="Apache.Ignite.Core.Cache.Event.CacheEntryEventType.html#Apache_Ignite_Core_Cache_Event_CacheEntryEventType_Removed">Removed</a> events will be passed to the listener.
<p>
Defaults to <code>false</code>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool IncludeExpired { 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><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_Listener_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.Listener*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_Listener" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.Listener">Listener</h4>
  <div class="markdown level1 summary"><p>Cache entry event listener. Invoked on the node where continuous query execution
has been started.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ICacheEntryEventListener&lt;TK, TV&gt; Listener { 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.Cache.Event.ICacheEntryEventListener-2.html">ICacheEntryEventListener</a>&lt;TK, TV&gt;</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_Local_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.Local*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_Local" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.Local">Local</h4>
  <div class="markdown level1 summary"><p>Local flag. When set query will be executed only on local node, so only local
entries will be returned as query result.
<p>
Defaults to <code>false</code>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool Local { 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><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_TimeInterval_" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.TimeInterval*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_TimeInterval" data-uid="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery`2.TimeInterval">TimeInterval</h4>
  <div class="markdown level1 summary"><p>Time interval. When a cache update happens, entry is first put into a buffer.
Entries from buffer will be sent to the master node only if the buffer is full
(its size can be provided via <a class="xref" href="Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery-2.html#Apache_Ignite_Core_Cache_Query_Continuous_ContinuousQuery_2_BufferSize">BufferSize</a> property) or time provided
via this method is exceeded.
<p>
Defaults to <code>0</code> which means that time check is disabled and entries will be
sent only when buffer is full.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public TimeSpan TimeInterval { 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><span class="xref">System.TimeSpan</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">
              <!-- <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>
